@internetarchive/bookreader 5.0.0-6-14 → 5.0.0-60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (271) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +72 -10
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +241 -140
  6. package/BookReader/BookReader.js +1 -1
  7. package/BookReader/BookReader.js.LICENSE.txt +24 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1519 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +17 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/close-circle-dark.svg +1 -0
  13. package/BookReader/icons/magnify-minus.svg +1 -1
  14. package/BookReader/icons/magnify-plus.svg +1 -1
  15. package/BookReader/icons/pause.svg +1 -1
  16. package/BookReader/icons/playback-speed.svg +1 -1
  17. package/BookReader/icons/read-aloud.svg +1 -1
  18. package/BookReader/icons/voice.svg +1 -0
  19. package/BookReader/images/BRicons.svg +2 -2
  20. package/BookReader/images/books_graphic.svg +1 -1
  21. package/BookReader/images/icon_book.svg +1 -1
  22. package/BookReader/images/icon_gear.svg +1 -1
  23. package/BookReader/images/icon_info.svg +1 -1
  24. package/BookReader/images/icon_playback-rate.svg +1 -1
  25. package/BookReader/images/icon_search_button.svg +1 -1
  26. package/BookReader/images/icon_share.svg +1 -1
  27. package/BookReader/images/icon_speaker.svg +1 -1
  28. package/BookReader/images/icon_speaker_open.svg +1 -1
  29. package/BookReader/images/marker_chap-off.svg +1 -1
  30. package/BookReader/images/marker_chap-on.svg +1 -1
  31. package/BookReader/images/marker_srch-on.svg +1 -1
  32. package/BookReader/jquery-3.js +2 -0
  33. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  34. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  35. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  36. package/BookReader/plugins/plugin.autoplay.js +1 -1
  37. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  38. package/BookReader/plugins/plugin.chapters.js +1 -1
  39. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  40. package/BookReader/plugins/plugin.iframe.js +1 -1
  41. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  42. package/BookReader/plugins/plugin.mobile_nav.js +1 -1
  43. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  44. package/BookReader/plugins/plugin.resume.js +1 -1
  45. package/BookReader/plugins/plugin.resume.js.map +1 -1
  46. package/BookReader/plugins/plugin.search.js +1 -1
  47. package/BookReader/plugins/plugin.search.js.map +1 -1
  48. package/BookReader/plugins/plugin.text_selection.js +1 -1
  49. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  50. package/BookReader/plugins/plugin.tts.js +1 -1
  51. package/BookReader/plugins/plugin.tts.js.map +1 -1
  52. package/BookReader/plugins/plugin.url.js +1 -1
  53. package/BookReader/plugins/plugin.url.js.map +1 -1
  54. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  55. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  56. package/BookReader/webcomponents-bundle.js +3 -0
  57. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  58. package/BookReader/webcomponents-bundle.js.map +1 -0
  59. package/BookReaderDemo/BookReaderDemo.css +14 -1
  60. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  61. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  62. package/BookReaderDemo/IADemoBr.js +147 -0
  63. package/BookReaderDemo/demo-advanced.html +2 -2
  64. package/BookReaderDemo/demo-autoplay.html +2 -1
  65. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  66. package/BookReaderDemo/demo-fullscreen-mobile.html +2 -1
  67. package/BookReaderDemo/demo-fullscreen.html +2 -1
  68. package/BookReaderDemo/demo-iiif.html +2 -1
  69. package/BookReaderDemo/demo-internetarchive.html +84 -17
  70. package/BookReaderDemo/demo-multiple.html +2 -1
  71. package/BookReaderDemo/demo-preview-pages.html +2 -1
  72. package/BookReaderDemo/demo-simple.html +2 -1
  73. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -1
  74. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  75. package/BookReaderDemo/immersion-1up.html +2 -1
  76. package/BookReaderDemo/immersion-mode.html +2 -1
  77. package/BookReaderDemo/toggle_controls.html +2 -1
  78. package/BookReaderDemo/view_mode.html +2 -1
  79. package/BookReaderDemo/viewmode-cycle.html +2 -3
  80. package/CHANGELOG.md +244 -0
  81. package/README.md +14 -1
  82. package/babel.config.js +19 -0
  83. package/codecov.yml +6 -0
  84. package/index.html +3 -0
  85. package/jsconfig.json +19 -0
  86. package/netlify.toml +5 -0
  87. package/package.json +70 -59
  88. package/renovate.json +52 -0
  89. package/scripts/preversion.js +4 -1
  90. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  91. package/src/BookNavigator/assets/button-base.js +9 -2
  92. package/src/BookNavigator/assets/ia-logo.js +17 -0
  93. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  94. package/src/BookNavigator/assets/icon_close.js +1 -1
  95. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  96. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  97. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  98. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  99. package/src/BookNavigator/book-navigator.js +585 -0
  100. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  101. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  102. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  103. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  104. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  105. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  106. package/src/BookNavigator/delete-modal-actions.js +1 -1
  107. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  108. package/src/BookNavigator/downloads/downloads.js +41 -25
  109. package/src/BookNavigator/search/search-provider.js +80 -28
  110. package/src/BookNavigator/search/search-results.js +34 -25
  111. package/src/BookNavigator/sharing.js +27 -0
  112. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  113. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  114. package/src/BookNavigator/volumes/volumes-provider.js +111 -0
  115. package/src/BookNavigator/volumes/volumes.js +188 -0
  116. package/src/BookReader/BookModel.js +59 -30
  117. package/src/BookReader/DebugConsole.js +3 -3
  118. package/src/BookReader/DragScrollable.js +233 -0
  119. package/src/BookReader/Mode1Up.js +56 -351
  120. package/src/BookReader/Mode1UpLit.js +391 -0
  121. package/src/BookReader/Mode2Up.js +73 -1318
  122. package/src/BookReader/Mode2UpLit.js +781 -0
  123. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  124. package/src/BookReader/ModeSmoothZoom.js +211 -0
  125. package/src/BookReader/ModeThumb.js +17 -11
  126. package/src/BookReader/Navbar/Navbar.js +10 -36
  127. package/src/BookReader/PageContainer.js +69 -6
  128. package/src/BookReader/ReduceSet.js +1 -1
  129. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  130. package/src/BookReader/events.js +2 -0
  131. package/src/BookReader/options.js +24 -2
  132. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  133. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  134. package/src/BookReader/utils.js +108 -13
  135. package/src/BookReader.js +481 -828
  136. package/src/assets/icons/close-circle-dark.svg +1 -0
  137. package/src/assets/icons/magnify-minus.svg +3 -7
  138. package/src/assets/icons/magnify-plus.svg +3 -7
  139. package/src/assets/icons/voice.svg +1 -0
  140. package/src/css/_BRBookmarks.scss +1 -1
  141. package/src/css/_BRComponent.scss +1 -1
  142. package/src/css/_BRmain.scss +33 -0
  143. package/src/css/_BRnav.scss +4 -26
  144. package/src/css/_BRpages.scss +147 -40
  145. package/src/css/_BRsearch.scss +25 -11
  146. package/src/css/_TextSelection.scss +16 -17
  147. package/src/css/_colorbox.scss +2 -2
  148. package/src/css/_controls.scss +17 -5
  149. package/src/css/_icons.scss +7 -1
  150. package/src/ia-bookreader/ia-bookreader.js +224 -0
  151. package/src/plugins/plugin.archive_analytics.js +3 -3
  152. package/src/plugins/plugin.autoplay.js +4 -9
  153. package/src/plugins/plugin.chapters.js +28 -35
  154. package/src/plugins/plugin.mobile_nav.js +11 -10
  155. package/src/plugins/plugin.resume.js +3 -3
  156. package/src/plugins/plugin.text_selection.js +32 -41
  157. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  158. package/src/plugins/search/plugin.search.js +179 -103
  159. package/src/plugins/search/view.js +59 -44
  160. package/src/plugins/tts/AbstractTTSEngine.js +46 -37
  161. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  162. package/src/plugins/tts/PageChunk.js +15 -21
  163. package/src/plugins/tts/PageChunkIterator.js +8 -12
  164. package/src/plugins/tts/WebTTSEngine.js +87 -71
  165. package/src/plugins/tts/plugin.tts.js +94 -125
  166. package/src/plugins/tts/utils.js +0 -25
  167. package/src/plugins/url/UrlPlugin.js +193 -0
  168. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  169. package/src/util/docCookies.js +21 -2
  170. package/tests/e2e/README.md +37 -0
  171. package/tests/e2e/autoplay.test.js +2 -2
  172. package/tests/e2e/base.test.js +7 -7
  173. package/tests/e2e/helpers/base.js +28 -23
  174. package/tests/e2e/helpers/debug.js +1 -1
  175. package/tests/e2e/helpers/desktopSearch.js +14 -13
  176. package/tests/e2e/helpers/mobileSearch.js +3 -3
  177. package/tests/e2e/helpers/params.js +17 -0
  178. package/tests/e2e/helpers/rightToLeft.js +4 -10
  179. package/tests/e2e/models/Navigation.js +13 -4
  180. package/tests/e2e/rightToLeft.test.js +4 -5
  181. package/tests/e2e/viewmode.test.js +40 -33
  182. package/tests/jest/BookNavigator/book-navigator.test.js +658 -0
  183. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  184. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  185. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  186. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  187. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  188. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  189. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  190. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +104 -60
  191. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  192. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  193. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  194. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  195. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +59 -14
  196. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  197. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  198. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  199. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  200. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  201. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  202. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  203. package/tests/jest/BookReader/ModeSmoothZoom.test.js +175 -0
  204. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  205. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  206. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  207. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  208. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  209. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  210. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  211. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  212. package/tests/jest/BookReader/utils.test.js +217 -0
  213. package/tests/jest/BookReader.keyboard.test.js +190 -0
  214. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  215. package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
  216. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  217. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  218. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +10 -11
  219. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  220. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  221. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  222. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
  223. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  224. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +57 -47
  225. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +35 -6
  226. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +9 -9
  227. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  228. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  229. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  230. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  231. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  232. package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
  233. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  234. package/tests/jest/setup.js +3 -0
  235. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  236. package/tests/jest/util/docCookies.test.js +24 -0
  237. package/tests/{util → jest/util}/strings.test.js +1 -1
  238. package/tests/{utils.js → jest/utils.js} +38 -0
  239. package/webpack.config.js +11 -5
  240. package/.babelrc +0 -12
  241. package/.dependabot/config.yml +0 -6
  242. package/.testcaferc.json +0 -5
  243. package/BookReader/bookreader-component-bundle.js +0 -1450
  244. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  245. package/BookReader/bookreader-component-bundle.js.map +0 -1
  246. package/BookReader/jquery-1.10.1.js +0 -2
  247. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  248. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  249. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  250. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  251. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  252. package/karma.conf.js +0 -23
  253. package/src/BookNavigator/BookModel.js +0 -14
  254. package/src/BookNavigator/BookNavigator.js +0 -438
  255. package/src/BookNavigator/assets/book-loader.js +0 -27
  256. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  257. package/src/BookNavigator/search/a-search-result.js +0 -55
  258. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  259. package/src/ItemNavigator/ItemNavigator.js +0 -372
  260. package/src/ItemNavigator/providers/sharing.js +0 -29
  261. package/src/dragscrollable-br.js +0 -261
  262. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  263. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  264. package/tests/BookReader/Mode1Up.test.js +0 -164
  265. package/tests/BookReader/Mode2Up.test.js +0 -247
  266. package/tests/BookReader/utils.test.js +0 -109
  267. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  268. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  269. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  270. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  271. package/tests/util/docCookies.test.js +0 -15
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[111],{2878:function(e,n,t){"use strict";t(9826),t(2222),t(7327);var s,a=t(5685),i=(t(866),t(2026),t(3609)),o=t(3609),r=[{filter:"grayscale(100%)",label:"Grayscale"},{filter:"brightness(120%)",label:"High brightness"},{filter:"invert(100%)",label:"Inverted (dark mode)"},{filter:"contrast(120%)",label:"High contrast"}];i.extend(BookReader.defaultOptions,{enableMobileNav:!0,mobileNavTitle:"Internet Archive",mobileNavFullscreenOnly:!1}),BookReader.prototype.setup=(s=BookReader.prototype.setup,function(e){s.call(this,e),this.enableMobileNav=e.enableMobileNav,this.mobileNavTitle=e.mobileNavTitle,this.mobileNavFullscreenOnly=e.mobileNavFullscreenOnly,this.refs.$mmenu=null}),BookReader.prototype.initToolbar=function(e){return function(n,t){var s,i=this;if(this.enableMobileNav){var r=this.buildMobileDrawerElement();this.refs.$br.append(r),this.buildInfoDiv(this.$(".BRmobileInfo")),this.buildShareDiv(this.$(".BRmobileShare")),(s=r).mmenu({navbars:[{position:"top"}],navbar:{add:!0,title:this.mobileNavTitle,titleLink:"panel"},extensions:["panelshadow"]},{offCanvas:{wrapPageIfNeeded:!1,zposition:"next",pageSelector:this.el}});var c=s.find(".BRpageviewValue");s.data("mmenu").bind("opened",(function(){c.length&&c.val(window.location.href)})),r.find(".BRcheckbox-filters").click((function(){return l(r,i)})),r.find(".DrawerLayoutButton.one_page_mode").click((function(){return i.switchMode(i.constMode1up)})),r.find(".DrawerLayoutButton.two_page_mode").click((function(){return i.switchMode(i.constMode2up)})),r.find(".DrawerLayoutButton.thumbnail_mode").click((function(){return i.switchMode(i.constModeThumb)})),this.mobileNavFullscreenOnly?o(document.body).addClass("BRbodyMobileNavEnabledFullscreen"):o(document.body).addClass("BRbodyMobileNavEnabled"),this.refs.$mmenu=s}if(e.apply(this,arguments),this.enableMobileNav){this.$(".BRmobileHamburger").click((function(){s.data("mmenu").getInstance().vars.opened?s.data("mmenu").close():(s.data("mmenu").open(),i.trigger("mobileNavOpen"))}));var d=function(e){var n=o(window).width();s.data("mmenu").getInstance().vars.opened&&n>=800&&s.data("mmenu").close()};window.addEventListener("resize",a.debounce(d,900))}}}(BookReader.prototype.initToolbar),BookReader.prototype.buildToolbarElement=function(e){return function(){var n=e.call(this);if(this.enableMobileNav){var t=BookReader.util.escapeHTML(this.bookTitle),s='\n <span class="BRmobileHamburgerWrapper">\n <button class="BRmobileHamburger"></button>\n <span class="BRtoolbarMobileTitle" title="'.concat(t,'">').concat(t,"</span>\n </span>\n ");n.addClass("responsive").prepend(o(s))}return n}}(BookReader.prototype.buildToolbarElement),BookReader.prototype.buildMobileDrawerElement=function(){var e="";this.enableExperimentalControls&&(e='\n <p class="DrawerSettingsTitle">Visual Adjustment</p>\n <div class="BRcheckbox-group-filters">\n ',r.forEach((function(n,t){var s='\n <input type="checkbox" class="BRcheckbox-filters" id="filter'.concat(t,'">\n <label for="filter').concat(t,'" class="BRcheckbox-label-filters">').concat(n.label,"</label><br>\n \n ");e=e.concat(s)})),e=e.concat("</div>"));var n='\n <span>\n <span class="DrawerIconWrapper">\n <img class="DrawerIcon" src="'.concat("".concat(this.imagesBaseURL,"icon_gear.svg"),'" alt="settings-icon"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class="DrawerSettingsLayoutWrapper">\n <button class="DrawerLayoutButton one_page_mode">\n <img src="',this.imagesBaseURL,'icon_one_page.svg" alt="Single Page"/>\n <br>\n One Page\n </button>\n <button class="DrawerLayoutButton two_page_mode TwoPagesButton">\n <img src="').concat(this.imagesBaseURL,'icon_two_pages.svg" alt="Two Pages"/>\n <br>\n Two Pages\n </button>\n <button class="DrawerLayoutButton thumbnail_mode">\n <img src="').concat(this.imagesBaseURL,'icon_thumbnails.svg" alt="Thumbnails"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class="DrawerSettingsTitle">Zoom</div>\n <button class=\'BRicon zoom_out\'></button>\n <button class=\'BRicon zoom_in\'></button>\n <br style="clear:both"><br><br>\n ').concat(e,"\n </div>\n "),t='\n <span>\n <span class="DrawerIconWrapper ">\n <img class="DrawerIcon" src="'.concat(this.imagesBaseURL,'icon_info.svg" alt="info-icon"/>\n </span>\n About This Book\n </span>\n <div class="BRmobileInfo"></div>\n '),s='\n <span>\n <span class="DrawerIconWrapper">\n <img class="DrawerIcon" src="'.concat(this.imagesBaseURL,'icon_share.svg" alt="info-share"/>\n </span>\n Share This Book\n </span>\n <div class="BRmobileShare"></div>\n '),a='\n <nav id="BRmobileMenu" class="BRmobileMenu">\n <ul>\n <li class="BRmobileMenu__settings">'.concat(n,'</li>\n <li class="BRmobileMenu__moreInfoRow">').concat(t,'</li>\n <li class="BRmobileMenu__share">').concat(s,"</li>\n </ul>\n </nav>\n ");return o(a)},BookReader.prototype.$=function(e){return function(n){var t=e.call(this,n);return this.refs.$mmenu&&(t=t.add(this.refs.$mmenu.find(n))),t}}(BookReader.prototype.$);var l=function(e,n){var t="";o(".BRcheckbox-filters").each((function(e,s){n.refs.$br.removeClass("filter-applied"),o(s).is(":checked")&&(n.refs.$br.addClass(o(s).attr("filter-applied")),t+=r[e].filter)}));var s=o("#filtersStyle")[0]||document.createElement("style");s.id="filtersStyle",s.innerHTML=".BRpagecontainer img {\n filter: ".concat(t,";\n -webkit-filter: ").concat(t,";}"),document.body.appendChild(s)}},2026:function(e,n,t){var s,a,i,o,r=t(3609);o="navbars",(s=r)[i="mmenu"].addons[o]={setup:function(){var e=this,n=this.opts[o],t=this.conf[o];if(s[i].glbl,void 0!==n){n instanceof Array||(n=[n]);var r={};for(var l in s.each(n,(function(l){var c=n[l];"boolean"==typeof c&&c&&(c={}),"object"!=typeof c&&(c={}),void 0===c.content&&(c.content=["prev","title"]),c.content instanceof Array||(c.content=[c.content]);var d=(c=s.extend(!0,{},e.opts.navbar,c)).position,p=c.height;"number"!=typeof p&&(p=1),p=Math.min(4,Math.max(1,p)),"bottom"!=d&&(d="top"),r[d]||(r[d]=0),r[d]++;var h=s("<div />").addClass(a.navbar+" "+a.navbar+"-"+d+" "+a.navbar+"-"+d+"-"+r[d]+" "+a.navbar+"-size-"+p);r[d]+=p-1;for(var u=0,f=0,v=c.content.length;v>f;f++){var m=s[i].addons[o][c.content[f]]||!1;m?u+=m.call(e,h,c,t):((m=c.content[f])instanceof s||(m=s(c.content[f])),h.append(m))}(u+=Math.ceil(h.children().not("."+a.btn).length/p))>1&&h.addClass(a.navbar+"-content-"+u),h.children("."+a.btn).length&&h.addClass(a.hasbtns),h.prependTo(e.$menu)})),r)e.$menu.addClass(a.hasnavbar+"-"+l+"-"+r[l])}},add:function(){a=s[i]._c,s[i]._d,s[i]._e,a.add("close hasbtns")},clickAnchor:function(e,n){}},s[i].configuration[o]={breadcrumbSeparator:"/"},s[i].configuration.classNames[o]={},function(e){var n="mmenu";e[n].addons.navbars.breadcrumbs=function(t,s,a){var i=e[n]._c,o=e[n]._d;i.add("breadcrumbs separator");var r=e('<span class="'+i.breadcrumbs+'" />').appendTo(t);this.bind("init",(function(n){n.removeClass(i.hasnavbar).each((function(){for(var n=[],t=e(this),s=e('<span class="'+i.breadcrumbs+'"></span>'),r=e(this).children().first(),l=!0;r&&r.length;){r.is("."+i.panel)||(r=r.closest("."+i.panel));var c=r.children("."+i.navbar).children("."+i.title).text();n.unshift(l?"<span>"+c+"</span>":'<a href="#'+r.attr("id")+'">'+c+"</a>"),l=!1,r=r.data(o.parent)}s.append(n.join('<span class="'+i.separator+'">'+a.breadcrumbSeparator+"</span>")).appendTo(t.children("."+i.navbar))}))}));var l=function(){r.html(this.$pnls.children("."+i.current).children("."+i.navbar).children("."+i.breadcrumbs).html())};return this.bind("openPanel",l),this.bind("init",l),0}}(r),function(e){var n="mmenu";e[n].addons.navbars.close=function(t,s){var a=e[n]._c,i=e[n].glbl,o=e('<a class="'+a.close+" "+a.btn+'" href="#" />').appendTo(t),r=function(e){o.attr("href","#"+e.attr("id"))};return r.call(this,i.$page),this.bind("setPage",r),-1}}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].next=function(s,a){var i,o,r=e[n]._c,l=e('<a class="'+r.next+" "+r.btn+'" href="#" />').appendTo(s),c=function(e){var n=(e=e||this.$pnls.children("."+r.current)).find("."+this.conf.classNames[t].panelNext);i=n.attr("href"),o=n.html(),l[i?"attr":"removeAttr"]("href",i),l[i||o?"removeClass":"addClass"](r.hidden),l.html(o)};return this.bind("openPanel",c),this.bind("init",(function(){c.call(this)})),-1},e[n].configuration.classNames[t].panelNext="Next"}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].prev=function(s,a){var i=e[n]._c,o=e('<a class="'+i.prev+" "+i.btn+'" href="#" />').appendTo(s);this.bind("init",(function(e){e.removeClass(i.hasnavbar).children("."+i.navbar).addClass(i.hidden)}));var r,l,c=function(e){if(!(e=e||this.$pnls.children("."+i.current)).hasClass(i.vertical)){var n=e.find("."+this.conf.classNames[t].panelPrev);n.length||(n=e.children("."+i.navbar).children("."+i.prev)),r=n.attr("href"),l=n.html(),o[r?"attr":"removeAttr"]("href",r),o[r||l?"removeClass":"addClass"](i.hidden),o.html(l)}};return this.bind("openPanel",c),this.bind("init",(function(){c.call(this)})),-1},e[n].configuration.classNames[t].panelPrev="Prev"}(r),function(e){var n="mmenu";e[n].addons.navbars.searchfield=function(t,s){var a=e[n]._c,i=e('<div class="'+a.search+'" />').appendTo(t);return"object"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=i,0}}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].title=function(s,a){var i,o,r=e[n]._c,l=e('<a class="'+r.title+'" />').appendTo(s),c=function(e){if(!(e=e||this.$pnls.children("."+r.current)).hasClass(r.vertical)){var n=e.find("."+this.conf.classNames[t].panelTitle);n.length||(n=e.children("."+r.navbar).children("."+r.title)),i=n.attr("href"),o=n.html()||a.title,l[i?"attr":"removeAttr"]("href",i),l[i||o?"removeClass":"addClass"](r.hidden),l.html(o)}};return this.bind("openPanel",c),this.bind("init",(function(e){c.call(this)})),0},e[n].configuration.classNames[t].panelTitle="Title"}(r)},866:function(e,n,t){var s,a,i,o,r,l,c,d=t(3609);!function(e){function n(){e[o].glbl||(i={$wndw:e(window),$docu:e(document),$html:e("html"),$body:e("body")},t={},s={},a={},e.each([t,s,a],(function(e,n){n.add=function(e){for(var t=0,s=(e=e.split(" ")).length;s>t;t++)n[e[t]]=n.mm(e[t])}})),t.mm=function(e){return"mm-"+e},t.add("wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"),t.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},s.mm=function(e){return"mm-"+e},s.add("parent sub"),a.mm=function(e){return e+".mm"},a.add("transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange"),e[o]._c=t,e[o]._d=s,e[o]._e=a,e[o].glbl=i)}var t,s,a,i,o="mmenu",r="5.6.4";e[o]&&e[o].version>r||(e[o]=function(e,n,t){this.$menu=e,this._api=["bind","init","update","setSelected","getInstance","openPanel","closePanel","closeAllPanels"],this.opts=n,this.conf=t,this.vars={},this.cbck={},"function"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),"function"==typeof this.___debug&&this.___debug(),this},e[o].version=r,e[o].addons={},e[o].uniqueId=0,e[o].defaults={extensions:[],navbar:{add:!0,title:"Menu",titleLink:"panel"},onClick:{setSelected:!0},slidingSubmenus:!0},e[o].configuration={classNames:{divider:"Divider",inset:"Inset",panel:"Panel",selected:"Selected",spacer:"Spacer",vertical:"Vertical"},clone:!1,openingInterval:25,panelNodetype:"ul, ol, div",transitionDuration:400},e[o].prototype={init:function(e){e=e.not("."+t.nopanel),e=this._initPanels(e),this.trigger("init",e),this.trigger("update")},update:function(){this.trigger("update")},setSelected:function(e){this.$menu.find("."+t.listview).children().removeClass(t.selected),e.addClass(t.selected),this.trigger("setSelected",e)},openPanel:function(n){var s=n.parent(),a=this;if(s.hasClass(t.vertical)){var i=s.parents("."+t.subopened);if(i.length)return void this.openPanel(i.first());s.addClass(t.opened),this.trigger("openPanel",n),this.trigger("openingPanel",n),this.trigger("openedPanel",n)}else{if(n.hasClass(t.current))return;var r=this.$pnls.children("."+t.panel),l=r.filter("."+t.current);r.removeClass(t.highest).removeClass(t.current).not(n).not(l).not("."+t.vertical).addClass(t.hidden),e[o].support.csstransitions||l.addClass(t.hidden),n.hasClass(t.opened)?n.nextAll("."+t.opened).addClass(t.highest).removeClass(t.opened).removeClass(t.subopened):(n.addClass(t.highest),l.addClass(t.subopened)),n.removeClass(t.hidden).addClass(t.current),a.trigger("openPanel",n),setTimeout((function(){n.removeClass(t.subopened).addClass(t.opened),a.trigger("openingPanel",n),a.__transitionend(n,(function(){a.trigger("openedPanel",n)}),a.conf.transitionDuration)}),this.conf.openingInterval)}},closePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&(n.removeClass(t.opened),this.trigger("closePanel",e),this.trigger("closingPanel",e),this.trigger("closedPanel",e))},closeAllPanels:function(){this.$menu.find("."+t.listview).children().removeClass(t.selected).filter("."+t.vertical).removeClass(t.opened);var e=this.$pnls.children("."+t.panel).first();this.$pnls.children("."+t.panel).not(e).removeClass(t.subopened).removeClass(t.opened).removeClass(t.current).removeClass(t.highest).addClass(t.hidden),this.openPanel(e)},togglePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&this[n.hasClass(t.opened)?"closePanel":"openPanel"](e)},getInstance:function(){return this},bind:function(e,n){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(n)},trigger:function(){var e=this,n=Array.prototype.slice.call(arguments),t=n.shift();if(this.cbck[t])for(var s=0,a=this.cbck[t].length;a>s;s++)this.cbck[t][s].apply(e,n)},_initMenu:function(){this.$menu.attr("id",this.$menu.attr("id")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("[id]")).filter("[id]").each((function(){e(this).attr("id",t.mm(e(this).attr("id")))}))),this.$menu.contents().each((function(){3==e(this)[0].nodeType&&e(this).remove()})),this.$pnls=e('<div class="'+t.panels+'" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(t.wrapper);var n=[t.menu];this.opts.slidingSubmenus||n.push(t.vertical),this.opts.extensions=this.opts.extensions.length?"mm-"+this.opts.extensions.join(" mm-"):"",this.opts.extensions&&n.push(this.opts.extensions),this.$menu.addClass(n.join(" "))},_initPanels:function(n){var a=this,i=this.__findAddBack(n,"ul, ol");this.__refactorClass(i,this.conf.classNames.inset,"inset").addClass(t.nolistview+" "+t.nopanel),i.not("."+t.nolistview).addClass(t.listview);var o=this.__findAddBack(n,"."+t.listview).children();this.__refactorClass(o,this.conf.classNames.selected,"selected"),this.__refactorClass(o,this.conf.classNames.divider,"divider"),this.__refactorClass(o,this.conf.classNames.spacer,"spacer"),this.__refactorClass(this.__findAddBack(n,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel");var r=e(),l=n.add(n.find("."+t.panel)).add(this.__findAddBack(n,"."+t.listview).children().children(this.conf.panelNodetype)).not("."+t.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,"vertical"),this.opts.slidingSubmenus||l.addClass(t.vertical),l.each((function(){var n=e(this),s=n;n.is("ul, ol")?(n.wrap('<div class="'+t.panel+'" />'),s=n.parent()):s.addClass(t.panel);var i=n.attr("id");n.removeAttr("id"),s.attr("id",i||a.__getUniqueId()),n.hasClass(t.vertical)&&(n.removeClass(a.conf.classNames.vertical),s.add(s.parent()).addClass(t.vertical)),r=r.add(s)}));var c=e("."+t.panel,this.$menu);r.each((function(n){var i,o,r=e(this),l=r.parent(),c=l.children("a, span").first();if(l.is("."+t.panels)||(l.data(s.sub,r),r.data(s.parent,l)),l.children("."+t.next).length||l.parent().is("."+t.listview)&&(i=r.attr("id"),o=e('<a class="'+t.next+'" href="#'+i+'" data-target="#'+i+'" />').insertBefore(c),c.is("span")&&o.addClass(t.fullsubopen)),!r.children("."+t.navbar).length&&!l.hasClass(t.vertical)){l.parent().is("."+t.listview)?l=l.closest("."+t.panel):(c=l.closest("."+t.panel).find('a[href="#'+r.attr("id")+'"]').first(),l=c.closest("."+t.panel));var d=!1,p=e('<div class="'+t.navbar+'" />');if(a.opts.navbar.add&&r.addClass(t.hasnavbar),l.length){switch(i=l.attr("id"),a.opts.navbar.titleLink){case"anchor":d=c.attr("href");break;case"panel":case"parent":d="#"+i;break;default:d=!1}p.append('<a class="'+t.btn+" "+t.prev+'" href="#'+i+'" data-target="#'+i+'" />').append(e('<a class="'+t.title+'"'+(d?' href="'+d+'"':"")+" />").text(c.text())).prependTo(r)}else a.opts.navbar.title&&p.append('<a class="'+t.title+'">'+a.opts.navbar.title+"</a>").prependTo(r)}}));var d=this.__findAddBack(n,"."+t.listview).children("."+t.selected).removeClass(t.selected).last().addClass(t.selected);d.add(d.parentsUntil("."+t.menu,"li")).filter("."+t.vertical).addClass(t.opened).end().each((function(){e(this).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened)})),d.children("."+t.panel).not("."+t.vertical).addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened);var p=c.filter("."+t.opened);return p.length||(p=r.first()),p.addClass(t.opened).last().addClass(t.current),r.not("."+t.vertical).not(p.last()).addClass(t.hidden).end().filter((function(){return!e(this).parent().hasClass(t.panels)})).appendTo(this.$pnls),r},_initAnchors:function(){var n=this;i.$body.on(a.click+"-oncanvas","a[href]",(function(s){var a=e(this),i=!1,r=n.$menu.find(a).length;for(var l in e[o].addons)if(e[o].addons[l].clickAnchor.call(n,a,r)){i=!0;break}var c=a.attr("href");if(!i&&r&&c.length>1&&"#"==c.slice(0,1))try{var d=e(c,n.$menu);d.is("."+t.panel)&&(i=!0,n[a.parent().hasClass(t.vertical)?"togglePanel":"openPanel"](d))}catch(e){}if(i&&s.preventDefault(),!i&&r&&a.is("."+t.listview+" > li > a")&&!a.is('[rel="external"]')&&!a.is('[target="_blank"]')){n.__valueOrFn(n.opts.onClick.setSelected,a)&&n.setSelected(e(s.target).parent());var p=n.__valueOrFn(n.opts.onClick.preventDefault,a,"#"==c.slice(0,1));p&&s.preventDefault(),n.__valueOrFn(n.opts.onClick.close,a,p)&&n.close()}}))},_initAddons:function(){var n;for(n in e[o].addons)e[o].addons[n].add.call(this),e[o].addons[n].add=function(){};for(n in e[o].addons)e[o].addons[n].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr("id");return e&&e.length&&this.conf.clone&&(e=t.umm(e)),e},__api:function(){var n=this,t={};return e.each(this._api,(function(e){var s=this;t[s]=function(){var e=n[s].apply(n,arguments);return void 0===e?t:e}})),t},__valueOrFn:function(e,n,t){return"function"==typeof e?e.call(n[0]):void 0===e&&void 0!==t?t:e},__refactorClass:function(e,n,s){return e.filter("."+n).removeClass(n).addClass(t[s])},__findAddBack:function(e,n){return e.find(n).add(e.filter(n))},__filterListItems:function(e){return e.not("."+t.divider).not("."+t.hidden)},__transitionend:function(e,n,t){var s=!1,i=function(){s||n.call(e[0]),s=!0};e.one(a.transitionend,i),e.one(a.webkitTransitionEnd,i),setTimeout(i,1.1*t)},__getUniqueId:function(){return t.mm(e[o].uniqueId++)}},e.fn[o]=function(t,s){return n(),t=e.extend(!0,{},e[o].defaults,t),s=e.extend(!0,{},e[o].configuration,s),this.each((function(){var n=e(this);if(!n.data(o)){var a=new e[o](n,t,s);a.$menu.data(o,a.__api())}}))},e[o].support={touch:"ontouchstart"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if("undefined"!=typeof Modernizr&&void 0!==Modernizr.csstransitions)return Modernizr.csstransitions;var e=(document.body||document.documentElement).style,n="transition";if("string"==typeof e[n])return!0;var t=["Moz","webkit","Webkit","Khtml","O","ms"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var s=0;s<t.length;s++)if("string"==typeof e[t[s]+n])return!0;return!1}()})}(d),c="offCanvas",(s=d)[l="mmenu"].addons[c]={setup:function(){if(this.opts[c]){var e=this.opts[c],n=this.conf[c];r=s[l].glbl,this._api=s.merge(this._api,["open","close","setPage"]),("top"==e.position||"bottom"==e.position)&&(e.zposition="front"),"string"!=typeof n.pageSelector&&(n.pageSelector="> "+n.pageNodetype),r.$allMenus=(r.$allMenus||s()).add(this.$menu),this.vars.opened=!1;var t=[a.offcanvas];"left"!=e.position&&t.push(a.mm(e.position)),"back"!=e.zposition&&t.push(a.mm(e.zposition)),this.$menu.addClass(t.join(" ")).parent().removeClass(a.wrapper),this.setPage(r.$page),this._initBlocker(),this["_initWindow_"+c](),this.$menu[n.menuInjectMethod+"To"](n.menuWrapperSelector);var i=window.location.hash;if(i){var o=this._getOriginalMenuId();o&&o==i.slice(1)&&this.open()}}},add:function(){a=s[l]._c,i=s[l]._d,o=s[l]._e,a.add("offcanvas slideout blocking modal background opening blocker page"),i.add("style"),o.add("resize")},clickAnchor:function(e,n){if(!this.opts[c])return!1;var t=this._getOriginalMenuId();return t&&e.is('[href="#'+t+'"]')?(this.open(),!0):r.$page?!(!(t=r.$page.first().attr("id"))||!e.is('[href="#'+t+'"]')||(this.close(),0)):void 0}},s[l].defaults[c]={position:"left",zposition:"back",blockUI:!0,moveBackground:!0},s[l].configuration[c]={pageNodetype:"div",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:"body",menuInjectMethod:"prepend"},s[l].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout((function(){e._openFinish()}),this.conf.openingInterval),this.trigger("open")}},s[l].prototype._openSetup=function(){var e=this,n=this.opts[c];this.closeAllOthers(),r.$page.each((function(){s(this).data(i.style,s(this).attr("style")||"")})),r.$wndw.trigger(o.resize+"-"+c,[!0]);var t=[a.opened];n.blockUI&&t.push(a.blocking),"modal"==n.blockUI&&t.push(a.modal),n.moveBackground&&t.push(a.background),"left"!=n.position&&t.push(a.mm(this.opts[c].position)),"back"!=n.zposition&&t.push(a.mm(this.opts[c].zposition)),this.opts.extensions&&t.push(this.opts.extensions),r.$html.addClass(t.join(" ")),setTimeout((function(){e.vars.opened=!0}),this.conf.openingInterval),this.$menu.addClass(a.current+" "+a.opened)},s[l].prototype._openFinish=function(){var e=this;this.__transitionend(r.$page.first(),(function(){e.trigger("opened")}),this.conf.transitionDuration),r.$html.addClass(a.opening),this.trigger("opening")},s[l].prototype.close=function(){if(this.vars.opened){var e=this;this.__transitionend(r.$page.first(),(function(){e.$menu.removeClass(a.current).removeClass(a.opened),r.$html.removeClass(a.opened).removeClass(a.blocking).removeClass(a.modal).removeClass(a.background).removeClass(a.mm(e.opts[c].position)).removeClass(a.mm(e.opts[c].zposition)),e.opts.extensions&&r.$html.removeClass(e.opts.extensions),r.$page.each((function(){s(this).attr("style",s(this).data(i.style))})),e.vars.opened=!1,e.trigger("closed")}),this.conf.transitionDuration),r.$html.removeClass(a.opening),this.trigger("close"),this.trigger("closing")}},s[l].prototype.closeAllOthers=function(){r.$allMenus.not(this.$menu).each((function(){var e=s(this).data(l);e&&e.close&&e.close()}))},s[l].prototype.setPage=function(e){var n=this,t=this.conf[c];e&&e.length||(e=r.$body.find(t.pageSelector),t.noPageSelector.length&&(e=e.not(t.noPageSelector.join(", "))),e.length>1&&t.wrapPageIfNeeded&&(e=e.wrapAll("<"+this.conf[c].pageNodetype+" />").parent())),e.each((function(){s(this).attr("id",s(this).attr("id")||n.__getUniqueId())})),e.addClass(a.page+" "+a.slideout),r.$page=e,this.trigger("setPage",e)},s[l].prototype["_initWindow_"+c]=function(){r.$wndw.off(o.keydown+"-"+c).on(o.keydown+"-"+c,(function(e){return r.$html.hasClass(a.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0}));var e=0;r.$wndw.off(o.resize+"-"+c).on(o.resize+"-"+c,(function(n,t){if(1==r.$page.length&&(t||r.$html.hasClass(a.opened))){var s=r.$wndw.height();(t||s!=e)&&(e=s,r.$page.css("minHeight",s))}}))},s[l].prototype._initBlocker=function(){var e=this;this.opts[c].blockUI&&(r.$blck||(r.$blck=s('<div id="'+a.blocker+'" class="'+a.slideout+'" />')),r.$blck.appendTo(r.$body).off(o.touchstart+"-"+c+" "+o.touchmove+"-"+c).on(o.touchstart+"-"+c+" "+o.touchmove+"-"+c,(function(e){e.preventDefault(),e.stopPropagation(),r.$blck.trigger(o.mousedown+"-"+c)})).off(o.mousedown+"-"+c).on(o.mousedown+"-"+c,(function(n){n.preventDefault(),r.$html.hasClass(a.modal)||(e.closeAllOthers(),e.close())})))},function(e){var n,t,s,a="mmenu",i="scrollBugFix";e[a].addons[i]={setup:function(){var o=this,r=this.opts[i];if(this.conf[i],s=e[a].glbl,e[a].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&("boolean"==typeof r&&(r={fix:r}),"object"!=typeof r&&(r={}),(r=this.opts[i]=e.extend(!0,{},e[a].defaults[i],r)).fix)){var l=this.$menu.attr("id"),c=!1;this.bind("opening",(function(){this.$pnls.children("."+n.current).scrollTop(0)})),s.$docu.on(t.touchmove,(function(e){o.vars.opened&&e.preventDefault()})),s.$body.on(t.touchstart,"#"+l+"> ."+n.panels+"> ."+n.current,(function(e){o.vars.opened&&(c||(c=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),c=!1))})).on(t.touchmove,"#"+l+"> ."+n.panels+"> ."+n.current,(function(n){o.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&n.stopPropagation()})),s.$wndw.on(t.orientationchange,(function(){o.$pnls.children("."+n.current).scrollTop(0).css({"-webkit-overflow-scrolling":"auto"}).css({"-webkit-overflow-scrolling":"touch"})}))}},add:function(){n=e[a]._c,e[a]._d,t=e[a]._e},clickAnchor:function(e,n){}},e[a].defaults[i]={fix:!0}}(d)}},function(e){"use strict";e(e.s=2878)}]);
1
+ (self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[111],{2878:function(e,n,t){"use strict";t(9826),t(1539),t(2222),t(7327);var s,a=t(5685),i=(t(866),t(2026),t(3609)),o=t(3609),r=[{filter:"grayscale(100%)",label:"Grayscale"},{filter:"brightness(120%)",label:"High brightness"},{filter:"invert(100%)",label:"Inverted (dark mode)"},{filter:"contrast(120%)",label:"High contrast"}];i.extend(BookReader.defaultOptions,{enableMobileNav:!0,mobileNavTitle:"Internet Archive",mobileNavFullscreenOnly:!1}),BookReader.prototype.setup=(s=BookReader.prototype.setup,function(e){s.call(this,e),this.enableMobileNav=e.enableMobileNav,this.mobileNavTitle=e.mobileNavTitle,this.mobileNavFullscreenOnly=e.mobileNavFullscreenOnly,this.refs.$mmenu=null}),BookReader.prototype.initToolbar=function(e){return function(n,t){var s,i=this;if(this.enableMobileNav){var r=this.buildMobileDrawerElement();this.refs.$br.append(r),this.buildInfoDiv(this.$(".BRmobileInfo")),this.buildShareDiv(this.$(".BRmobileShare")),(s=r).mmenu({navbars:[{position:"top"}],navbar:{add:!0,title:this.mobileNavTitle,titleLink:"panel"},extensions:["panelshadow"]},{offCanvas:{wrapPageIfNeeded:!1,zposition:"next",pageSelector:this.el}});var c=s.find(".BRpageviewValue");s.data("mmenu").bind("opened",(function(){c.length&&c.val(window.location.href)})),r.find(".BRcheckbox-filters").on("click",(function(){return l(r,i)})),r.find(".DrawerLayoutButton.one_page_mode").on("click",(function(){return i.switchMode(i.constMode1up)})),r.find(".DrawerLayoutButton.two_page_mode").on("click",(function(){return i.switchMode(i.constMode2up)})),r.find(".DrawerLayoutButton.thumbnail_mode").on("click",(function(){return i.switchMode(i.constModeThumb)})),this.mobileNavFullscreenOnly?o(document.body).addClass("BRbodyMobileNavEnabledFullscreen"):o(document.body).addClass("BRbodyMobileNavEnabled"),this.refs.$mmenu=s}if(e.apply(this,arguments),this.enableMobileNav){this.$(".BRmobileHamburger").click((function(){s.data("mmenu").getInstance().vars.opened?s.data("mmenu").close():(s.data("mmenu").open(),i.trigger("mobileNavOpen"))}));var d=function(e){var n=o(window).width();s.data("mmenu").getInstance().vars.opened&&n>=800&&s.data("mmenu").close()};window.addEventListener("resize",a.debounce(d,900))}}}(BookReader.prototype.initToolbar),BookReader.prototype.buildToolbarElement=function(e){return function(){var n=e.call(this);if(this.enableMobileNav){var t=BookReader.util.escapeHTML(this.bookTitle),s='\n <span class="BRmobileHamburgerWrapper">\n <button class="BRmobileHamburger"></button>\n <span class="BRtoolbarMobileTitle" title="'.concat(t,'">').concat(t,"</span>\n </span>\n ");n.addClass("responsive").prepend(o(s))}return n}}(BookReader.prototype.buildToolbarElement),BookReader.prototype.buildMobileDrawerElement=function(){var e="";this.enableExperimentalControls&&(e='\n <p class="DrawerSettingsTitle">Visual Adjustment</p>\n <div class="BRcheckbox-group-filters">\n ',r.forEach((function(n,t){var s='\n <input type="checkbox" class="BRcheckbox-filters" id="filter'.concat(t,'">\n <label for="filter').concat(t,'" class="BRcheckbox-label-filters">').concat(n.label,"</label><br>\n \n ");e=e.concat(s)})),e=e.concat("</div>"));var n='\n <span>\n <span class="DrawerIconWrapper">\n <img class="DrawerIcon" src="'.concat("".concat(this.imagesBaseURL,"icon_gear.svg"),'" alt="settings-icon"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class="DrawerSettingsLayoutWrapper">\n <button class="DrawerLayoutButton one_page_mode">\n <img src="',this.imagesBaseURL,'icon_one_page.svg" alt="Single Page"/>\n <br>\n One Page\n </button>\n <button class="DrawerLayoutButton two_page_mode TwoPagesButton">\n <img src="').concat(this.imagesBaseURL,'icon_two_pages.svg" alt="Two Pages"/>\n <br>\n Two Pages\n </button>\n <button class="DrawerLayoutButton thumbnail_mode">\n <img src="').concat(this.imagesBaseURL,'icon_thumbnails.svg" alt="Thumbnails"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class="DrawerSettingsTitle">Zoom</div>\n <button class=\'BRicon zoom_out\'></button>\n <button class=\'BRicon zoom_in\'></button>\n <br style="clear:both"><br><br>\n ').concat(e,"\n </div>\n "),t='\n <span>\n <span class="DrawerIconWrapper ">\n <img class="DrawerIcon" src="'.concat(this.imagesBaseURL,'icon_info.svg" alt="info-icon"/>\n </span>\n About This Book\n </span>\n <div class="BRmobileInfo"></div>\n '),s='\n <span>\n <span class="DrawerIconWrapper">\n <img class="DrawerIcon" src="'.concat(this.imagesBaseURL,'icon_share.svg" alt="info-share"/>\n </span>\n Share This Book\n </span>\n <div class="BRmobileShare"></div>\n '),a='\n <nav id="BRmobileMenu" class="BRmobileMenu">\n <ul>\n <li class="BRmobileMenu__settings">'.concat(n,'</li>\n <li class="BRmobileMenu__moreInfoRow">').concat(t,'</li>\n <li class="BRmobileMenu__share">').concat(s,"</li>\n </ul>\n </nav>\n ");return o(a)},BookReader.prototype.$=function(e){return function(n){var t=e.call(this,n);return this.refs.$mmenu&&(t=t.add(this.refs.$mmenu.find(n))),t}}(BookReader.prototype.$);var l=function(e,n){var t="";o(".BRcheckbox-filters").each((function(e,s){n.refs.$br.removeClass("filter-applied"),o(s).is(":checked")&&(n.refs.$br.addClass(o(s).attr("filter-applied")),t+=r[e].filter)}));var s=o("#filtersStyle")[0]||document.createElement("style");s.id="filtersStyle",s.innerHTML=".BRpagecontainer img {\n filter: ".concat(t,";\n -webkit-filter: ").concat(t,";}"),document.body.appendChild(s)}},2026:function(e,n,t){var s,a,i,o,r=t(3609);o="navbars",(s=r)[i="mmenu"].addons[o]={setup:function(){var e=this,n=this.opts[o],t=this.conf[o];if(s[i].glbl,void 0!==n){n instanceof Array||(n=[n]);var r={};for(var l in s.each(n,(function(l){var c=n[l];"boolean"==typeof c&&c&&(c={}),"object"!=typeof c&&(c={}),void 0===c.content&&(c.content=["prev","title"]),c.content instanceof Array||(c.content=[c.content]);var d=(c=s.extend(!0,{},e.opts.navbar,c)).position,p=c.height;"number"!=typeof p&&(p=1),p=Math.min(4,Math.max(1,p)),"bottom"!=d&&(d="top"),r[d]||(r[d]=0),r[d]++;var h=s("<div />").addClass(a.navbar+" "+a.navbar+"-"+d+" "+a.navbar+"-"+d+"-"+r[d]+" "+a.navbar+"-size-"+p);r[d]+=p-1;for(var u=0,f=0,v=c.content.length;v>f;f++){var m=s[i].addons[o][c.content[f]]||!1;m?u+=m.call(e,h,c,t):((m=c.content[f])instanceof s||(m=s(c.content[f])),h.append(m))}(u+=Math.ceil(h.children().not("."+a.btn).length/p))>1&&h.addClass(a.navbar+"-content-"+u),h.children("."+a.btn).length&&h.addClass(a.hasbtns),h.prependTo(e.$menu)})),r)e.$menu.addClass(a.hasnavbar+"-"+l+"-"+r[l])}},add:function(){a=s[i]._c,s[i]._d,s[i]._e,a.add("close hasbtns")},clickAnchor:function(e,n){}},s[i].configuration[o]={breadcrumbSeparator:"/"},s[i].configuration.classNames[o]={},function(e){var n="mmenu";e[n].addons.navbars.breadcrumbs=function(t,s,a){var i=e[n]._c,o=e[n]._d;i.add("breadcrumbs separator");var r=e('<span class="'+i.breadcrumbs+'" />').appendTo(t);this.bind("init",(function(n){n.removeClass(i.hasnavbar).each((function(){for(var n=[],t=e(this),s=e('<span class="'+i.breadcrumbs+'"></span>'),r=e(this).children().first(),l=!0;r&&r.length;){r.is("."+i.panel)||(r=r.closest("."+i.panel));var c=r.children("."+i.navbar).children("."+i.title).text();n.unshift(l?"<span>"+c+"</span>":'<a href="#'+r.attr("id")+'">'+c+"</a>"),l=!1,r=r.data(o.parent)}s.append(n.join('<span class="'+i.separator+'">'+a.breadcrumbSeparator+"</span>")).appendTo(t.children("."+i.navbar))}))}));var l=function(){r.html(this.$pnls.children("."+i.current).children("."+i.navbar).children("."+i.breadcrumbs).html())};return this.bind("openPanel",l),this.bind("init",l),0}}(r),function(e){var n="mmenu";e[n].addons.navbars.close=function(t,s){var a=e[n]._c,i=e[n].glbl,o=e('<a class="'+a.close+" "+a.btn+'" href="#" />').appendTo(t),r=function(e){o.attr("href","#"+e.attr("id"))};return r.call(this,i.$page),this.bind("setPage",r),-1}}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].next=function(s,a){var i,o,r=e[n]._c,l=e('<a class="'+r.next+" "+r.btn+'" href="#" />').appendTo(s),c=function(e){var n=(e=e||this.$pnls.children("."+r.current)).find("."+this.conf.classNames[t].panelNext);i=n.attr("href"),o=n.html(),l[i?"attr":"removeAttr"]("href",i),l[i||o?"removeClass":"addClass"](r.hidden),l.html(o)};return this.bind("openPanel",c),this.bind("init",(function(){c.call(this)})),-1},e[n].configuration.classNames[t].panelNext="Next"}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].prev=function(s,a){var i=e[n]._c,o=e('<a class="'+i.prev+" "+i.btn+'" href="#" />').appendTo(s);this.bind("init",(function(e){e.removeClass(i.hasnavbar).children("."+i.navbar).addClass(i.hidden)}));var r,l,c=function(e){if(!(e=e||this.$pnls.children("."+i.current)).hasClass(i.vertical)){var n=e.find("."+this.conf.classNames[t].panelPrev);n.length||(n=e.children("."+i.navbar).children("."+i.prev)),r=n.attr("href"),l=n.html(),o[r?"attr":"removeAttr"]("href",r),o[r||l?"removeClass":"addClass"](i.hidden),o.html(l)}};return this.bind("openPanel",c),this.bind("init",(function(){c.call(this)})),-1},e[n].configuration.classNames[t].panelPrev="Prev"}(r),function(e){var n="mmenu";e[n].addons.navbars.searchfield=function(t,s){var a=e[n]._c,i=e('<div class="'+a.search+'" />').appendTo(t);return"object"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=i,0}}(r),function(e){var n="mmenu",t="navbars";e[n].addons[t].title=function(s,a){var i,o,r=e[n]._c,l=e('<a class="'+r.title+'" />').appendTo(s),c=function(e){if(!(e=e||this.$pnls.children("."+r.current)).hasClass(r.vertical)){var n=e.find("."+this.conf.classNames[t].panelTitle);n.length||(n=e.children("."+r.navbar).children("."+r.title)),i=n.attr("href"),o=n.html()||a.title,l[i?"attr":"removeAttr"]("href",i),l[i||o?"removeClass":"addClass"](r.hidden),l.html(o)}};return this.bind("openPanel",c),this.bind("init",(function(e){c.call(this)})),0},e[n].configuration.classNames[t].panelTitle="Title"}(r)},866:function(e,n,t){var s,a,i,o,r,l,c,d=t(3609);!function(e){function n(){e[o].glbl||(i={$wndw:e(window),$docu:e(document),$html:e("html"),$body:e("body")},t={},s={},a={},e.each([t,s,a],(function(e,n){n.add=function(e){for(var t=0,s=(e=e.split(" ")).length;s>t;t++)n[e[t]]=n.mm(e[t])}})),t.mm=function(e){return"mm-"+e},t.add("wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"),t.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},s.mm=function(e){return"mm-"+e},s.add("parent sub"),a.mm=function(e){return e+".mm"},a.add("transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange"),e[o]._c=t,e[o]._d=s,e[o]._e=a,e[o].glbl=i)}var t,s,a,i,o="mmenu",r="5.6.4";e[o]&&e[o].version>r||(e[o]=function(e,n,t){this.$menu=e,this._api=["bind","init","update","setSelected","getInstance","openPanel","closePanel","closeAllPanels"],this.opts=n,this.conf=t,this.vars={},this.cbck={},"function"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),"function"==typeof this.___debug&&this.___debug(),this},e[o].version=r,e[o].addons={},e[o].uniqueId=0,e[o].defaults={extensions:[],navbar:{add:!0,title:"Menu",titleLink:"panel"},onClick:{setSelected:!0},slidingSubmenus:!0},e[o].configuration={classNames:{divider:"Divider",inset:"Inset",panel:"Panel",selected:"Selected",spacer:"Spacer",vertical:"Vertical"},clone:!1,openingInterval:25,panelNodetype:"ul, ol, div",transitionDuration:400},e[o].prototype={init:function(e){e=e.not("."+t.nopanel),e=this._initPanels(e),this.trigger("init",e),this.trigger("update")},update:function(){this.trigger("update")},setSelected:function(e){this.$menu.find("."+t.listview).children().removeClass(t.selected),e.addClass(t.selected),this.trigger("setSelected",e)},openPanel:function(n){var s=n.parent(),a=this;if(s.hasClass(t.vertical)){var i=s.parents("."+t.subopened);if(i.length)return void this.openPanel(i.first());s.addClass(t.opened),this.trigger("openPanel",n),this.trigger("openingPanel",n),this.trigger("openedPanel",n)}else{if(n.hasClass(t.current))return;var r=this.$pnls.children("."+t.panel),l=r.filter("."+t.current);r.removeClass(t.highest).removeClass(t.current).not(n).not(l).not("."+t.vertical).addClass(t.hidden),e[o].support.csstransitions||l.addClass(t.hidden),n.hasClass(t.opened)?n.nextAll("."+t.opened).addClass(t.highest).removeClass(t.opened).removeClass(t.subopened):(n.addClass(t.highest),l.addClass(t.subopened)),n.removeClass(t.hidden).addClass(t.current),a.trigger("openPanel",n),setTimeout((function(){n.removeClass(t.subopened).addClass(t.opened),a.trigger("openingPanel",n),a.__transitionend(n,(function(){a.trigger("openedPanel",n)}),a.conf.transitionDuration)}),this.conf.openingInterval)}},closePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&(n.removeClass(t.opened),this.trigger("closePanel",e),this.trigger("closingPanel",e),this.trigger("closedPanel",e))},closeAllPanels:function(){this.$menu.find("."+t.listview).children().removeClass(t.selected).filter("."+t.vertical).removeClass(t.opened);var e=this.$pnls.children("."+t.panel).first();this.$pnls.children("."+t.panel).not(e).removeClass(t.subopened).removeClass(t.opened).removeClass(t.current).removeClass(t.highest).addClass(t.hidden),this.openPanel(e)},togglePanel:function(e){var n=e.parent();n.hasClass(t.vertical)&&this[n.hasClass(t.opened)?"closePanel":"openPanel"](e)},getInstance:function(){return this},bind:function(e,n){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(n)},trigger:function(){var e=this,n=Array.prototype.slice.call(arguments),t=n.shift();if(this.cbck[t])for(var s=0,a=this.cbck[t].length;a>s;s++)this.cbck[t][s].apply(e,n)},_initMenu:function(){this.$menu.attr("id",this.$menu.attr("id")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("[id]")).filter("[id]").each((function(){e(this).attr("id",t.mm(e(this).attr("id")))}))),this.$menu.contents().each((function(){3==e(this)[0].nodeType&&e(this).remove()})),this.$pnls=e('<div class="'+t.panels+'" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(t.wrapper);var n=[t.menu];this.opts.slidingSubmenus||n.push(t.vertical),this.opts.extensions=this.opts.extensions.length?"mm-"+this.opts.extensions.join(" mm-"):"",this.opts.extensions&&n.push(this.opts.extensions),this.$menu.addClass(n.join(" "))},_initPanels:function(n){var a=this,i=this.__findAddBack(n,"ul, ol");this.__refactorClass(i,this.conf.classNames.inset,"inset").addClass(t.nolistview+" "+t.nopanel),i.not("."+t.nolistview).addClass(t.listview);var o=this.__findAddBack(n,"."+t.listview).children();this.__refactorClass(o,this.conf.classNames.selected,"selected"),this.__refactorClass(o,this.conf.classNames.divider,"divider"),this.__refactorClass(o,this.conf.classNames.spacer,"spacer"),this.__refactorClass(this.__findAddBack(n,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel");var r=e(),l=n.add(n.find("."+t.panel)).add(this.__findAddBack(n,"."+t.listview).children().children(this.conf.panelNodetype)).not("."+t.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,"vertical"),this.opts.slidingSubmenus||l.addClass(t.vertical),l.each((function(){var n=e(this),s=n;n.is("ul, ol")?(n.wrap('<div class="'+t.panel+'" />'),s=n.parent()):s.addClass(t.panel);var i=n.attr("id");n.removeAttr("id"),s.attr("id",i||a.__getUniqueId()),n.hasClass(t.vertical)&&(n.removeClass(a.conf.classNames.vertical),s.add(s.parent()).addClass(t.vertical)),r=r.add(s)}));var c=e("."+t.panel,this.$menu);r.each((function(n){var i,o,r=e(this),l=r.parent(),c=l.children("a, span").first();if(l.is("."+t.panels)||(l.data(s.sub,r),r.data(s.parent,l)),l.children("."+t.next).length||l.parent().is("."+t.listview)&&(i=r.attr("id"),o=e('<a class="'+t.next+'" href="#'+i+'" data-target="#'+i+'" />').insertBefore(c),c.is("span")&&o.addClass(t.fullsubopen)),!r.children("."+t.navbar).length&&!l.hasClass(t.vertical)){l.parent().is("."+t.listview)?l=l.closest("."+t.panel):(c=l.closest("."+t.panel).find('a[href="#'+r.attr("id")+'"]').first(),l=c.closest("."+t.panel));var d=!1,p=e('<div class="'+t.navbar+'" />');if(a.opts.navbar.add&&r.addClass(t.hasnavbar),l.length){switch(i=l.attr("id"),a.opts.navbar.titleLink){case"anchor":d=c.attr("href");break;case"panel":case"parent":d="#"+i;break;default:d=!1}p.append('<a class="'+t.btn+" "+t.prev+'" href="#'+i+'" data-target="#'+i+'" />').append(e('<a class="'+t.title+'"'+(d?' href="'+d+'"':"")+" />").text(c.text())).prependTo(r)}else a.opts.navbar.title&&p.append('<a class="'+t.title+'">'+a.opts.navbar.title+"</a>").prependTo(r)}}));var d=this.__findAddBack(n,"."+t.listview).children("."+t.selected).removeClass(t.selected).last().addClass(t.selected);d.add(d.parentsUntil("."+t.menu,"li")).filter("."+t.vertical).addClass(t.opened).end().each((function(){e(this).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened)})),d.children("."+t.panel).not("."+t.vertical).addClass(t.opened).parentsUntil("."+t.menu,"."+t.panel).not("."+t.vertical).first().addClass(t.opened).addClass(t.subopened);var p=c.filter("."+t.opened);return p.length||(p=r.first()),p.addClass(t.opened).last().addClass(t.current),r.not("."+t.vertical).not(p.last()).addClass(t.hidden).end().filter((function(){return!e(this).parent().hasClass(t.panels)})).appendTo(this.$pnls),r},_initAnchors:function(){var n=this;i.$body.on(a.click+"-oncanvas","a[href]",(function(s){var a=e(this),i=!1,r=n.$menu.find(a).length;for(var l in e[o].addons)if(e[o].addons[l].clickAnchor.call(n,a,r)){i=!0;break}var c=a.attr("href");if(!i&&r&&c.length>1&&"#"==c.slice(0,1))try{var d=e(c,n.$menu);d.is("."+t.panel)&&(i=!0,n[a.parent().hasClass(t.vertical)?"togglePanel":"openPanel"](d))}catch(e){}if(i&&s.preventDefault(),!i&&r&&a.is("."+t.listview+" > li > a")&&!a.is('[rel="external"]')&&!a.is('[target="_blank"]')){n.__valueOrFn(n.opts.onClick.setSelected,a)&&n.setSelected(e(s.target).parent());var p=n.__valueOrFn(n.opts.onClick.preventDefault,a,"#"==c.slice(0,1));p&&s.preventDefault(),n.__valueOrFn(n.opts.onClick.close,a,p)&&n.close()}}))},_initAddons:function(){var n;for(n in e[o].addons)e[o].addons[n].add.call(this),e[o].addons[n].add=function(){};for(n in e[o].addons)e[o].addons[n].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr("id");return e&&e.length&&this.conf.clone&&(e=t.umm(e)),e},__api:function(){var n=this,t={};return e.each(this._api,(function(e){var s=this;t[s]=function(){var e=n[s].apply(n,arguments);return void 0===e?t:e}})),t},__valueOrFn:function(e,n,t){return"function"==typeof e?e.call(n[0]):void 0===e&&void 0!==t?t:e},__refactorClass:function(e,n,s){return e.filter("."+n).removeClass(n).addClass(t[s])},__findAddBack:function(e,n){return e.find(n).add(e.filter(n))},__filterListItems:function(e){return e.not("."+t.divider).not("."+t.hidden)},__transitionend:function(e,n,t){var s=!1,i=function(){s||n.call(e[0]),s=!0};e.one(a.transitionend,i),e.one(a.webkitTransitionEnd,i),setTimeout(i,1.1*t)},__getUniqueId:function(){return t.mm(e[o].uniqueId++)}},e.fn[o]=function(t,s){return n(),t=e.extend(!0,{},e[o].defaults,t),s=e.extend(!0,{},e[o].configuration,s),this.each((function(){var n=e(this);if(!n.data(o)){var a=new e[o](n,t,s);a.$menu.data(o,a.__api())}}))},e[o].support={touch:"ontouchstart"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if("undefined"!=typeof Modernizr&&void 0!==Modernizr.csstransitions)return Modernizr.csstransitions;var e=(document.body||document.documentElement).style,n="transition";if("string"==typeof e[n])return!0;var t=["Moz","webkit","Webkit","Khtml","O","ms"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var s=0;s<t.length;s++)if("string"==typeof e[t[s]+n])return!0;return!1}()})}(d),c="offCanvas",(s=d)[l="mmenu"].addons[c]={setup:function(){if(this.opts[c]){var e=this.opts[c],n=this.conf[c];r=s[l].glbl,this._api=s.merge(this._api,["open","close","setPage"]),("top"==e.position||"bottom"==e.position)&&(e.zposition="front"),"string"!=typeof n.pageSelector&&(n.pageSelector="> "+n.pageNodetype),r.$allMenus=(r.$allMenus||s()).add(this.$menu),this.vars.opened=!1;var t=[a.offcanvas];"left"!=e.position&&t.push(a.mm(e.position)),"back"!=e.zposition&&t.push(a.mm(e.zposition)),this.$menu.addClass(t.join(" ")).parent().removeClass(a.wrapper),this.setPage(r.$page),this._initBlocker(),this["_initWindow_"+c](),this.$menu[n.menuInjectMethod+"To"](n.menuWrapperSelector);var i=window.location.hash;if(i){var o=this._getOriginalMenuId();o&&o==i.slice(1)&&this.open()}}},add:function(){a=s[l]._c,i=s[l]._d,o=s[l]._e,a.add("offcanvas slideout blocking modal background opening blocker page"),i.add("style"),o.add("resize")},clickAnchor:function(e,n){if(!this.opts[c])return!1;var t=this._getOriginalMenuId();return t&&e.is('[href="#'+t+'"]')?(this.open(),!0):r.$page?!(!(t=r.$page.first().attr("id"))||!e.is('[href="#'+t+'"]')||(this.close(),0)):void 0}},s[l].defaults[c]={position:"left",zposition:"back",blockUI:!0,moveBackground:!0},s[l].configuration[c]={pageNodetype:"div",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:"body",menuInjectMethod:"prepend"},s[l].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout((function(){e._openFinish()}),this.conf.openingInterval),this.trigger("open")}},s[l].prototype._openSetup=function(){var e=this,n=this.opts[c];this.closeAllOthers(),r.$page.each((function(){s(this).data(i.style,s(this).attr("style")||"")})),r.$wndw.trigger(o.resize+"-"+c,[!0]);var t=[a.opened];n.blockUI&&t.push(a.blocking),"modal"==n.blockUI&&t.push(a.modal),n.moveBackground&&t.push(a.background),"left"!=n.position&&t.push(a.mm(this.opts[c].position)),"back"!=n.zposition&&t.push(a.mm(this.opts[c].zposition)),this.opts.extensions&&t.push(this.opts.extensions),r.$html.addClass(t.join(" ")),setTimeout((function(){e.vars.opened=!0}),this.conf.openingInterval),this.$menu.addClass(a.current+" "+a.opened)},s[l].prototype._openFinish=function(){var e=this;this.__transitionend(r.$page.first(),(function(){e.trigger("opened")}),this.conf.transitionDuration),r.$html.addClass(a.opening),this.trigger("opening")},s[l].prototype.close=function(){if(this.vars.opened){var e=this;this.__transitionend(r.$page.first(),(function(){e.$menu.removeClass(a.current).removeClass(a.opened),r.$html.removeClass(a.opened).removeClass(a.blocking).removeClass(a.modal).removeClass(a.background).removeClass(a.mm(e.opts[c].position)).removeClass(a.mm(e.opts[c].zposition)),e.opts.extensions&&r.$html.removeClass(e.opts.extensions),r.$page.each((function(){s(this).attr("style",s(this).data(i.style))})),e.vars.opened=!1,e.trigger("closed")}),this.conf.transitionDuration),r.$html.removeClass(a.opening),this.trigger("close"),this.trigger("closing")}},s[l].prototype.closeAllOthers=function(){r.$allMenus.not(this.$menu).each((function(){var e=s(this).data(l);e&&e.close&&e.close()}))},s[l].prototype.setPage=function(e){var n=this,t=this.conf[c];e&&e.length||(e=r.$body.find(t.pageSelector),t.noPageSelector.length&&(e=e.not(t.noPageSelector.join(", "))),e.length>1&&t.wrapPageIfNeeded&&(e=e.wrapAll("<"+this.conf[c].pageNodetype+" />").parent())),e.each((function(){s(this).attr("id",s(this).attr("id")||n.__getUniqueId())})),e.addClass(a.page+" "+a.slideout),r.$page=e,this.trigger("setPage",e)},s[l].prototype["_initWindow_"+c]=function(){r.$wndw.off(o.keydown+"-"+c).on(o.keydown+"-"+c,(function(e){return r.$html.hasClass(a.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0}));var e=0;r.$wndw.off(o.resize+"-"+c).on(o.resize+"-"+c,(function(n,t){if(1==r.$page.length&&(t||r.$html.hasClass(a.opened))){var s=r.$wndw.height();(t||s!=e)&&(e=s,r.$page.css("minHeight",s))}}))},s[l].prototype._initBlocker=function(){var e=this;this.opts[c].blockUI&&(r.$blck||(r.$blck=s('<div id="'+a.blocker+'" class="'+a.slideout+'" />')),r.$blck.appendTo(r.$body).off(o.touchstart+"-"+c+" "+o.touchmove+"-"+c).on(o.touchstart+"-"+c+" "+o.touchmove+"-"+c,(function(e){e.preventDefault(),e.stopPropagation(),r.$blck.trigger(o.mousedown+"-"+c)})).off(o.mousedown+"-"+c).on(o.mousedown+"-"+c,(function(n){n.preventDefault(),r.$html.hasClass(a.modal)||(e.closeAllOthers(),e.close())})))},function(e){var n,t,s,a="mmenu",i="scrollBugFix";e[a].addons[i]={setup:function(){var o=this,r=this.opts[i];if(this.conf[i],s=e[a].glbl,e[a].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&("boolean"==typeof r&&(r={fix:r}),"object"!=typeof r&&(r={}),(r=this.opts[i]=e.extend(!0,{},e[a].defaults[i],r)).fix)){var l=this.$menu.attr("id"),c=!1;this.bind("opening",(function(){this.$pnls.children("."+n.current).scrollTop(0)})),s.$docu.on(t.touchmove,(function(e){o.vars.opened&&e.preventDefault()})),s.$body.on(t.touchstart,"#"+l+"> ."+n.panels+"> ."+n.current,(function(e){o.vars.opened&&(c||(c=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),c=!1))})).on(t.touchmove,"#"+l+"> ."+n.panels+"> ."+n.current,(function(n){o.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&n.stopPropagation()})),s.$wndw.on(t.orientationchange,(function(){o.$pnls.children("."+n.current).scrollTop(0).css({"-webkit-overflow-scrolling":"auto"}).css({"-webkit-overflow-scrolling":"touch"})}))}},add:function(){n=e[a]._c,e[a]._d,t=e[a]._e},clickAnchor:function(e,n){}},e[a].defaults[i]={fix:!0}}(d)}},function(e){e(e.s=2878)}]);
2
2
  //# sourceMappingURL=plugin.mobile_nav.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"names":["super_","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","options","call","this","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","click","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","addEventListener","utils","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild","n","a","t","addons","r","s","opts","c","conf","glbl","Array","o","d","content","l","position","h","height","Math","min","max","f","u","v","p","b","ceil","children","not","btn","hasbtns","prependTo","$menu","hasnavbar","_c","_d","_e","clickAnchor","configuration","breadcrumbSeparator","classNames","breadcrumbs","appendTo","first","panel","closest","text","unshift","parent","join","separator","html","$pnls","current","$page","next","panelNext","hidden","prev","hasClass","vertical","panelPrev","search","searchfield","addTo","panelTitle","$wndw","$docu","$html","$body","split","mm","umm","slice","version","_api","cbck","___deprecated","_initMenu","_initAnchors","_initAddons","init","___debug","uniqueId","defaults","onClick","setSelected","slidingSubmenus","divider","inset","selected","spacer","clone","openingInterval","panelNodetype","transitionDuration","nopanel","_initPanels","update","listview","openPanel","parents","subopened","highest","support","csstransitions","nextAll","setTimeout","__transitionend","closePanel","closeAllPanels","togglePanel","push","shift","__getUniqueId","contents","nodeType","remove","panels","wrapper","menu","__findAddBack","__refactorClass","nolistview","wrap","removeAttr","sub","insertBefore","fullsubopen","last","parentsUntil","end","on","preventDefault","__valueOrFn","target","_getOriginalMenuId","__api","__filterListItems","one","transitionend","webkitTransitionEnd","fn","touch","navigator","msMaxTouchPoints","Modernizr","documentElement","style","charAt","toUpperCase","substr","merge","pageNodetype","$allMenus","offcanvas","setPage","_initBlocker","menuInjectMethod","menuWrapperSelector","hash","blockUI","moveBackground","noPageSelector","_openSetup","_openFinish","closeAllOthers","resize","blocking","modal","background","opening","wrapAll","page","slideout","off","keydown","keyCode","css","$blck","blocker","touchstart","touchmove","stopPropagation","mousedown","fix","scrollTop","currentTarget","scrollHeight","offsetHeight","innerHeight","orientationchange"],"mappings":"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","file":"plugins/plugin.mobile_nav.js","sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n]\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters').click(() => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode').click(\n () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode').click(\n () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode').click(\n () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n })\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n}\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.mobile_nav.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n];\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters')\n .on(\"click\", () => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode')\n .on(\"click\", () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n });\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n};\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"names":["super_","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","options","call","this","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","on","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","click","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","addEventListener","utils","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild","n","a","t","addons","r","s","opts","c","conf","glbl","Array","o","d","content","l","position","h","height","Math","min","max","f","u","v","p","b","ceil","children","not","btn","hasbtns","prependTo","$menu","hasnavbar","_c","_d","_e","clickAnchor","configuration","breadcrumbSeparator","classNames","breadcrumbs","appendTo","first","panel","closest","text","unshift","parent","join","separator","html","$pnls","current","$page","next","panelNext","hidden","prev","hasClass","vertical","panelPrev","search","searchfield","addTo","panelTitle","$wndw","$docu","$html","$body","split","mm","umm","slice","version","_api","cbck","___deprecated","_initMenu","_initAnchors","_initAddons","init","___debug","uniqueId","defaults","onClick","setSelected","slidingSubmenus","divider","inset","selected","spacer","clone","openingInterval","panelNodetype","transitionDuration","nopanel","_initPanels","update","listview","openPanel","parents","subopened","highest","support","csstransitions","nextAll","setTimeout","__transitionend","closePanel","closeAllPanels","togglePanel","push","shift","__getUniqueId","contents","nodeType","remove","panels","wrapper","menu","__findAddBack","__refactorClass","nolistview","wrap","removeAttr","sub","insertBefore","fullsubopen","last","parentsUntil","end","preventDefault","__valueOrFn","target","_getOriginalMenuId","__api","__filterListItems","one","transitionend","webkitTransitionEnd","fn","touch","navigator","msMaxTouchPoints","Modernizr","documentElement","style","charAt","toUpperCase","substr","merge","pageNodetype","$allMenus","offcanvas","setPage","_initBlocker","menuInjectMethod","menuWrapperSelector","hash","blockUI","moveBackground","noPageSelector","_openSetup","_openFinish","closeAllOthers","resize","blocking","modal","background","opening","wrapAll","page","slideout","off","keydown","keyCode","css","$blck","blocker","touchstart","touchmove","stopPropagation","mousedown","fix","scrollTop","currentTarget","scrollHeight","offsetHeight","innerHeight","orientationchange"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[951],{5842:function(e,t,n){"use strict";var o={};function r(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function a(e,t,n,o,r,a){return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+(n?"; expires=".concat(n.toUTCString()):"")+(r?"; domain=".concat(r):"")+(o?"; path=".concat(o):"")+(a?"; secure":""),!0}function i(e,t,n){return!!hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain=".concat(n):"")+(t?"; path=".concat(t):""),!0)}n.r(o),n.d(o,{getItem:function(){return r},removeItem:function(){return i},setItem:function(){return a}}),n(4916),n(4723),n(5306),n(4603),n(9714);var u,c=n(3609);BookReader.docCookies=o,c.extend(BookReader.defaultOptions,{enablePageResume:!0,resumeCookiePath:null}),BookReader.prototype.init=(u=BookReader.prototype.init,function(){var e=this;u.call(this),this.options.enablePageResume&&this.bind(BookReader.eventNames.fragmentChange,(function(){var t=e.paramsFromCurrent();e.updateResumeValue(t.index)}))}),BookReader.prototype.getResumeValue=function(){var e=BookReader.docCookies.getItem("br-resume");return null!==e?parseInt(e):null},BookReader.prototype.getCookiePath=function(e){return e.match(".+?(?=/page/|/mode/|$)")[0]},BookReader.prototype.updateResumeValue=function(e,t){var n=new Date(+new Date+12096e5),o=this.options.resumeCookiePath||this.getCookiePath(window.location.pathname);BookReader.docCookies.setItem(t||"br-resume",e,n,o,null,!1)}},9587:function(e,t,n){var o=n(111),r=n(7674);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},4603:function(e,t,n){var o=n(9781),r=n(7854),a=n(4705),i=n(9587),u=n(3070).f,c=n(8006).f,s=n(7850),p=n(7066),d=n(2999),f=n(1320),l=n(7293),m=n(9909).enforce,h=n(6340),g=n(5112)("match"),k=r.RegExp,v=k.prototype,R=/a/g,C=/a/g,x=new k(R)!==R,I=d.UNSUPPORTED_Y;if(o&&a("RegExp",!x||I||l((function(){return C[g]=!1,k(R)!=R||k(C)==C||"/a/i"!=k(R,"i")})))){for(var y=function(e,t){var n,o=this instanceof y,r=s(e),a=void 0===t;if(!o&&r&&e.constructor===y&&a)return e;x?r&&!a&&(e=e.source):e instanceof y&&(a&&(t=p.call(e)),e=e.source),I&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=i(x?new k(e,t):k(e,t),o?this:v,y);return I&&n&&(m(u).sticky=!0),u},b=function(e){e in y||u(y,e,{configurable:!0,get:function(){return k[e]},set:function(t){k[e]=t}})},w=c(k),B=0;w.length>B;)b(w[B++]);v.constructor=y,y.prototype=v,f(r,"RegExp",y)}h("RegExp")},4723:function(e,t,n){"use strict";var o=n(7007),r=n(9670),a=n(7466),i=n(4488),u=n(1530),c=n(7651);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=null==t?void 0:t[e];return void 0!==o?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),s=String(this);if(!i.global)return c(i,s);var p=i.unicode;i.lastIndex=0;for(var d,f=[],l=0;null!==(d=c(i,s));){var m=String(d[0]);f[l]=m,""===m&&(i.lastIndex=u(s,a(i.lastIndex),p)),l++}return 0===l?null:f}]}))}},function(e){"use strict";e(e.s=5842)}]);
1
+ "use strict";(self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[951],{5842:function(e,o,t){var n={};function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;try{return e.cookie,!1}catch(e){return!0}}t.r(n),t.d(n,{areCookiesBlocked:function(){return r},getItem:function(){return u},removeItem:function(){return i},setItem:function(){return c}}),t(1058),t(4916),t(4723),t(5306),t(4603),t(9714);var a=r();function u(e){return a||!e?null:decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function c(e,o,t,n,r,u){return!a&&(document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(o)+(t?"; expires=".concat(t.toUTCString()):"")+(r?"; domain=".concat(r):"")+(n?"; path=".concat(n):"")+(u?"; secure":""),!0)}function i(e,o,t){return!a&&!!hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(t?"; domain=".concat(t):"")+(o?"; path=".concat(o):""),!0)}var s,d=t(3609);BookReader.docCookies=n,d.extend(BookReader.defaultOptions,{enablePageResume:!0,resumeCookiePath:null}),BookReader.prototype.init=(s=BookReader.prototype.init,function(){var e=this;s.call(this),this.options.enablePageResume&&this.bind(BookReader.eventNames.fragmentChange,(function(){var o=e.paramsFromCurrent();e.updateResumeValue(o.index)}))}),BookReader.prototype.getResumeValue=function(){var e=BookReader.docCookies.getItem("br-resume");return null!==e?parseInt(e):null},BookReader.prototype.getCookiePath=function(e){return e.match(".+?(?=/page/|/mode/|$)")[0]},BookReader.prototype.updateResumeValue=function(e,o){var t=new Date(+new Date+12096e5),n=this.options.resumeCookiePath||this.getCookiePath(window.location.pathname);BookReader.docCookies.setItem(o||"br-resume",e,t,n,null,!1)}}},function(e){e(e.s=5842)}]);
2
2
  //# sourceMappingURL=plugin.resume.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js","webpack://@internetarchive/bookreader/./node_modules/core-js/internals/inherit-if-required.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.string.match.js"],"names":["getItem","sKey","decodeURIComponent","document","cookie","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem","super_","BookReader","docCookies","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","call","this","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname","isObject","setPrototypeOf","module","exports","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","constructor","DESCRIPTORS","global","isForced","inheritIfRequired","defineProperty","getOwnPropertyNames","isRegExp","getFlags","stickyHelpers","redefine","fails","enforceInternalState","setSpecies","MATCH","wellKnownSymbol","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","flags","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","undefined","source","indexOf","result","proxy","key","configurable","get","set","it","keys","length","fixRegExpWellKnownSymbolLogic","anObject","toLength","requireObjectCoercible","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","regexp","O","matcher","String","res","done","value","rx","S","fullUnicode","unicode","lastIndex","A","n","matchStr"],"mappings":"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","file":"plugins/plugin.resume.js","sourcesContent":["/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (!sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {true}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n}\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n}\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.resume.js","mappings":"wJAgBO,SAASA,IAAkC,IAAhBC,EAAgB,uDAAVC,SACtC,IAEE,OADAD,EAAIE,QACG,EACP,MAAOC,GACP,OAAO,G,iMAIX,IAAMC,EAAkBL,IASjB,SAASM,EAAQC,GACtB,OAAIF,IAAoBE,EAAa,KAE9BC,mBAELN,SAASC,OAAOM,QAAQ,IAAIC,OAAO,mBAAqBC,mBAAmBJ,GAAME,QAAQ,cAAe,QAAU,+BAAgC,QAAU,KAezJ,SAASG,EAAQL,EAAMM,EAAQC,EAAMC,EAAOC,EAASC,GAC1D,OAAIZ,IAEJH,SAASC,OAASQ,mBAAmBJ,GAAQ,IAAMI,mBAAmBE,IACnEC,EAAO,aAAH,OAAgBA,EAAKI,eAAkB,KAC3CF,EAAU,YAAH,OAAeA,GAAY,KAClCD,EAAQ,UAAH,OAAaA,GAAU,KAC5BE,EAAU,WAAa,KAEnB,GAYF,SAASE,EAAWZ,EAAMQ,EAAOC,GACtC,OAAIX,KAECe,QAAQb,KAEbL,SAASC,OAASQ,mBAAmBJ,GAAnB,4CACfS,EAAU,YAAH,OAAeA,GAAY,KAClCD,EAAQ,UAAH,OAAaA,GAAU,KAExB,G,ICnE6BM,E,UAZtCC,WAAWC,WAAaA,EAKxBC,EAAOC,OAAOH,WAAWI,eAAgB,CACvCC,kBAAkB,EAElBC,iBAAkB,OAIpBN,WAAWO,UAAUC,MAAiBT,EAUnCC,WAAWO,UAAUC,KATf,WAAW,WAChBT,EAAOU,KAAKC,MACRA,KAAKC,QAAQN,kBACfK,KAAKE,KAAKZ,WAAWa,WAAWC,gBAAgB,WAC9C,IAAMC,EAAS,EAAKC,oBACpB,EAAKC,kBAAkBF,EAAOG,YAYtClB,WAAWO,UAAUY,eAAiB,WACpC,IAAMC,EAAMpB,WAAWC,WAAWjB,QAAQ,aAC1C,OAAY,OAARoC,EAAqBC,SAASD,GACtB,MAWdpB,WAAWO,UAAUe,cAAgB,SAASC,GAC5C,OAAOA,EAAYC,MAAM,0BAA0B,IAUrDxB,WAAWO,UAAUU,kBAAoB,SAASC,EAAOO,GACvD,IAAMC,EAAM,IAAIC,MAAM,IAAIA,KAAO,SAG3BC,EAAOlB,KAAKC,QAAQL,kBACrBI,KAAKY,cAAcO,OAAOC,SAASC,UACxC/B,WAAWC,WAAWX,QAAQmC,GAAc,YAAaP,EAAOQ,EAAKE,EAAM,MAAM,M","sources":["webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js"],"sourcesContent":["/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Check to see if the browser has cookies enabled.\n * Accessing document.cookies errors if eg iframe with sandbox enabled.\n * @returns {boolean}\n */\nexport function areCookiesBlocked(doc = document) {\n try {\n doc.cookie;\n return false;\n } catch (e) {\n return true;\n }\n}\n\nconst COOKIES_BLOCKED = areCookiesBlocked();\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (COOKIES_BLOCKED || !sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {boolean}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n if (COOKIES_BLOCKED) return false;\n\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n if (COOKIES_BLOCKED) return false;\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n};\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n};\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n};\n"],"names":["areCookiesBlocked","doc","document","cookie","e","COOKIES_BLOCKED","getItem","sKey","decodeURIComponent","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem","super_","BookReader","docCookies","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","call","this","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname"],"sourceRoot":""}