{"version":3,"file":"js/app.12446ef0.js","mappings":"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","sources":["webpack://tipitaka.lk/./src/components/DictionaryResults.vue","webpack://tipitaka.lk/src/components/DictionaryResults.vue","webpack://tipitaka.lk/./src/components/DictionaryResults.vue?1a28","webpack://tipitaka.lk/./src/components/DictionaryResults.vue?1353","webpack://tipitaka.lk/./src/components/TabColumnSelector.vue","webpack://tipitaka.lk/src/components/TabColumnSelector.vue","webpack://tipitaka.lk/./src/components/TabColumnSelector.vue?bc92","webpack://tipitaka.lk/./src/components/TabColumnSelector.vue?37fc","webpack://tipitaka.lk/./src/components/TipitakaLink.vue","webpack://tipitaka.lk/src/components/TipitakaLink.vue","webpack://tipitaka.lk/./src/components/TipitakaLink.vue?d9ab","webpack://tipitaka.lk/./src/components/TipitakaLink.vue?6c66","webpack://tipitaka.lk/./src/constants.js","webpack://tipitaka.lk/./src/App.vue","webpack://tipitaka.lk/./src/components/TipitakaTree.vue","webpack://tipitaka.lk/src/components/TipitakaTree.vue","webpack://tipitaka.lk/./src/components/TipitakaTree.vue?c493","webpack://tipitaka.lk/./src/components/TipitakaTree.vue?816c","webpack://tipitaka.lk/src/App.vue","webpack://tipitaka.lk/./src/App.vue?32a7","webpack://tipitaka.lk/./src/App.vue?0e40","webpack://tipitaka.lk/./src/views/Welcome.vue","webpack://tipitaka.lk/src/views/Welcome.vue","webpack://tipitaka.lk/./src/views/Welcome.vue?5ba7","webpack://tipitaka.lk/./src/views/Welcome.vue?dec7","webpack://tipitaka.lk/./src/views/Home.vue","webpack://tipitaka.lk/./src/components/TextTab.vue","webpack://tipitaka.lk/./src/components/TextEntry.vue","webpack://tipitaka.lk/./src/components/AtuwaLinkIcon.vue","webpack://tipitaka.lk/src/components/AtuwaLinkIcon.vue","webpack://tipitaka.lk/./src/components/AtuwaLinkIcon.vue?3d70","webpack://tipitaka.lk/./src/components/AtuwaLinkIcon.vue?9935","webpack://tipitaka.lk/./src/components/Footnote.vue","webpack://tipitaka.lk/src/components/Footnote.vue","webpack://tipitaka.lk/./src/components/Footnote.vue?7e40","webpack://tipitaka.lk/./src/components/Footnote.vue?b529","webpack://tipitaka.lk/src/components/TextEntry.vue","webpack://tipitaka.lk/./src/components/TextEntry.vue?203b","webpack://tipitaka.lk/./src/components/TextEntry.vue?eb33","webpack://tipitaka.lk/./src/components/FootnoteList.vue","webpack://tipitaka.lk/src/components/FootnoteList.vue","webpack://tipitaka.lk/./src/components/FootnoteList.vue?0208","webpack://tipitaka.lk/./src/components/FootnoteList.vue?cab1","webpack://tipitaka.lk/./src/scanned-pages.js","webpack://tipitaka.lk/src/components/TextTab.vue","webpack://tipitaka.lk/./src/components/TextTab.vue?ac4e","webpack://tipitaka.lk/./src/components/TextTab.vue?8c1e","webpack://tipitaka.lk/./src/components/AudioControl.vue","webpack://tipitaka.lk/src/components/AudioControl.vue","webpack://tipitaka.lk/./src/components/AudioControl.vue?958e","webpack://tipitaka.lk/./src/components/AudioControl.vue?17a7","webpack://tipitaka.lk/src/views/Home.vue","webpack://tipitaka.lk/./src/views/Home.vue?b6a9","webpack://tipitaka.lk/./src/views/Home.vue?8611","webpack://tipitaka.lk/./src/router/index.js","webpack://tipitaka.lk/./src/plugins/vuetify.js","webpack://tipitaka.lk/./src/store/tree.js","webpack://tipitaka.lk/./src/store/search.js","webpack://tipitaka.lk/./src/store/tabs.js","webpack://tipitaka.lk/./src/store/audio.js","webpack://tipitaka.lk/./src/store/index.js","webpack://tipitaka.lk/./src/components/ShareLinkIcon.vue","webpack://tipitaka.lk/src/components/ShareLinkIcon.vue","webpack://tipitaka.lk/./src/components/ShareLinkIcon.vue?842e","webpack://tipitaka.lk/./src/components/ShareLinkIcon.vue?c191","webpack://tipitaka.lk/./src/components/BookmarkIcon.vue","webpack://tipitaka.lk/src/components/BookmarkIcon.vue","webpack://tipitaka.lk/./src/components/BookmarkIcon.vue?e487","webpack://tipitaka.lk/./src/components/BookmarkIcon.vue?5e81","webpack://tipitaka.lk/./src/main.js","webpack://tipitaka.lk/./src/text-convert.mjs","webpack://tipitaka.lk/webpack/bootstrap","webpack://tipitaka.lk/webpack/runtime/chunk loaded","webpack://tipitaka.lk/webpack/runtime/compat get default export","webpack://tipitaka.lk/webpack/runtime/define property getters","webpack://tipitaka.lk/webpack/runtime/ensure chunk","webpack://tipitaka.lk/webpack/runtime/get javascript chunk filename","webpack://tipitaka.lk/webpack/runtime/get mini-css chunk filename","webpack://tipitaka.lk/webpack/runtime/global","webpack://tipitaka.lk/webpack/runtime/hasOwnProperty shorthand","webpack://tipitaka.lk/webpack/runtime/load script","webpack://tipitaka.lk/webpack/runtime/make namespace object","webpack://tipitaka.lk/webpack/runtime/node module decorator","webpack://tipitaka.lk/webpack/runtime/publicPath","webpack://tipitaka.lk/webpack/runtime/css loading","webpack://tipitaka.lk/webpack/runtime/jsonp chunk loading","webpack://tipitaka.lk/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.isEmptyResults)?_c('v-sheet',[(_vm.results.breakups.length)?_c('v-sheet',{staticClass:\"d-flex flex-wrap my-2\"},_vm._l((_vm.results.breakups),function({word, type, breakup},i){return _c('div',{key:i,staticClass:\"px-4 breakup\"},[_c('span',[_vm._v(_vm._s(word))]),_c('v-chip',{staticClass:\"mx-1\",attrs:{\"outlined\":\"\"}},[_vm._v(_vm._s(type))]),_c('span',[_vm._v(_vm._s(breakup))])],1)}),0):_vm._e(),(_vm.results.matches.length)?_c('v-simple-table',[_c('tbody',_vm._l((_vm.results.matches),function({ word, dict, meaning },i){return _c('tr',{key:i},[_c('td',{staticClass:\"result\",style:(_vm.$store.getters['styles'])},[_c('span',{staticClass:\"word\"},[_vm._v(_vm._s(word))]),_c('v-chip',{staticClass:\"mx-3\",attrs:{\"x-small\":\"\"}},[_vm._v(_vm._s(dict))]),_c('span',{staticClass:\"meaning\",domProps:{\"innerHTML\":_vm._s(meaning)}})],1)])}),0)]):_vm._e(),(_vm.results.prefixWords.length)?_c('v-card',[_c('v-card-subtitle',[_vm._v(\"ශබ්දකෝෂ වල අඩංගු මෙම අකුරු වලින් ඇරඹෙන වෙනත් වචන\")]),_c('v-card-text',_vm._l((_vm.results.prefixWords),function({ word },i){return _c('v-chip',{key:i,staticClass:\"ma-1\",on:{\"click\":function($event){return _vm.$router.push({ name: 'dict', params: { word } })}}},[_vm._v(_vm._s(word))])}),1)],1):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DictionaryResults.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DictionaryResults.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DictionaryResults.vue?vue&type=template&id=4af264f3&scoped=true&\"\nimport script from \"./DictionaryResults.vue?vue&type=script&lang=js&\"\nexport * from \"./DictionaryResults.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DictionaryResults.vue?vue&type=style&index=0&id=4af264f3&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4af264f3\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-btn-toggle',{attrs:{\"dense\":\"\",\"mandatory\":\"\",\"rounded\":\"\",\"color\":\"primary\"},model:{value:(_vm.modelValue),callback:function ($$v) {_vm.modelValue=$$v},expression:\"modelValue\"}},[_c('v-btn',{attrs:{\"value\":0,\"icon\":_vm.iconType}},[_vm._v(\"පාළි\")]),(_vm.smAndUp)?_c('v-btn',{attrs:{\"value\":2,\"icon\":_vm.iconType}},[_c('v-icon',[_vm._v(\"mdi-view-column\")])],1):_vm._e(),_c('v-btn',{attrs:{\"value\":1,\"icon\":_vm.iconType}},[_vm._v(\"සිංහල\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabColumnSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TabColumnSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TabColumnSelector.vue?vue&type=template&id=484713d8&scoped=true&\"\nimport script from \"./TabColumnSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./TabColumnSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"484713d8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('span',{staticClass:\"root py-2\",style:(_vm.$store.getters['styles']),on:{\"click\":_vm.openSutta}},[_c('span',{staticClass:\"pitaka-icon mr-2 pa-1\"},[_vm._v(_vm._s(_vm.items[0].text))]),_c('span',{staticClass:\"sutta-name mr-2\"},[_vm._v(\" \"+_vm._s(_vm.suttaNameItem.text.replace(/[\\(\\)\\[\\]]/g, ''))+\" \")]),_vm._l((_vm.items.slice(1, -1)),function(item,i){return _c('span',{key:item.key,staticClass:\"parents\"},[(i > 0)?_c('v-icon',[_vm._v(\"mdi-chevron-right\")]):_vm._e(),_c('span',[_vm._v(_vm._s(item.text))])],1)})],2),_c('BookmarkIcon',{staticClass:\"ml-1\",attrs:{\"entry\":_vm.params}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TipitakaLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TipitakaLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TipitakaLink.vue?vue&type=template&id=213a6e61&scoped=true&\"\nimport script from \"./TipitakaLink.vue?vue&type=script&lang=js&\"\nexport * from \"./TipitakaLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TipitakaLink.vue?vue&type=style&index=0&id=213a6e61&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"213a6e61\",\n null\n \n)\n\nexport default component.exports","/** special flags and constants */\r\nexport const tipitakaAppVersion = 2.0 // used to determine if app needs to be updated \r\n\r\nconst settingsVersion = '2'\r\nexport const settingsKey = `tipitaka.lk-settings-${settingsVersion}`\r\nconst bookmarksVersion = '1'\r\nexport const bookmarksStorageKey = `tipitaka.lk-bookmarks-${bookmarksVersion}`\r\nconst searchSettingsVersion = '1'\r\nexport const searchSettingsKey = `tipitaka.lk-search-settings-${searchSettingsVersion}`\r\n\r\nexport const filterTreeParents = ['vp','sp','ap','atta-sp','dn','mn','sn','an','kn']\r\nexport const allFilterKeys = [\"vp-prj\",\"vp-pct\",\"vp-mv\",\"vp-cv\",\"vp-pv\",\"dn-1\",\"dn-2\",\"dn-3\",\"mn-1\",\"mn-2\",\"mn-3\",\"sn-1\",\"sn-2\",\"sn-3\",\"sn-4\",\"sn-5\",\r\n\"an-1\",\"an-2\",\"an-3\",\"an-4\",\"an-5\",\"an-6\",\"an-7\",\"an-8\",\"an-9\",\"an-10\",\"an-11\",\"kn-khp\",\"kn-dhp\",\"kn-ud\",\"kn-iti\",\"kn-snp\",\r\n\"kn-vv\",\"kn-pv\",\"kn-thag\",\"kn-thig\",\"kn-mn\",\"kn-nc\",\"kn-jat\",\"kn-ps\",\"kn-ap\",\"kn-bv\",\"kn-cp\",\"kn-nett\",\"kn-petk\",\"ap-dhs\",\"ap-vbh\",\"ap-kvu\",\r\n\"ap-dhk\",\"ap-pug\",\"ap-yam\",\"ap-pat\",\"atta-vp\",\"atta-dn\",\"atta-mn\",\"atta-sn\",\"atta-an\",\"atta-kn\",\"atta-ap\",\"anya-vm\"]\r\n\r\nexport const allFilterLength = allFilterKeys.length\r\n\r\nexport const Language = Object.freeze({\r\n SI: 'si',\r\n EN: 'en',\r\n})\r\n\r\nexport const dictionaryInfo = {\r\n 'පොල්වත්තේ බුද්ධදත්ත': [Language.SI, 'BUS', 'si-buddhadatta', {d: 'පොල්වත්තේ බුද්ධදත්ත හිමි, පාලි-සිංහල අකාරාදිය', g: true}],\r\n 'මඩිතියවෙල සුමඞ්ගල': [Language.SI, 'MS', 'si-sumangala', {d: 'මඩිතියවෙල සිරි සුමඞ්ගල හිමි, පාලි-සිංහල ශබ්දකෝෂය', g: true}],\r\n\r\n 'Buddhadatta Concise': [Language.EN, 'BUE', 'en-buddhadatta', {d: 'Pali Dictionary by Polwatte Buddhadatta Mahathera', o: 'Projector', n: 20970, g: true}],\r\n 'Nyanatiloka Buddhist': [Language.EN, 'ND', 'en-nyanatiloka', {d: 'Buddhist Dictionary by Ven Nyanatiloka', o: 'pced stardict', g: true}],\r\n 'Pali Text Society': [Language.EN, 'PTS', 'en-pts', {d: 'Pali Text Society Dictionary', o: 'dpr', g: true}],\r\n 'Proper Names': [Language.EN, 'PN', 'en-dppn', {d: 'Pali Proper Names by G P Malalasekera', o: 'dpr', g: true}],\r\n 'VRI English': [Language.EN, 'VRI', 'en-vri', {d: 'Dictionary distributed with VRI Chatta Sangayana Software', g: true, n: 13508}],\r\n 'Critical PD': [Language.EN, 'CR', 'en-critical', {d: 'Critical Pali Dictionary - limited number of words', o: 'extracted from https://cpd.uni-koeln.de/', n: 29669, g: true}],\r\n}\r\n\r\n// helper function to copy the title to the og:title\r\nexport const copyMetaTitle = (title) => ({\r\n title,\r\n meta: [\r\n { property: 'og:title', content: title, vmid: 'og:title' },\r\n ]\r\n})\r\n\r\n// fetch api on chrome does not support file:// access (which is needed in android to access files from within webview)\r\n// so instead of using axios/fetch use XHR\r\nexport function getJson(fileUrl) {\r\n return new Promise(function(resolve, reject) {\r\n var xhr = new XMLHttpRequest\r\n xhr.onload = function() {\r\n resolve(JSON.parse(xhr.responseText))\r\n //resolve(new Response(xhr.responseText, {status: xhr.status}))\r\n }\r\n xhr.onerror = function() {\r\n reject(new TypeError(`Request to file ${fileUrl} failed`))\r\n }\r\n if (typeof Android !== 'undefined') fileUrl = '/android_asset' + fileUrl\r\n xhr.open('GET', fileUrl)\r\n xhr.send(null)\r\n })\r\n}\r\n\r\n\r\nexport async function callAndroidAsync(javaFuncName, params) {\r\n\tconst rand = 'asyncJava_' + Math.floor(Math.random() * 1000000)\r\n\twindow[rand] = {}\r\n\t\r\n\t// func called from android\r\n\twindow[rand].callback = (isSuccess) => {\r\n const dataOrErr = Android.runAsyncResult(rand)\r\n //const unEscaped = dataOrErr.replace(/\\u058D/g, \"'\") // use some symbol not used in the data\r\n\t\tif (isSuccess) window[rand].resolve(dataOrErr)\r\n\t\telse window[rand].reject(dataOrErr)\r\n\t\tdelete window[rand] // clean up\r\n\t}\r\n\t\r\n\t// call some android function that returns immediately - should run in a new thread \r\n\t// setTimeout(() => window[rand].callback(false, params.val * 2), 4000) // see testCallJavaAsync\r\n\tAndroid.runAsync(rand, javaFuncName, JSON.stringify(params))\r\n\r\n\treturn new Promise((resolve, reject) => {\r\n\t\twindow[rand].resolve = (data) => resolve(data)\r\n\t\twindow[rand].reject = (err) => reject(err)\r\n\t})\r\n}\r\n\r\n// used for comparing entry locations\r\nexport function entryToKeyStr(entry) {\r\n const { key, eInd, language } = entry\r\n return `${key}:${eInd.join('-')}:${language}`\r\n}\r\n// same as above but without language\r\nexport function entryToAudioKey(entry) { \r\n const { key, eInd } = entry\r\n return `${key}:${eInd.join('-')}`\r\n}\r\n\r\n// async function testCallJavaAsync() {\r\n// \tconst res = await callJavaAsync('testFunc', { val: 100 })\r\n// \tconsole.log(`received res = ${res}`)\r\n// }\r\n// testCallJavaAsync()","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_c('v-app-bar',{attrs:{\"app\":\"\",\"dense\":\"\",\"clipped-left\":\"\",\"hide-on-scroll\":_vm.appBarHide,\"extension-height\":_vm.tabsHeight},scopedSlots:_vm._u([(_vm.isTextTab)?{key:\"extension\",fn:function(){return [_c('v-tabs',{attrs:{\"center-active\":\"\",\"centered\":\"\",\"show-arrows\":\"mobile\",\"height\":_vm.tabsHeight},model:{value:(_vm.activeTabInd),callback:function ($$v) {_vm.activeTabInd=$$v},expression:\"activeTabInd\"}},_vm._l((_vm.tabList),function(tab,ind){return _c('v-tab',{key:ind},[_vm._v(\" \"+_vm._s(_vm.getName(tab.key))+\" \"),_c('v-btn',{staticClass:\"ml-1 mr-n2\",attrs:{\"icon\":\"\",\"x-small\":\"\",\"fab\":\"\",\"color\":\"error\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$store.commit('tabs/closeTab', ind)}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)}),1)]},proxy:true}:null],null,true)},[_c('v-app-bar-nav-icon',{attrs:{\"color\":_vm.showTree ? 'primary' : ''},on:{\"click\":function($event){_vm.showTree = !_vm.showTree}}}),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(_vm.mdAndUp)?_c('v-btn',_vm._g({staticClass:\"mr-2\",attrs:{\"tile\":\"\",\"outlined\":\"\"}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.searchTypeInfo[_vm.searchType][1]))]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.searchTypeInfo[_vm.searchType][0]))])],1):_c('v-btn',_vm._g({staticClass:\"mr-1\",attrs:{\"icon\":\"\",\"tile\":\"\"}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(_vm._s(_vm.searchTypeInfo[_vm.searchType][1]))])],1)]}}])},[_c('v-list',{attrs:{\"dense\":\"\",\"shaped\":\"\"}},[_c('v-list-item',{on:{\"click\":function($event){_vm.searchType = 'title'}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-format-title\")])],1),_c('v-list-item-title',[_vm._v(\"සූත්‍ර නාම සෙවීම\")]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(_vm._s(_vm.searchType == 'title' ? 'mdi-check' : ''))])],1)],1),_c('v-list-item',{on:{\"click\":function($event){_vm.searchType = 'fts'}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-text\")])],1),_c('v-list-item-title',[_vm._v(\"සූත්‍ර අන්තර්ගතය සෙවීම\")]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(_vm._s(_vm.searchType == 'fts' ? 'mdi-check' : ''))])],1)],1),_c('v-list-item',{on:{\"click\":function($event){_vm.searchType = 'dict'}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-book-open-page-variant\")])],1),_c('v-list-item-title',[_vm._v(\"පාලි ශබ්දකෝෂ සෙවීම\")]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(_vm._s(_vm.searchType == 'dict' ? 'mdi-check' : ''))])],1)],1),_c('v-divider',{attrs:{\"inset\":\"\"}}),_c('v-list-item',{attrs:{\"input-value\":_vm.isView('Settings')},on:{\"click\":function($event){return _vm.toggleView('Settings')}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-cog\")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.isView('Settings') ? 'සැකසුමෙන් පිටවෙන්න' : 'සැකසුම් / Settings'))])],1),_c('v-list-item',{attrs:{\"input-value\":_vm.isView('Bookmarks')},on:{\"click\":function($event){return _vm.toggleView('Bookmarks')}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"star\"}},[_vm._v(\"mdi-star\")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.isView('Bookmarks') ? 'තරු යෙදුමෙන් පිටවෙන්න' : 'තරු යෙදූ සූත්‍ර / Bookmarks'))])],1),_c('v-list-item',{attrs:{\"input-value\":_vm.isView('Abbreviations')},on:{\"click\":function($event){return _vm.toggleView('Abbreviations')}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-asterisk\")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.isView('Abbreviations') ? 'කෙටි යෙදුමෙන් පිටවෙන්න' : 'කෙටි යෙදුම් / Abbreviations'))])],1),_c('v-list-item',{attrs:{\"to\":\"Help\",\"disabled\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-help-circle\")])],1),_c('v-list-item-title',[_vm._v(\"උදව් / උපදෙස්\")])],1),_c('v-list-item',{attrs:{\"href\":\"https://pathnirvana.github.io/tipitaka.lk/\",\"target\":\"_blank\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-information\")])],1),_c('v-list-item-title',[_vm._v(\"අප ගැන / About\")])],1),_c('v-list-item',{attrs:{\"href\":\"https://github.com/pathnirvana/tipitaka.lk\",\"target\":\"_blank\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-github\")])],1),_c('v-list-item-title',[_vm._v(\"කේත කෝෂ්ඨය / GitHub\")])],1)],1)],1),_c('v-text-field',{attrs:{\"hide-details\":\"\",\"placeholder\":\"සෙවුම් පද මෙතැන යොදන්න\",\"clearable\":\"\"},on:{\"focus\":function($event){return _vm.$store.commit('search/routeToSearch')}},model:{value:(_vm.searchInput),callback:function ($$v) {_vm.searchInput=$$v},expression:\"searchInput\"}}),_c('v-spacer'),(_vm.isTextTab)?[(_vm.mdAndUp)?[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$store.dispatch('tabs/navigateTabTo', -1)}}},[_c('v-icon',[_vm._v(\"mdi-skip-previous\")])],1),_c('TabColumnSelector',{attrs:{\"iconType\":true,\"varName\":\"tabColumns\"}}),_c('v-divider',{attrs:{\"vertical\":\"\"}}),(!_vm.isAttaActive)?_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"mandatory\":\"\",\"rounded\":\"\",\"color\":\"primary\"},model:{value:(_vm.showScanPage),callback:function ($$v) {_vm.showScanPage=$$v},expression:\"showScanPage\"}},[_c('v-btn',{attrs:{\"value\":false,\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-text-box\")])],1),_c('v-btn',{attrs:{\"value\":true,\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-scanner\")])],1)],1):_vm._e(),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$store.dispatch('tabs/navigateTabTo', 1)}}},[_c('v-icon',[_vm._v(\"mdi-skip-next\")])],1)]:_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"tile\":\"\"}},on),[_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-dots-vertical\")])],1)]}}],null,false,2275462859)},[_c('v-list',{attrs:{\"dense\":\"\",\"shaped\":\"\"}},[_c('v-list-item',[_c('TabColumnSelector',{attrs:{\"iconType\":false,\"varName\":\"tabColumns\"}})],1),_c('v-divider',{attrs:{\"inset\":\"\"}}),_c('v-list-item',{on:{\"click\":function($event){return _vm.$store.dispatch('tabs/navigateTabTo', -1)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-skip-previous\")])],1),_c('v-list-item-title',[_vm._v(\"කලින් සූත්‍රයට\")]),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(_vm._s(_vm.searchType == 'dict' ? 'mdi-check' : ''))])],1)],1),_c('v-list-item',{on:{\"click\":function($event){return _vm.$store.dispatch('tabs/navigateTabTo', 1)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-skip-next\")])],1),_c('v-list-item-title',[_vm._v(\"ඊළඟ සුත්‍රයට\")])],1),_c('v-divider',{attrs:{\"inset\":\"\"}}),(!_vm.isAttaActive)?_c('v-list-item',{on:{\"click\":function($event){_vm.showScanPage = !_vm.showScanPage}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(_vm.showScanPage ? 'mdi-text-box' : 'mdi-scanner'))])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.showScanPage ? 'නව පිටපතට' : 'පැරණි පිටපතට'))])],1):_vm._e()],1)],1)]:(_vm.tabList.length > 0)?[_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.$router.push({ name: 'Home' })}}},[_c('v-icon',[_vm._v(\"mdi-exit-to-app\")])],1)]:_vm._e()],2),_c('v-navigation-drawer',{attrs:{\"app\":\"\",\"clipped\":\"\",\"mobile-breakpoint\":\"1000\",\"width\":Math.min(350, _vm.$vuetify.breakpoint.width)},model:{value:(_vm.showTree),callback:function ($$v) {_vm.showTree=$$v},expression:\"showTree\"}},[_c('v-sheet',{staticClass:\"d-inline-flex\"},[_c('TipitakaTree',{on:{\"closeTree\":function($event){_vm.showTree = false}}})],1)],1),_c('v-main',[_c('router-view')],1),_c('v-snackbar',{attrs:{\"app\":\"\",\"top\":\"\",\"rounded\":\"pill\",\"color\":\"info\",\"timeout\":_vm.$store.state.snackbar.timeout},model:{value:(_vm.$store.state.snackbar.model),callback:function ($$v) {_vm.$set(_vm.$store.state.snackbar, \"model\", $$v)},expression:\"$store.state.snackbar.model\"}},[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('span',[_vm._v(_vm._s(_vm.$store.state.snackbar.message))])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',{style:(_vm.$store.getters['styles'])},[(_vm.$store.state.tree.isLoaded)?_c('v-treeview',{staticClass:\"tipitaka-tree\",attrs:{\"open\":_vm.openedBranches,\"items\":_vm.treeView,\"activatable\":\"\",\"hoverable\":\"\",\"active\":[this.getActiveKey],\"item-key\":\"key\",\"dense\":\"\",\"shaped\":\"\"},on:{\"update:open\":function($event){_vm.openedBranches=$event}},scopedSlots:_vm._u([{key:\"label\",fn:function({ item, open }){return [_c('span',{on:{\"mouseenter\":function($event){_vm.hoveredKey = item.key}}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function({ hover: hoverIcon }){return [(_vm.hoveredKey == item.key && _vm.getAudioAvailable(item.key))?_c('v-icon',{attrs:{\"color\":hoverIcon ? 'error' : 'info'},on:{\"click\":function($event){$event.stopPropagation();return _vm.openNewTab(item.key, true)}}},[_vm._v(\"mdi-play-circle\")]):(item.children)?_c('v-icon',[_vm._v(_vm._s(open ? 'mdi-folder-open' : 'mdi-folder'))]):_c('v-icon',[_vm._v(\"mdi-file-document-outline\")])]}}],null,true)}),_c('span',{attrs:{\"id\":item.key == _vm.getActiveKey ? 'activelabel' : ''},on:{\"click\":function($event){$event.stopPropagation();return _vm.openNewTab(item.key)}}},[_vm._v(\" \"+_vm._s(item[_vm.$store.state.treeLanguage])+\" \")])],1)]}}],null,false,2677960520),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}):_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}),_c('v-layout',[_c('v-flex',{staticClass:\"absolute-top-right\"},[_c('v-btn',{staticClass:\"mb-2\",attrs:{\"fab\":\"\",\"x-small\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('closeTree')}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('v-btn',{staticClass:\"mb-2\",attrs:{\"fab\":\"\",\"x-small\":\"\",\"color\":\"success\"},on:{\"click\":_vm.syncBranches}},[_c('v-icon',[_vm._v(\"mdi-sync\")])],1),_c('v-btn',{staticClass:\"mb-2\",attrs:{\"fab\":\"\",\"x-small\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.$store.commit('tree/closeAllBranches')}}},[_c('v-icon',[_vm._v(\"mdi-arrow-collapse-vertical\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TipitakaTree.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TipitakaTree.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TipitakaTree.vue?vue&type=template&id=5987ca28&\"\nimport script from \"./TipitakaTree.vue?vue&type=script&lang=js&\"\nexport * from \"./TipitakaTree.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TipitakaTree.vue?vue&type=style&index=0&id=5987ca28&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=77ace74f&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=77ace74f&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',[_c('v-dialog',{attrs:{\"persistent\":\"\"},model:{value:(_vm.$store.state.androidBusy),callback:function ($$v) {_vm.$set(_vm.$store.state, \"androidBusy\", $$v)},expression:\"$store.state.androidBusy\"}},[_c('v-card',[_c('div',{staticClass:\"d-flex flex-no-wrap justify-space-around align-center\"},[_c('div',{staticClass:\"ml-3\"},[_c('v-progress-circular',{attrs:{\"size\":\"50\",\"indeterminate\":\"\",\"color\":\"primary\"}})],1),_c('div',[_c('v-card-text',[_vm._v(\"මෙම මෘදුකාංගයේ දත්ත පිටපත් වෙමින් පවතී. මොහොතක් රැඳී සිටින්න. මෙය පළමු ස්ථාපනයේ දී පමණක් සිදුවේ.\")])],1)])])],1),_c('v-banner',{attrs:{\"icon\":\"mdi-alert-circle\",\"color\":\"warning\"}},[_vm._v(\" පාලි පෙළ සෝදුපත් කියවීම තවමත් අවසන් කර නැති බව සලකන්න. අකුරු වැරදි තිබීමට ඉඩ ඇත. පිටු අංක මත එබීමෙන් අදාළ පරිලෝකිත (scan) පිටුව බැලීමට හැකිය. අටුවා පරිවර්තනයේ ද පරිවර්තන දෝෂ, මුද්‍රණ දෝෂ හා පරිවර්තන මග හැරුණු තැන් තිබීමට හැකිය. දෝෂ හමු වුවහොත් ඒවා නිවැරදි කිරීමට අප වෙත දන්වා එවන්න. pathnirvana@gmail.com \")]),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_vm._v(\"ශ්‍රී ලංකා තිපිටක පෙළ, අටුවා සහ සිංහල පරිවර්තනය\")]),_c('v-card-text',[_vm._v(\" තිපිටක පෙළ සහ සිංහල පරිවර්තනය බුද්ධ ජයන්ති තිපිටක ග්‍රන්ථ මාලාවෙනි. පාළි අටුවා ඡට්ඨ සංගායනාවෙන් වන අතර එහි සිංහල පරිවර්තනය බෞද්ධ සංස්කෘතික මධ්‍යස්ථානයේ මුද්‍රණයෙනි. මෙම වෙබ් අඩවිය සහ මෘදුකාංගය පහත ව්‍යාපෘති හා වෙබ් අඩවි වල සාමුහික ප්‍රයත්නයක ප්‍රතිඵලයකි. \")])],1)],1)],1),_c('v-row',{staticClass:\"contrib-logos\"},[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-card',{staticClass:\"d-flex\",attrs:{\"outlined\":\"\"}},[_c('img',{attrs:{\"src\":\"static/images/logo-500x500.png\",\"width\":\"100%\"}})])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-card',{staticClass:\"d-flex\",attrs:{\"outlined\":\"\"}},[_c('img',{attrs:{\"src\":\"static/images/sltp-logo-mono.jpg\",\"width\":\"100%\"}})])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-card',{staticClass:\"d-flex\",attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('img',{attrs:{\"src\":\"static/images/thripitakaya.org-logo-mono.jpg\",\"width\":\"100%\"}})])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-card',{staticClass:\"d-flex\",attrs:{\"outlined\":\"\"}},[_c('img',{attrs:{\"src\":\"static/images/tipitaka.lk-logo-mono.png\",\"width\":\"100%\"}})])],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-banner',{attrs:{\"icon\":\"mdi-information\",\"color\":\"info\"}},[_vm._v(\" අන්තර්ජාලය නැතිව භාවිතා කළ හැකි මෘදුකාංග පහතින් බාගත කරගන්න. \")])],1)],1),_c('v-row',{staticClass:\"download-software-list\"},[_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('a',{attrs:{\"href\":\"https://play.google.com/store/apps/details?id=lk.tipitaka.main\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"static/images/android2.png\"}})])])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('a',{attrs:{\"href\":\"https://apps.apple.com/us/app/sinhala-tripitaka-atuwa/id6615068500\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"static/images/ios.png\"}})])])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('a',{attrs:{\"href\":\"https://github.com/pathnirvana/tipitaka.lk/releases/\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"static/images/windows.png\"}})])])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('a',{attrs:{\"href\":\"https://github.com/pathnirvana/tipitaka.lk/releases/\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"static/images/macos2.png\"}})])])],1),_c('v-col',{attrs:{\"cols\":\"6\",\"sm\":\"3\",\"xl\":\"2\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('a',{attrs:{\"href\":\"https://github.com/pathnirvana/tipitaka.lk/releases/\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":\"static/images/linux.png\"}})])])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Welcome.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Welcome.vue?vue&type=template&id=651a2220&scoped=true&\"\nimport script from \"./Welcome.vue?vue&type=script&lang=js&\"\nexport * from \"./Welcome.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Welcome.vue?vue&type=style&index=0&id=651a2220&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"651a2220\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',[_c('div',{staticClass:\"tab-items\"},_vm._l((_vm.tabList),function(tab,ind){return _c('TextTab',{directives:[{name:\"show\",rawName:\"v-show\",value:(ind == _vm.activeInd),expression:\"ind == activeInd\"}],key:ind,attrs:{\"tabIndex\":ind}})}),1),_c('v-btn',{attrs:{\"fab\":\"\",\"small\":\"\",\"fixed\":\"\",\"bottom\":\"\",\"right\":\"\"},on:{\"click\":function($event){return _vm.$vuetify.goTo(0)}}},[_c('v-icon',[_vm._v(\"mdi-chevron-triple-up\")])],1),(_vm.$store.state.audio.audioControls)?_c('v-sheet',{staticClass:\"bottom-sheet pb-2\",attrs:{\"height\":\"50px\",\"elevation\":5}},[_c('AudioControl')],1):_vm._e(),(_vm.showInlineDict)?_c('v-sheet',{staticClass:\"bottom-sheet pb-2\",attrs:{\"height\":\"250px\",\"elevation\":7}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"flat\":\"\"}},[_c('v-text-field',{staticClass:\"shrink\",attrs:{\"hide-details\":\"\"},model:{value:(_vm.inlineWord),callback:function ($$v) {_vm.inlineWord=$$v},expression:\"inlineWord\"}}),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.inlineWordBackspace}},[_c('v-icon',[_vm._v(\"mdi-backspace\")])],1),_c('v-btn',{attrs:{\"icon\":!_vm.smAndUp},on:{\"click\":function($event){return _vm.$router.push('/fts/' + _vm.inlineWord)}}},[(_vm.smAndUp)?_c('span',[_vm._v(\"අන්තර්ගතයේ සොයන්න\")]):_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-magnify\")])],1),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.showInlineDict = !_vm.showInlineDict}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-sheet',{staticStyle:{\"overflow-y\":\"auto\"},attrs:{\"max-height\":\"200px\"}},[_c('DictionaryResults',{attrs:{\"results\":_vm.inlineDict.results}}),(_vm.inlineDict.queryRunning)?_c('v-skeleton-loader',{attrs:{\"type\":\"table\"}}):(!!_vm.inlineDict.errorMessage)?_c('v-banner',{attrs:{\"color\":\"error\"}},[_vm._v(_vm._s(_vm.inlineDict.errorMessage))]):(!_vm.dictResults.matches || !_vm.dictResults.matches.length)?_c('div',{staticClass:\"mx-3 search-message text-center\"},[_vm._v(\" \"+_vm._s(`මෙම වචනය ශබ්දකෝෂ වල හමුවූයේ නැත. අකුරු කිහිපයක් අඩු කර උත්සාහ කරන්න.`)+\" \")]):_vm._e()],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',{staticClass:\"my-2 tab-text-content\"},[(_vm.tab.errorMessage)?_c('v-card',{attrs:{\"color\":\"error\"}},[_c('v-card-title',[_vm._v(\"සූත්‍රය ලබාගැනීමේදී වරදක් සිදුවිය\")]),_c('v-card-text',[_vm._v(_vm._s(_vm.tab.errorMessage))])],1):(!_vm.tab.isLoaded)?_c('v-skeleton-loader',{attrs:{\"type\":\"paragraph\"}}):_c('div',{directives:[{name:\"touch\",rawName:\"v-touch\",value:({ left: _vm.touchSwipe }),expression:\"{ left: touchSwipe }\"}]},[_c('v-btn',{staticClass:\"load-prev-page\",attrs:{\"absolute\":\"\",\"rounded\":\"\",\"small\":\"\",\"top\":\"\",\"right\":\"\"},on:{\"click\":function($event){return _vm.loadPrevPage(_vm.tabIndex)}}},[_c('v-icon',[_vm._v(\"mdi-chevron-up\")])],1),_vm._l((_vm.visiblePages),function({rows, footnotes, pageNum },pi){return _c('v-simple-table',{key:pi,staticStyle:{\"table-layout\":\"fixed\"},attrs:{\"dense\":\"\"}},[(!_vm.tab.showScanPage)?[(_vm.$store.state.showPageNumbers && !_vm.isAtta)?_c('tr',[(_vm.columns.pali)?_c('td',{staticClass:\"page-number\"},[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"info\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.displayScanned(pageNum)}}},[_vm._v(_vm._s(pageNum))])],1):_vm._e(),(_vm.columns.sinh && !_vm.paliOnly)?_c('td',{staticClass:\"page-number\"},[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"info\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.displayScanned(pageNum + 1)}}},[_vm._v(_vm._s(pageNum + 1))])],1):_vm._e()]):_vm._e(),_vm._l((rows),function(row,ei){return _c('tr',{key:ei},[(_vm.columns.pali)?_c('TextEntry',{attrs:{\"entry\":row.pali,\"footnotes\":footnotes.pali}}):_vm._e(),(_vm.columns.sinh && !_vm.paliOnly)?_c('TextEntry',{attrs:{\"entry\":row.sinh,\"footnotes\":footnotes.sinh}}):_vm._e()],1)}),_c('tr',[(_vm.columns.pali)?_c('FootnoteList',{attrs:{\"language\":\"pali\",\"footnotes\":footnotes.pali}}):_vm._e(),(_vm.columns.sinh && !_vm.paliOnly)?_c('FootnoteList',{attrs:{\"language\":\"sinh\",\"footnotes\":footnotes.sinh}}):_vm._e()],1)]:[_c('tr',[(_vm.columns.pali)?_c('td',{staticClass:\"img-holder\"},[_c('img',{attrs:{\"src\":_vm.getScanImgSrc(pageNum, 'pali')}})]):_vm._e(),(_vm.columns.sinh && !_vm.paliOnly)?_c('td',{staticClass:\"img-holder\"},[_c('img',{attrs:{\"src\":_vm.getScanImgSrc(pageNum, 'sinh')}})]):_vm._e()])]],2)}),(_vm.tab.pageEnd < _vm.tab.data.pages.length)?_c('v-card',{directives:[{name:\"intersect\",rawName:\"v-intersect\",value:({ handler: _vm.loadNextSection, options: {threshold: [0.5]} }),expression:\"{ handler: loadNextSection, options: {threshold: [0.5]} }\"}],staticClass:\"text-center\",on:{\"click\":function($event){return _vm.loadNextPage({ tabIndex: _vm.tabIndex, by: 1 })}}},[_c('v-card-text',[_vm._v(\"ඊළඟ කොටස පෙන්වන්න.\")])],1):_vm._e()],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('td',{staticClass:\"entry pa-2\",style:(_vm.$store.getters['styles']),on:{\"mouseover\":_vm.showEntryOptions,\"mouseleave\":function($event){_vm.entryOptions = false}}},[_c('div',{class:_vm.cssClasses,attrs:{\"level\":_vm.entry.level},on:{\"click\":_vm.showWordOptions}},[(_vm.entry.type == 'heading')?_c('AtuwaLinkIcon',{attrs:{\"entry\":_vm.entry}}):_vm._e(),_vm._l((_vm.entry.parts),function(se,i){return [(se[1] == 'fn-pointer' && _vm.footnoteMethod != 'end-page')?_c('v-menu',{key:i,attrs:{\"bottom\":\"\",\"offset-y\":\"\",\"open-on-hover\":_vm.footnoteMethod == 'hover',\"color\":\"black\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',_vm._g(_vm._b({staticClass:\"fn-pointer\"},'span',attrs,false),on),[_vm._v(_vm._s(se[0]))])]}}],null,true)},[_c('Footnote',{staticClass:\"px-2\",attrs:{\"footnote\":_vm.matchingFootnote(se[0])}})],1):_c('span',{key:i+'else',class:se[1] || false,domProps:{\"innerHTML\":_vm._s(_vm.genWords(se[0]))}})]}),(_vm.entry.type == 'heading')?_c('ShareLinkIcon',{attrs:{\"link\":_vm.linkToEntry}}):_vm._e(),(_vm.entry.type == 'heading')?_c('BookmarkIcon',{attrs:{\"entry\":_vm.entry}}):_vm._e()],2),(_vm.entryOptions || _vm.menuOpen)?_c('v-menu',{staticStyle:{\"z-index\":\"1000\"},attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"ma-n2 pa-0\",attrs:{\"color\":\"info\",\"rounded\":\"\",\"icon\":\"\",\"absolute\":\"\",\"top\":\"\",\"left\":\"\",\"small\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,false,3554320609),model:{value:(_vm.menuOpen),callback:function ($$v) {_vm.menuOpen=$$v},expression:\"menuOpen\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.linkToEntry),expression:\"linkToEntry\",arg:\"copy\"},{name:\"clipboard\",rawName:\"v-clipboard:success\",value:(_vm.onLinkCopy),expression:\"onLinkCopy\",arg:\"success\"}],staticClass:\"cursor-pointer\"},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-share-variant\")])],1),_c('v-list-item-title',[_vm._v(\"link එකක් ලබාගන්න\")])],1),_c('v-list-item',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.contentToCopy),expression:\"contentToCopy\",arg:\"copy\"},{name:\"clipboard\",rawName:\"v-clipboard:success\",value:(_vm.onContentCopy),expression:\"onContentCopy\",arg:\"success\"}],staticClass:\"cursor-pointer\"},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-content-copy\")])],1),_c('v-list-item-title',[_vm._v(\"ඡේදය copy කරගන්න\")])],1),_c('AtuwaLinkIcon',{attrs:{\"entry\":_vm.entry,\"isListItem\":true}}),_c('BookmarkIcon',{attrs:{\"entry\":_vm.entry,\"isListItem\":true}}),(_vm.audioAvailable)?_c('v-list-item',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.toggleAudioPlay}},[_c('v-list-item-icon',[(_vm.isAudioPlayingEntry)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-pause\")]):_c('v-icon',[_vm._v(\"mdi-play\")])],1),_c('v-list-item-title',[_vm._v(_vm._s('සජ්ඣායනය' + (_vm.isAudioPlayingEntry ? ' නවත්වන්න' : ' අසන්න')))])],1):_vm._e()],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.hasTarget)?_c('span',[(_vm.isListItem)?_c('v-list-item',{on:{\"click\":_vm.openTarget}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"dense\":\"\"}},[_vm._v(\"mdi-redo\")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.isAtuwa ? 'අටුවාව වෙත' : 'ත්‍රිපිටක මූල වෙත'))])],1):_c('v-btn',{staticClass:\"mr-2\",attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.openTarget}},[(_vm.isAtuwa)?_c('v-icon',[_vm._v(\"mdi-white-balance-auto\")]):_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-format-title\")])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AtuwaLinkIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AtuwaLinkIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AtuwaLinkIcon.vue?vue&type=template&id=1d0c40e6&\"\nimport script from \"./AtuwaLinkIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./AtuwaLinkIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.footnote)?_c('v-card',{staticClass:\"html\"},[_c('span',{staticClass:\"fn-number\"},[_vm._v(_vm._s(_vm.footnote.number)+\".\")]),_vm._l((_vm.footnote.parts),function(se,i){return [(se[1] == 'fn-abbr')?_c('v-tooltip',{key:i,attrs:{\"bottom\":\"\",\"color\":\"black\",\"open-on-click\":_vm.footnoteMethod != 'hover',\"open-on-hover\":_vm.footnoteMethod == 'hover'},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('span',_vm._g({staticClass:\"fn-abbr\"},on),[_vm._v(_vm._s(se[0]))])]}}],null,true)},[_c('span',{staticClass:\"fn-abbr-desc\"},[_vm._v(_vm._s(_vm.matchingAbbrDescription(se[0])))])]):_c('span',{key:i+'else',class:se[1] || false,domProps:{\"innerHTML\":_vm._s(se[0])}})]})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footnote.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Footnote.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footnote.vue?vue&type=template&id=1e438fdf&scoped=true&\"\nimport script from \"./Footnote.vue?vue&type=script&lang=js&\"\nexport * from \"./Footnote.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footnote.vue?vue&type=style&index=0&id=1e438fdf&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1e438fdf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEntry.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextEntry.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextEntry.vue?vue&type=template&id=3628f82e&scoped=true&\"\nimport script from \"./TextEntry.vue?vue&type=script&lang=js&\"\nexport * from \"./TextEntry.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextEntry.vue?vue&type=style&index=0&id=3628f82e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3628f82e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.entryVisible)?_c('td',{staticClass:\"footnotes py-2\",style:({ fontSize: _vm.fontSize }),attrs:{\"lang\":_vm.language}},[(_vm.footnotes.length)?[_c('hr'),_c('div',{staticClass:\"footnotes-list\"},_vm._l((_vm.footnotes),function(note,index){return _c('div',{key:index},[_c('Footnote',{attrs:{\"footnote\":note}})],1)}),0)]:_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FootnoteList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FootnoteList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FootnoteList.vue?vue&type=template&id=9adb9f5e&scoped=true&\"\nimport script from \"./FootnoteList.vue?vue&type=script&lang=js&\"\nexport * from \"./FootnoteList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FootnoteList.vue?vue&type=style&index=0&id=9adb9f5e&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9adb9f5e\",\n null\n \n)\n\nexport default component.exports","/**\r\n * Created by Janaka on 2016-11-12.\r\n * copied from pitaka.lk/bjt on 2020-7-11\r\n */\r\n\r\nconst bjtBooksInfo = {\r\n 1: {\r\n name: 'පාරාජිකපාළි',\r\n maxPageId: 687,\r\n firstPageId: 25,\r\n pageNumOffset: 23,\r\n imagePrefix: 'VP01_Page_'\r\n },\r\n 2: {\r\n name: 'පාචිත්තිය පාළි 1',\r\n maxPageId: 590,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'VP02_Page_'\r\n },\r\n 3: {\r\n name: 'පාචිත්තිය පාළි 2',\r\n maxPageId: 419,\r\n firstPageId: 31,\r\n pageNumOffset: 29,\r\n imagePrefix: 'VP03_Page_'\r\n },\r\n 4: {\r\n name: 'මහාවග්ගපාළි 1',\r\n maxPageId: 592,\r\n firstPageId: 77,\r\n pageNumOffset: 75,\r\n imagePrefix: 'VP04_Page_'\r\n },\r\n 5: {\r\n name: 'මහාවග්ගපාළි 2',\r\n maxPageId: 449,\r\n firstPageId: 11,\r\n pageNumOffset: -509,\r\n imagePrefix: 'VP05_Page_'\r\n },\r\n 6: {\r\n name: 'චුල්ලවග්ගපාළි 1',\r\n maxPageId: 456,\r\n firstPageId: 17,\r\n pageNumOffset: 15,\r\n imagePrefix: 'VP06_Page_'\r\n },\r\n 7: {\r\n name: 'චුල්ලවග්ගපාළි 2',\r\n maxPageId: 644,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'VP07_Page_'\r\n },\r\n 8: {\r\n name: 'පරිවාරපාළි 1',\r\n maxPageId: 412,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'VP08_Page_'\r\n },\r\n 9: {\r\n name: 'පරිවාරපාළි 2',\r\n maxPageId: 351,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'VP09_Page_'\r\n },\r\n 10: {\r\n name: 'දීඝනිකාය 1',\r\n maxPageId: 686,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'DN1_Page_'\r\n },\r\n 11: {\r\n name: 'දීඝනිකාය 2',\r\n maxPageId: 610,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'DN2_Page_'\r\n },\r\n 12: {\r\n name: 'දීඝනිකාය 3',\r\n maxPageId: 594,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'DN3_Page_'\r\n },\r\n 13: {\r\n name: 'මජ්ඣිමනිකාය 1',\r\n maxPageId: 833,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'MN1_Page_'\r\n },\r\n 14: {\r\n name: 'මජ්ඣිමනිකාය 2',\r\n maxPageId: 795,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'MN2_Page_'\r\n },\r\n 15: {\r\n name: 'මජ්ඣිමනිකාය 3',\r\n maxPageId: 653,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'MN3_Page_'\r\n },\r\n 16: {\r\n name: 'සංයුත්තනිකාය 1',\r\n maxPageId: 529,\r\n firstPageId: 25,\r\n pageNumOffset: 23,\r\n imagePrefix: 'SN1_Page_'\r\n },\r\n 17: {\r\n name: 'සංයුත්තනිකාය 2',\r\n maxPageId: 507,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'SN2_Page_'\r\n },\r\n 18: {\r\n name: 'සංයුත්තනිකාය 3',\r\n maxPageId: 606,\r\n firstPageId: 27,\r\n pageNumOffset: 25,\r\n imagePrefix: 'SN3_Page_'\r\n },\r\n 19: {\r\n name: 'සංයුත්තනිකාය 4',\r\n maxPageId: 741,\r\n firstPageId: 25,\r\n pageNumOffset: 23,\r\n imagePrefix: 'SN4_Page_'\r\n },\r\n 20: {\r\n name: 'සංයුත්තනිකාය 5-1',\r\n maxPageId: 483,\r\n firstPageId: 27,\r\n pageNumOffset: 25,\r\n imagePrefix: 'SN5_Page_'\r\n },\r\n 21: {\r\n name: 'සංයුත්තනිකාය 5-2',\r\n maxPageId: 393,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'SN6_Page_'\r\n },\r\n 22: {\r\n name: 'අඞ්ගුත්තරනිකාය 1',\r\n maxPageId: 659,\r\n firstPageId: 37,\r\n pageNumOffset: 35,\r\n imagePrefix: 'AN1_Page_'\r\n },\r\n 23: {\r\n name: 'අඞ්ගුත්තරනිකාය 2',\r\n maxPageId: 573,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'AN2_Page_'\r\n },\r\n 24: {\r\n name: 'අඞ්ගුත්තරනිකාය 3',\r\n maxPageId: 498,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'AN3_Page_'\r\n },\r\n 25: {\r\n name: 'අඞ්ගුත්තරනිකාය 4',\r\n maxPageId: 535,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'AN4_Page_'\r\n },\r\n 26: {\r\n name: 'අඞ්ගුත්තරනිකාය 5',\r\n maxPageId: 607,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'AN5_Page_'\r\n },\r\n 27: {\r\n name: 'අඞ්ගුත්තරනිකාය 6',\r\n maxPageId: 722,\r\n firstPageId: 27,\r\n pageNumOffset: 25,\r\n imagePrefix: 'AN6_Page_'\r\n },\r\n 28: {\r\n name: 'ඛුද්දකනිකාය 1',\r\n maxPageId: 618,\r\n firstPageId: 27,\r\n pageNumOffset: 25,\r\n imagePrefix: 'KN1_Page_'\r\n },\r\n 29: {\r\n name: 'සූත්‍රනිපාතය',\r\n maxPageId: 414,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'KN2_Page_'\r\n },\r\n 30: {\r\n name: 'විමනවත්ථු, පෙතවත්ථු',\r\n maxPageId: 450,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'KN3_Page_'\r\n },\r\n 31: {\r\n name: 'ථෙරගාථාපාළි',\r\n maxPageId: 486,\r\n firstPageId: 33,\r\n pageNumOffset: 31,\r\n imagePrefix: 'KN4_Page_'\r\n },\r\n 32: {\r\n name: 'ජාතකපාළි 1',\r\n maxPageId: 623,\r\n firstPageId: 29,\r\n pageNumOffset: 27,\r\n imagePrefix: 'KN5_Page_'\r\n },\r\n 33: {\r\n name: 'ජාතකපාළි 2',\r\n maxPageId: 506,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'KN6_Page_'\r\n },\r\n 34: {\r\n name: 'ජාතකපාළි 3',\r\n maxPageId: 573,\r\n firstPageId: 21,\r\n pageNumOffset: 19,\r\n imagePrefix: 'KN7_Page_'\r\n },\r\n 35: {\r\n name: 'මහානිද්දෙසපාළි',\r\n maxPageId: 761,\r\n firstPageId: 25,\r\n pageNumOffset: 23,\r\n imagePrefix: 'KN8_Page_'\r\n },\r\n 36: {\r\n name: 'චුල්ලනිද්දෙසපාළි',\r\n maxPageId: 666,\r\n firstPageId: 17,\r\n pageNumOffset: 15,\r\n imagePrefix: 'KN9_Page_'\r\n },\r\n 37: {\r\n name: 'පටිසම්භිදාමග්ගප්පකරණ 1',\r\n maxPageId: 550,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'KN10_Page_'\r\n },\r\n 38: {\r\n name: 'පටිසම්භිදාමග්ගප්පකරණ 2',\r\n maxPageId: 264,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'KN11_Page_'\r\n },\r\n 39: {\r\n name: 'අපදානපාළි 1',\r\n maxPageId: 688,\r\n firstPageId: 29,\r\n pageNumOffset: 27,\r\n imagePrefix: 'KN12_Page_'\r\n },\r\n 40: {\r\n name: 'අපදානපාළි 2-1',\r\n maxPageId: 459,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'KN13_Page_'\r\n },\r\n 41: {\r\n name: 'අපදානපාළි 2-2',\r\n maxPageId: 268,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'KN14_Page_'\r\n },\r\n 42: {\r\n name: 'බුද්ධවංසපාළි, චරියාපිටකපාළි',\r\n maxPageId: 380,\r\n firstPageId: 27,\r\n pageNumOffset: 25,\r\n imagePrefix: 'KN15_Page_'\r\n },\r\n 43: {\r\n name: 'නෙත්තිප්පකරණ',\r\n maxPageId: 329,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'KN16_Page_'\r\n },\r\n 44: {\r\n name: 'පෙටකොපදෙසො',\r\n maxPageId: 374,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'KN17_Page_'\r\n },\r\n 45: {\r\n name: 'ධම්මසඞ්ගණිප්පකරණය',\r\n maxPageId: 611,\r\n firstPageId: 37,\r\n pageNumOffset: 35,\r\n imagePrefix: 'AP01_Page_'\r\n },\r\n 46: {\r\n name: 'විභඞ්ගප්පකරණ 1',\r\n maxPageId: 427,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'AP02_Page_'\r\n },\r\n 47: {\r\n name: 'විභඞ්ගප්පකරණ 2',\r\n maxPageId: 354,\r\n firstPageId: 17,\r\n pageNumOffset: 15,\r\n imagePrefix: 'AP03_Page_'\r\n },\r\n 48: {\r\n name: 'කථාවස්තුප්‍රකරණය 1',\r\n maxPageId: 617,\r\n firstPageId: 31,\r\n pageNumOffset: 29,\r\n imagePrefix: 'AP04_Page_'\r\n },\r\n 49: {\r\n name: 'කථාවස්තුප්‍රකරණය 2',\r\n maxPageId: 585,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'AP05_Page_'\r\n },\r\n 50: {\r\n name: 'කථාවස්තුප්‍රකරණය 3',\r\n maxPageId: 545,\r\n firstPageId: 13,\r\n pageNumOffset: 11,\r\n imagePrefix: 'AP06_Page_'\r\n },\r\n 51: {\r\n name: 'ධාතුකථා සහ පුද්ගල ප්‍රඥප්ති ප්‍රකරණය',\r\n maxPageId: 438,\r\n firstPageId: 17,\r\n pageNumOffset: 15,\r\n imagePrefix: 'AP07_Page_'\r\n },\r\n 52: {\r\n name: 'යමකප්‍රකරණ 1',\r\n maxPageId: 577,\r\n firstPageId: 23,\r\n pageNumOffset: 21,\r\n imagePrefix: 'AP08_Page_'\r\n },\r\n 53: {\r\n name: 'යමකප්‍රකරණ 2-1',\r\n maxPageId: 816,\r\n firstPageId: 19,\r\n pageNumOffset: 17,\r\n imagePrefix: 'AP09_Page_'\r\n },\r\n 54: {\r\n name: 'යමකප්‍රකරණ 2-2',\r\n maxPageId: 550,\r\n firstPageId: 15,\r\n pageNumOffset: 13,\r\n imagePrefix: 'AP10_Page_'\r\n },\r\n 55: {\r\n name: 'පට්ඨානප්පකරණ 1',\r\n maxPageId: 591,\r\n firstPageId: 65,\r\n pageNumOffset: 63,\r\n imagePrefix: 'AP11_Page_'\r\n },\r\n 56: {\r\n name: 'පට්ඨානප්පකරණ 2',\r\n maxPageId: 621,\r\n firstPageId: 14,\r\n pageNumOffset: 12,\r\n imagePrefix: 'AP12_Page_'\r\n },\r\n 57: {\r\n name: 'පට්ඨානප්පකරණ 3',\r\n maxPageId: 614,\r\n firstPageId: 17,\r\n pageNumOffset: 15,\r\n imagePrefix: 'AP13_Page_'\r\n }\r\n}\r\n\r\nimport axios from 'axios'\r\n// initialize bjt params\r\nlet bjtBooksFolder, bjtImageExt\r\nasync function initBjtParams() {\r\n let bjtParams = ''\r\n if (typeof Android != 'undefined') {\r\n // put 10/DN1_Page_001.jpg/png in either Pictures/bjt_newbooks or bjt_books for local testing\r\n bjtParams = Android.getBjtParams()\r\n } else { // desktop app and website\r\n try {\r\n const response = await axios.get('/tipitaka-query/bjt-params')\r\n bjtParams = response.data\r\n } catch (e) { }\r\n }\r\n if (!bjtParams) { // full path for online version from pitaka.lk\r\n bjtParams = 'https://pitaka.lk/bjt/newbooks|jpg'\r\n }\r\n [bjtBooksFolder, bjtImageExt] = bjtParams.split('|')\r\n console.log(`Loading bjt images from: ${bjtBooksFolder} ext: ${bjtImageExt}`)\r\n}\r\ninitBjtParams()\r\n\r\nexport function getBJTImageSrc(bookId, pageNum) {\r\n const bookInfo = bjtBooksInfo[bookId]\r\n if (!bookInfo) return '';\r\n const paddedPage = (\"00\" + (bookInfo.pageNumOffset + Number(pageNum)).toString()).slice(-3)\r\n return bjtBooksFolder + '/' +\r\n (bookInfo.folder || bookId) + '/' +\r\n bookInfo.imagePrefix + paddedPage + '.' + bjtImageExt;\r\n}","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TextTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TextTab.vue?vue&type=template&id=bea7afdc&scoped=true&\"\nimport script from \"./TextTab.vue?vue&type=script&lang=js&\"\nexport * from \"./TextTab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextTab.vue?vue&type=style&index=0&id=bea7afdc&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bea7afdc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-sheet',[_c('v-card',{attrs:{\"tile\":\"\"}},[_c('v-progress-linear',{staticClass:\"my-0\",attrs:{\"value\":_vm.progessPercentage,\"height\":\"3\"}})],1),_c('v-toolbar',{attrs:{\"dense\":\"\",\"flat\":\"\"}},[_c('div',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.getActiveLabel.text))]),_c('v-spacer'),(_vm.mdAndUp)?void 0:_vm._e(),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.navigateToActive}},[_c('v-icon',[_vm._v(\"mdi-chevron-double-up\")])],1),_c('v-menu',{attrs:{\"offset-y\":\"\",\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-cog\")])],1)]}}])},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-play-speed\")])],1),_c('v-list-item-content',[_c('v-slider',{staticStyle:{\"width\":\"150px\"},attrs:{\"step\":0.05,\"min\":0.75,\"max\":2,\"persistent-hint\":\"\",\"hint\":`සජ්ඣායනා වේගය ${_vm.rate}x`},model:{value:(_vm.rate),callback:function ($$v) {_vm.rate=$$v},expression:\"rate\"}})],1)],1),_c('v-divider'),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-arrow-expand-vertical\")])],1),_c('v-list-item-content',[_c('v-slider',{staticStyle:{\"width\":\"150px\"},attrs:{\"step\":0.2,\"min\":0,\"max\":1,\"persistent-hint\":\"\",\"hint\":'පරිච්ඡේද අතර නිහැඬියාව තත්පර ' + _vm.silence},model:{value:(_vm.silence),callback:function ($$v) {_vm.silence=$$v},expression:\"silence\"}})],1)],1),_c('v-divider'),_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-download\")])],1),_c('v-list-item-title',[_vm._v(\"බාගත කරගන්න\")])],1)],1)],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$store.dispatch('audio/moveParagraph', -1)}}},[_c('v-icon',[_vm._v(\"mdi-rewind\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$store.commit('audio/togglePlay')}}},[(_vm.isPlaying)?_c('v-icon',{attrs:{\"color\":\"primary\"}},[_vm._v(\"mdi-pause\")]):_c('v-icon',[_vm._v(\"mdi-play\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$store.dispatch('audio/moveParagraph', 1)}}},[_c('v-icon',[_vm._v(\"mdi-fast-forward\")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.showAudio = false, _vm.$store.commit('audio/pauseAudio')}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioControl.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioControl.vue?vue&type=template&id=760fd2ec&scoped=true&\"\nimport script from \"./AudioControl.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioControl.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AudioControl.vue?vue&type=style&index=0&id=760fd2ec&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"760fd2ec\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=441a7d1a&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=441a7d1a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"441a7d1a\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport Welcome from '../views/Welcome.vue'\nimport Home from '../views/Home.vue'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'Welcome',\n component: Welcome,\n },\n {\n path: '/settings',\n name: 'Settings',\n // route level code-splitting\n // this generates a separate chunk (Settings.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"Settings\" */ '../views/Settings.vue'),\n },\n {\n path: '/abbreviations',\n name: 'Abbreviations',\n component: () => import(/* webpackChunkName: \"Bookmarks\" */ '../views/Abbreviations.vue'),\n },\n {\n path: '/bookmarks',\n name: 'Bookmarks',\n component: () => import(/* webpackChunkName: \"Bookmarks\" */ '../views/Bookmarks.vue'),\n },\n {\n path: '/title/:term?',\n name: 'title',\n component: () => import(/* webpackChunkName: \"title\" */ '../views/TSearch.vue'),\n },\n {\n path: '/dict/:word?',\n name: 'dict',\n component: () => import(/* webpackChunkName: \"dict\" */ '../views/Dictionary.vue'),\n },\n {\n path: '/fts/:words?/:options?',\n name: 'fts',\n component: () => import(/* webpackChunkName: \"FTS\" */ '../views/FTS.vue'),\n },\n {\n path: '/:key?/:eIndStr([0-9\\-]+)?/:language([a-z]{4})?',\n name: 'Home',\n component: Home,\n },\n // TODO add a not found handler here\n //{ path: '*', component: NotFoundComponent }\n]\n\nconst router = new VueRouter({\n mode: (typeof Android !== 'undefined') ? 'hash' : 'history', // history mode not working in webview\n base: process.env.BASE_URL,\n routes\n})\n\nexport default router\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\nimport { Touch } from 'vuetify/lib/directives';\nimport VueClipboard from 'vue-clipboard2';\nimport '@mdi/font/css/materialdesignicons.css'\nimport { settingsKey } from '@/constants.js'\n\n// if the darkmode needs to be determined from settings\nconst settingsStr = localStorage.getItem(settingsKey)\nconst darkMode = settingsStr && JSON.parse(settingsStr).darkMode // default false\n\nVue.use(Vuetify, {\n directives: {\n Touch\n }\n});\nVue.use(VueClipboard);\n\nexport default new Vuetify({\n theme: {\n themes: {\n light: {\n primary: '#C63100',\n accent: '#EF5100',\n highlight: '#FFF176', // yellow lighten-2\n star: '#F9A825', // yellow darken 3\n },\n dark: {\n primary: '#FF8A65', // deeporange lighten 2\n info: '#4FC3F7', // lightblue ligten 2\n highlight: '#4527A0', // deep-purple darken-3 (green/red/purple colors are good)\n star: '#FFD600', // yellow accent 4\n },\n },\n dark: darkMode, // from localStorage\n options: {\n customProperties: true, // generates css variables to use in style blocks\n },\n },\n icons: {\n iconfont: 'mdi', // default - only for display purposes\n }\n});\n","import { getJson, filterTreeParents } from '@/constants.js'\nimport { beautifyText } from '@/text-convert.mjs'\nimport Vue from 'vue'\n\n// since the json tree is an object the sort order is not maintained\n// need to sort the children in the correct order for the treeview\nconst childInd = key => parseInt(key.split('-').splice(-1)[0])\nconst childrenSort = (a, b) => {\n let ac, bc\n if (isNaN(ac = childInd(a.key)) || isNaN(bc = childInd(b.key))) return 0\n return ac - bc\n}\n\nfunction genTree(key, index, addChildren, letterOpt) {\n let { pali, sinh, children } = index[key]\n pali = beautifyText(pali, 'pali', letterOpt) \n sinh = beautifyText(sinh, 'sinh', letterOpt) || pali // if no sinh name, return the pali name (for pattana mula)\n const treeItem = { pali, sinh, key }\n if (children.length && addChildren(key)) { // key.split('-').length < keyLen\n treeItem.children = children.map(cKey => genTree(cKey, index, addChildren, letterOpt)).sort(childrenSort)\n }\n return treeItem\n}\n\nfunction addOrder(treeItem, list) {\n list.push(treeItem.key)\n if (treeItem.children) treeItem.children.forEach(child => addOrder(child, list))\n}\n\nconst isEIndLessEqual = (a, b) => a[0] < b[0] || (a[0] == b[0] && a[1] <= b[1])\n\nexport default {\n namespaced: true,\n state: {\n index: {}, // read-only\n treeView: [], // for the tree-view\n filterTree: [], // used for the search filter tree\n orderedKeys: [], // for prev/next sutta/key\n \n openBranches: ['sp'], // open in treeview\n isLoaded: false,\n },\n getters: {\n getKey: (state) => (key) => {\n return state.index[key]\n },\n getName: (state, getters, rState, rGetters) => (key, language) => {\n const lang = language || rState.treeLanguage\n \n const rawName = state.index[key] ? state.index[key][lang] : 'key not found'\n return beautifyText(rawName, lang, rState)\n },\n\n getKeyForEInd: (state) => (filename, eInd) => {\n let i = state.orderedKeys.length - 1\n for (; i >= 0; i--) { // loop in reverse order\n const item = state.index[state.orderedKeys[i]]\n if (item.filename == filename && isEIndLessEqual(item.eInd, eInd)) break\n }\n return i >= 0 ? state.orderedKeys[i] : ''\n },\n },\n mutations: {\n setIndex(state, jTree) {\n const index = { 'root': {children: []} }\n Object.keys(jTree).forEach(key => {\n let [ pali, sinh, level, eInd, parent, filename ] = jTree[key]\n index[key] = { pali, sinh, level, eInd, parent, filename, key, children: [] }\n index[parent].children.push(key) \n })\n Object.preventExtensions(index) // read-only not reactive - this improves perf\n state.index = index\n },\n\n recomputeTree(state, letterOpt) { // when bandiLetter settings are changed\n state.isLoaded = false\n state.treeView = []\n state.filterTree = []\n state.index['root'].children.forEach(\n key => state.treeView.push(genTree(key, state.index, () => true, letterOpt))) // add all children\n state.index['root'].children.forEach(\n key => state.filterTree.push(genTree(key, state.index, (k) => filterTreeParents.indexOf(k) != -1, letterOpt))) // only filter tree\n // gen order list\n state.treeView.forEach(child => addOrder(child, state.orderedKeys))\n state.isLoaded = true\n },\n\n setOpenBranches(state, ar) {\n state.openBranches = ar\n },\n closeAllBranches(state) {\n state.openBranches = []\n },\n },\n\n actions: {\n async initialize({commit, rootState}) {\n //const response = await axios.get('/static/data/tree.json')\n const index = await getJson('/static/data/tree.json') //response.data\n commit('setIndex', index)\n commit('recomputeTree', rootState)\n },\n\n syncOpenBranches({ state, commit, rootState, rootGetters }, force) { // open branches to key - show key in treeview\n if (!force && !rootState.syncTree) return\n let p = rootGetters['tabs/getActiveKey'], parents = []\n while((p = state.index[p].parent) != 'root') {\n parents.push(p)\n }\n commit('setOpenBranches', parents)\n Vue.nextTick(function() {\n const container = document.getElementsByClassName('v-navigation-drawer__content')[0]\n container.scrollTop = document.getElementById('activelabel').offsetParent.offsetTop - 100\n })\n },\n }\n}\n","import Vue from 'vue'\nimport router from '@/router'\nimport { allFilterKeys, dictionaryInfo, searchSettingsKey, \n bookmarksStorageKey, callAndroidAsync } from '@/constants.js'\nimport md5 from 'md5'\nimport { isSinglishQuery, getPossibleMatches } from '@pnfo/singlish-search'\nimport axios from 'axios'\n\nconst routeToSearchPage = (input, type) => {\n if (!input) return\n if (['title', 'fts', 'dict'].indexOf(router.currentRoute.name) < 0) {\n router.push(`/${type}/${input}`)\n } else if (router.currentRoute.name != type) {\n router.replace(`/${type}/${input}`)\n }\n}\n\nfunction dictWordList(input) {\n\tconst query = input.toLowerCase().replace(/[\\u200d\\.,:\\?\\(\\)“”‘’]/g, '') // remove common chars in the words\n\t// Search all singlish_combinations of translations from roman to sinhala\n\tlet words = isSinglishQuery(query) ? getPossibleMatches(query) : []\n\tif (!words.length) words = [query]; // if not singlish or no possible matches found\n\t// TODO: improve this code to ignore na na la la sha sha variations at the comparison\n\t// for each word generate the stripEnd variation and add it\n\tconst stripEnd = words.map(w => w.replace(/[\\u0DCA-\\u0DDF\\u0D82\\u0D83]+$/g, ''))\n\t// add possible vowels only if non singlish (only one word) - otherwise will be too many words\n\tconst addVowel = !isSinglishQuery(query) ? ['ා', 'ි', 'ී', 'ු', 'ූ', 'ෙ', 'ො'].map(v => stripEnd[0] + v) : []\n\treturn [...words, ...stripEnd, ...addVowel].filter((w, i, ar) => ar.indexOf(w) == i) // concat and remove duplicates\n}\n\nconst dbVersions = { // updated dbs need to be marked here for update in android app\n 'dict': 2,\n 'fts': 2\n}\n\nconst storedSettings = ['filter', 'selectedDictionaries', 'searchType']\nfunction saveSettings(state) {\n const obj = {}\n storedSettings.forEach(s => obj[s] = state[s])\n localStorage.setItem(searchSettingsKey, JSON.stringify(obj))\n}\n\nexport default {\n namespaced: true,\n state: {\n searchType: 'title', // init from storage\n searchInput: '', // search bar input\n\n filter: {\n 'title': { 'keys': [...allFilterKeys], 'columns': [0, 1] },\n 'fts': { 'keys': [...allFilterKeys], 'columns': [0, 1] },\n },\n filterTreeOpenKeys: ['sp'],\n selectedDictionaries: Object.keys(dictionaryInfo), // short names of all dictionaries\n\n titleSearchCache: {},\n md5SearchCache: { 'fts': {}, 'dict': {} },\n maxResults: 100, // search stopped after getting this many matches\n inlineDict: { show: false, wordElem: null, word: '', results: {} },\n\n bookmarks: {}, // loaded from localStorage\n },\n\n getters: {\n getSearchInput: (state) => state.searchInput,\n getSearchType: (state) => state.searchType,\n getFilter: (state) => (type, param) => state.filter[type][param],\n getFilterTreeOpenKeys: (state) => state.filterTreeOpenKeys,\n\n getMd5Cache: (state) => (type, sql) => state.md5SearchCache[type][md5(sql)],\n getTitleCache: (state) => (query) => state.titleSearchCache[query],\n getShortDicts: (state) => state.selectedDictionaries.map(dict => dictionaryInfo[dict][1]),\n },\n\n mutations: {\n setSearchInput(state, input) {\n state.searchInput = input\n routeToSearchPage(input, state.searchType)\n },\n setSearchType(state, type) {\n state.searchType = type\n routeToSearchPage(state.searchInput, type)\n saveSettings(state)\n },\n routeToSearch(state) { routeToSearchPage(state.searchInput, state.searchType) },\n setFilter(state, { type, param, value }) {\n Vue.set(state.filter[type], param, value)\n if (type == 'title') state.titleSearchCache = {} // since filter is not part of the cache key\n saveSettings(state)\n },\n setFilterTreeOpenKeys(state, keys) { state.filterTreeOpenKeys = keys },\n\n setMd5Cache(state, { type, results, sql }) {\n // if cache size gets too big - nuke it\n if (Object.keys(state.md5SearchCache[type]).length > 300) state.md5SearchCache[type] = {}\n state.md5SearchCache[type][md5(sql)] = results // no need to Vue.set??\n },\n setTitleCache(state, { results, query }) {\n if (Object.keys(state.titleSearchCache).length > 300) state.titleSearchCache = {}\n state.titleSearchCache[query] = results\n },\n setSelectedDicts(state, newList) {\n state.selectedDictionaries = newList\n saveSettings(state)\n },\n setInlineDict(state, { prop, value }) {\n if (prop == 'show' && !value && state.inlineDict.wordElem) {\n state.inlineDict.wordElem.classList.remove('bottom-open')\n }\n if (prop == 'wordElem' && value) {\n if (state.inlineDict.wordElem) state.inlineDict.wordElem.classList.remove('bottom-open')\n value.classList.add('bottom-open')\n }\n Vue.set(state.inlineDict, prop, value)\n },\n loadSearchSettings(state) {\n const json = localStorage.getItem(searchSettingsKey)\n if (json) {\n const storedSettings = JSON.parse(json)\n Object.assign(state, storedSettings)\n console.log(`search settings loaded from storage key ${searchSettingsKey}`)\n }\n },\n\n loadBookmarks(state) {\n const json = localStorage.getItem(bookmarksStorageKey)\n if (json) {\n state.bookmarks = JSON.parse(json)\n console.log(`loaded ${Object.keys(state.bookmarks).length} bookmarks from storage key ${bookmarksStorageKey}`)\n }\n },\n toggleBookmark(state, { key, obj }) {\n if (state.bookmarks[key]) {\n Vue.delete(state.bookmarks, key)\n } else {\n Vue.set(state.bookmarks, key, obj)\n }\n localStorage.setItem(bookmarksStorageKey, JSON.stringify(state.bookmarks))\n },\n },\n\n actions: {\n async initialize({state, rootState, commit}) {\n commit('loadSearchSettings')\n commit('loadBookmarks')\n if (typeof Android !== 'undefined') {\n commit('set', { name: 'androidBusy', value: true }, { root: true })\n await callAndroidAsync('openDbs', dbVersions) // opens all dbs copying from assets if necessary\n commit('set', { name: 'androidBusy', value: false }, { root: true })\n }\n },\n\n async openInlineDict({ commit, dispatch }, target) {\n commit('setInlineDict', { prop: 'show', value: true })\n commit('setInlineDict', { prop: 'wordElem', value: target })\n const word = target.innerText.replace(/[\\.,:\\?\\(\\)“”‘’]/g, '')\n commit('setInlineDict', { prop: 'word', value: word })\n return dispatch('runInlineDictQuery')\n },\n\n async runInlineDictQuery({ commit, dispatch, getters, state }) {\n commit('setInlineDict', { prop: 'queryRunning', value: true })\n commit('setInlineDict', { prop: 'errorMessage', value: '' })\n const word = state.inlineDict.word\n const dictList = getters['getShortDicts']\n const sql = `SELECT word, dict, meaning FROM dictionary \n WHERE word IN ('${dictWordList(word).join(\"','\")}') AND dict IN ('${[...dictList, 'BR'].join(\"','\")}')\n ORDER BY word LIMIT 50;`\n try {\n const results = await dispatch('runDictQuery', { sql, 'input': word })\n commit('setInlineDict', { prop: 'results', value: results })\n } catch (e) {\n commit('setInlineDict', { prop: 'errorMessage', value: e.message })\n }\n commit('setInlineDict', { prop: 'queryRunning', value: false })\n },\n\n async runPageDictQuery({ dispatch, getters }, input) {\n const wordsList = dictWordList(input), dictFilter = `dict IN ('${getters['getShortDicts'].join(\"', '\")}')`\n const likePrefixQuery = (wordsList.length > 100) ? '' :\n `UNION\n SELECT word, COUNT(dict) AS num, 'like' AS meaning FROM dictionary \n WHERE (word LIKE '${wordsList.join(\"_%' OR word LIKE '\")}_%') AND ${dictFilter}\n GROUP BY word`\n\n const sql = `SELECT word, dict, meaning FROM dictionary \n WHERE word IN ('${wordsList.join(\"','\")}') AND (${dictFilter} OR dict = 'BR')\n ${likePrefixQuery} ORDER BY word LIMIT 50;`\n return dispatch('runDictQuery', { sql, input })\n },\n\n // no error checking - callers must call within a try-catch\n async runDictQuery({ commit, getters }, { sql, input }) {\n // check if we've searched for this word before\n const cachedRes = getters['getMd5Cache']('dict', sql)\n if (cachedRes) {\n console.log(`dict search '${input}' found in cache ${cachedRes.matches.length} matches.`);\n return cachedRes\n }\n\n const data = await sendSearchQuery('dict', sql)\n console.log(`received dict response with ${data.length} rows for query ${input}`)\n const results = processDictRows(data)\n commit('setMd5Cache', { type: 'dict', sql, results })\n return results\n },\n\n async runFTSQuery({ getters, commit }, { sql, input }) {\n const cachedRes = getters['getMd5Cache']('fts', sql)\n if (cachedRes) {\n console.log(`received fts results with ${cachedRes.length} from fts cache`)\n return cachedRes\n }\n\n const data = await sendSearchQuery('fts', sql)\n console.log(`received fts response with ${data.length} rows for query ${input}`)\n commit('setMd5Cache', { type: 'fts', sql, results: data })\n return data\n },\n }\n}\n\nasync function sendSearchQuery(type, sql) {\n if (typeof Android !== 'undefined') {\n const jsonStr = await callAndroidAsync('runSqliteQuery', { type, sql })\n return JSON.parse(jsonStr)\n }\n //const baseUrl = 'https://tipitaka.lk' // force prod server\n // check devServer.proxy setting in vue.config.js\n // const response = await axios.post('/tipitaka-query/' + type, { type, sql }) // for js server\n const response = await axios.post('/sql-query', { dbname: type + '.db', query: sql }) // for go server\n return response.data\n}\n\nfunction processDictRows(rows) {\n const matches = rows.filter(({ dict, meaning }) => dict != 'BR' && meaning != 'like')\n const breakups = rows.filter(({ dict }) => dict == 'BR').map(({ word, meaning }) => {\n const [type, breakup] = meaning.split('|')\n return { word, type, breakup }\n })\n const matchedWords = matches.map(r => r.word)\n const prefixWords = rows.filter(r => r.meaning == 'like' && matchedWords.indexOf(r.word) < 0)\n .sort((a, b) => a.dict > b.dict)\n return { breakups, matches, prefixWords }\n}","import Vue from 'vue'\nimport router from '@/router'\nimport Vuetify from '@/plugins/vuetify'\nimport { getJson } from '@/constants.js'\n\nfunction addEntryFields(pages, orderedKeys, filename) {\n let curKey = '', cInd = 0 // cInd used for audio\n pages.forEach((page, pi) => {\n page.pali.entries.forEach((paliEntry, ei) => {\n if (paliEntry.type == 'heading') {\n if (curKey) {\n curKey = orderedKeys[orderedKeys.indexOf(curKey) + 1] // get next key\n } else {\n curKey = filename\n }\n }\n \n const addProps = { key: curKey, eInd: [pi, ei], cInd: cInd++ } \n Object.assign(paliEntry, addProps)\n paliEntry.language = 'pali'\n const sinhEntry = page.sinh.entries[ei]\n if (sinhEntry) {\n Object.assign(sinhEntry, addProps)\n sinhEntry.language = 'sinh'\n }\n })\n })\n}\n\nconst updateRoute = (newKey) => {\n if (router.currentRoute.params.key != newKey) { //pathMatch\n router.push('/' + newKey) // TODO set columns (and eInd? - might cause issues)\n }\n}\n\nexport default {\n namespaced: true,\n state: {\n activeInd: -1,\n tabList: [],\n },\n\n getters: {\n getActiveTab: (state) => state.tabList[state.activeInd],\n getActiveKey: (state) => state.activeInd >= 0 ? state.tabList[state.activeInd].key : '',\n getTabColumns: (state, getters, rState) => {\n const cols = state.activeInd < 0 ? rState.defaultColumns : getters['getActiveTab'].columns // error check\n if (cols != 2 || Vuetify.framework.breakpoint.smAndUp) return cols // if big screen\n if (rState.defaultColumns != 2) return rState.defaultColumns\n return rState.treeLanguage == 'pali' ? 0 : 1 // use the tree language to determine default column (last resort)\n },\n getShowScanPage: (state) => state.tabList[state.activeInd].showScanPage,\n getIsAtta: (state) => state.tabList[state.activeInd].keyProp.filename.startsWith('atta-'),\n getTabInfo: (state) => (ind, prop) => state.tabList[ind][prop],\n getVisiblePages: (state) => (ind) => {\n const tab = state.tabList[ind]\n if (!tab.isLoaded) return []\n return tab.data.pages.slice(tab.pageStart, tab.pageEnd)\n },\n },\n\n mutations: {\n openTab(state, params) {\n state.tabList.push(params)\n },\n replaceActiveTab(state, params) {\n Vue.set(state.tabList, state.activeInd, params)\n updateRoute(params.key)\n },\n closeTab(state, closeInd) {\n state.tabList.splice(closeInd, 1)\n // if activeEnd or lower is closed decrement activeInd\n if (closeInd <= state.activeInd) state.activeInd = Math.max(0, state.activeInd - 1)\n if (!state.tabList.length) { \n router.replace('/') // if all tabs closed - go to welcome page\n } else {\n updateRoute(state.tabList[state.activeInd].key)\n }\n },\n // make an existing tab active\n setActiveInd(state, newInd) {\n state.activeInd = newInd\n updateRoute(state.tabList[state.activeInd].key)\n },\n\n setTabColumns(state, cols) {\n Vue.set(state.tabList[state.activeInd], 'columns', cols)\n },\n setError(state, message) {\n Vue.set(state.tabList[state.activeInd], 'errorMessage', message)\n },\n setTabInfo(state, {tabIndex, type, value}) {\n Vue.set(state.tabList[tabIndex], type, value)\n },\n loadPrevPage(state, tabIndex) {\n const tab = state.tabList[tabIndex]\n if (tab.entryStart > 0) {\n Vue.set(tab, 'entryStart', 0) // reset it\n } else {\n Vue.set(tab, 'pageStart', Math.max(0, tab.pageStart - 1))\n }\n },\n loadNextPage(state, { tabIndex, by }) {\n const tab = state.tabList[tabIndex]\n Vue.set(tab, 'pageEnd', Math.min(tab.pageEnd + by, tab.data.pages.length))\n },\n setShowScanPage(state, val) {\n Vue.set(state.tabList[state.activeInd], 'showScanPage', val)\n },\n },\n actions: {\n normalizeParams({ rootGetters }, params) {\n // cant commit anything yet since params not added to state yet\n if (!params.key) {\n params.errorMessage = `supplied tab params ${params} is missing the key`\n return\n }\n params.keyProp = rootGetters['tree/getKey'](params.key)\n if (!params.keyProp || !params.keyProp.filename) {\n params.errorMessage = `supplied tab params ${params} is missing key props`\n return\n }\n params.eInd = params.eInd || params.keyProp.eInd // TipitakaLink, eIndStr or from key\n params.entryStart = params.eInd[1]\n params.pageEnd = params.pageStart = params.eInd[0]\n params.isLoaded = false\n },\n \n async openAndSetActive({ state, commit, dispatch, rootState }, params) {\n params.showScanPage = false // set initial values\n params.columns = !params.language ? rootState.defaultColumns : Number(params.language == 'sinh')\n dispatch('normalizeParams', params)\n commit('openTab', params) // add params to state\n commit('setActiveInd', state.tabList.length - 1)\n await dispatch('loadTextData', state.tabList.length - 1)\n dispatch('tree/syncOpenBranches', false, { root: true })\n if (params.playAudio) await dispatch('audio/startEntry', params.eInd, { root: true })\n },\n\n replaceAndSetActive({state, commit, dispatch}, params) {\n dispatch('normalizeParams', params)\n commit('replaceActiveTab', params)\n dispatch('loadTextData', state.activeInd)\n },\n\n async loadTextData({ state, commit, rootState }, tabIndex) {\n const tabInfo = state.tabList[tabIndex]\n const newFilename = tabInfo.keyProp.filename\n if (!tabInfo.data || newFilename != tabInfo.data.filename) { // loaded file is not what is needed\n try {\n //const response = await axios.get(`/static/text/${newFilename}.json`)\n const data = await getJson(`/static/text/${newFilename}.json`) //response.data\n if (!data.pages || !data.pages.length) {\n return commit('setError', `pages are missing in loaded data from ${newFilename}`)\n }\n addEntryFields(data.pages, rootState.tree.orderedKeys, newFilename) // add computed entries - modifies data\n Object.preventExtensions(data) // no more modification to data/entries after this\n commit('setTabInfo', { tabIndex, type: 'data', value: data })\n } catch(e) {\n return commit('setError', `Failed to load the file ${newFilename} with error \"${e.message}\"`)\n }\n console.log(`loaded from file key:${tabInfo.key} eInd:${tabInfo.pageStart}-${tabInfo.entryStart}`)\n }\n commit('loadNextPage', { tabIndex, by: 2 })\n commit('setTabInfo', { tabIndex, type: 'isLoaded', value: true })\n },\n\n // replace the active tab with prev/next sutta\n navigateTabTo({state, dispatch, rootState}, direction) {\n const oldKey = state.tabList[state.activeInd].key\n const newOrderInd = rootState.tree.orderedKeys.indexOf(oldKey) + direction\n if (newOrderInd < 0 || newOrderInd >= rootState.tree.orderedKeys.length) return\n const key = rootState.tree.orderedKeys[newOrderInd]\n if (!rootState.tree.index[key].filename) return // can not be opened\n console.log(`replace key ${oldKey} -> ${key}`)\n \n const oldParams = state.tabList[state.activeInd]\n dispatch('replaceAndSetActive', {...oldParams, key, hWords: null })\n },\n\n }\n}\n","import { getJson, entryToKeyStr } from '@/constants.js'\nimport store from '@/store'\nimport axios from 'axios'\n\nconst audio = new Audio()\naudio.onplay = () => { store.commit('audio/setPlaying', true) };\naudio.onerror = audio.onpause = audio.onended = () => store.commit('audio/setPlaying', false);\naudio.ondurationchange = () => store.commit('audio/setDuration', audio.duration)\naudio.ontimeupdate = () => store.dispatch('audio/timeUpdated', audio.currentTime)\n\nconst audioBaseUrl = 'https://sajjha.sgp1.cdn.digitaloceanspaces.com/original/'\n\nasync function loadLabels(src) {\n const response = await axios.get(src + '.txt');\n \n return response.data.split('\\n').slice(0, -1) // removes the last empty line (for mac only \\n)\n .map(line => {\n const [start, end, text] = line.trim().split('\\t').map(n => Number(n))\n return {start, end, text, src: src + '.m4a'}; // 3 fields, start/end/num(starts at 1)\n }) \n}\n\nexport default {\n namespaced: true,\n state: {\n audioControls: false,\n curEntryInd: -1, // most recent playing entry\n entries: [], filename: '', // info about text entries\n labels: [], // for the text entries\n playbackRate: 1, silenceGap: 0.2, // in seconds (labels at 0.1 seconds in audacity)\n isPlaying: false,\n duration: 0,\n currentSrc: '',\n currentTime: 0,\n fileMap: {}, // mapping of text filenames to audio filenames\n },\n\n getters: {\n getActiveEntry: (state) => {\n return state.entries[state.curEntryInd]\n },\n getActiveLabel: (state) => { return state.entries[state.curEntryInd].label },\n getIsPlaying: (state) => {\n return state.isPlaying\n },\n getAudioAvailable: (state, getters, rootState, rootGetters) => (key) => {\n const filename = rootGetters['tree/getKey'](key).filename\n return state.fileMap[filename] // TODO some files may only have partial audio coverage\n },\n },\n\n mutations: {\n setAudioControls(state, active) {\n state.audioControls = active\n },\n setPlaying(state, isPlaying) {\n state.isPlaying = isPlaying\n },\n setDuration: (state, val) => state.duration = val,\n setCurrentTime: (state, val) => state.currentTime = val,\n setActiveEntry(state, entryInd) {\n state.curEntryInd = entryInd\n },\n togglePlay(state) {\n if (!audio.src) return // or maybe check duration? (check if valid audio is loaded)\n if (state.isPlaying) {\n audio.pause()\n } else {\n audio.play()\n }\n },\n pauseAudio(state) {\n if (!audio.src) return\n audio.pause();\n },\n setPlaybackRate(state, playbackRate) {\n state.playbackRate = audio.playbackRate = playbackRate\n },\n setSilenceGap(state, silence) {\n state.silenceGap = silence\n },\n setFileMap(state, fileMap) {\n Object.preventExtensions(fileMap) // read-only not reactive - this improves perf\n state.fileMap = fileMap\n },\n },\n\n actions: {\n async initialize({commit}) {\n const fileMap = await getJson('/static/data/file-map.json')\n commit('setFileMap', fileMap)\n },\n\n async startEntry({state, commit, rootGetters, dispatch}, eInd) {\n const data = rootGetters['tabs/getActiveTab'].data, entries = [], audioFiles = state.fileMap[data.filename]\n if (!audioFiles) return // audio not availabe for this file\n if (data.filename != state.filename) { // different text file being played\n // reload text entries and the labels\n data.pages.forEach(page => entries.push(...page.pali.entries))\n \n // parallel load all label files\n const promises = audioFiles.map(async labelFile => await loadLabels(audioBaseUrl + labelFile))\n const labelArrays = await Promise.all(promises), labels = []\n labelArrays.flat(1).forEach(label => labels[label.text - 1] = label) // concat all arrays and sort by label text\n entries.filter(e => !e.noAudio).forEach((entry, i) => entry.label = labels[i]) // assign labels to entries\n Object.preventExtensions(entries)\n state.entries = entries\n state.filename = data.filename\n //const noAudio = /(^$|^\\$.+$|^[\\d\\.,\\- ]+$)/.test(paliEntry.text) || paliEntry.noAudio // empty, starts with $ or all numbers\n }\n\n commit('setAudioControls', true)\n const playEntry = state.entries.find(e => e.eInd[0] == eInd[0] && e.eInd[1] >= eInd[1])\n dispatch('updateAudio', { newInd: playEntry ? playEntry.cInd : 0, dir: 1 })\n },\n \n moveParagraph({state, dispatch}, inc) {\n const newInd = state.curEntryInd + inc\n dispatch('updateAudio', { newInd, dir: inc })\n },\n\n updateAudio({state, commit}, {newInd, dir} ) {\n if (newInd < 0 || state.entries.length <= newInd) return\n while (!state.entries[newInd].label) { // find the next audio available paragraph\n newInd += dir\n if (newInd < 0 || state.entries.length <= newInd) return\n }\n const label = state.entries[newInd].label\n // todo check errors\n audio.pause()\n audio.src = state.currentSrc = label.src\n audio.currentTime = label.start\n audio.playbackRate = state.playbackRate // move para after setting custom playbackRate needs this to stick\n commit('setActiveEntry', newInd)\n audio.play()\n console.log(`play para for key ${entryToKeyStr(state.entries[newInd])} cInd: ${newInd}, label: ${label.text}, time: ${audio.currentTime}`)\n },\n\n // check if needed to go to the next para\n async timeUpdated({state, commit}, newTime) {\n // find the current label from time\n const entryInd = state.entries.findIndex(({label}) => label && state.currentSrc == label.src && newTime <= label.end)\n // set new index only if not the end of text file\n if (entryInd >= 0 && entryInd != state.curEntryInd) {\n const label = state.entries[entryInd].label\n if (newTime < label.start - state.silenceGap) { // seek to the beginning of next entry\n audio.currentTime = newTime = label.start - state.silenceGap\n }\n commit('setActiveEntry', entryInd)\n }\n commit('setCurrentTime', newTime)\n },\n \n },\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport Vuetify from '@/plugins/vuetify'\n\nimport tree from './tree.js'\nimport search from './search.js'\nimport tabs from './tabs.js'\nimport audio from './audio.js'\nimport { settingsKey, getJson } from '@/constants.js'\n\nVue.use(Vuex)\n\nconst storedSettings = ['darkMode', 'defaultColumns', 'treeLanguage', 'footnoteMethod', \n 'bandiLetters', 'specialLetters', 'showPageNumbers', 'fontSize', 'syncTree', 'autoHideSearchBar']\nfunction saveSettings(state) {\n const obj = {}\n storedSettings.forEach(s => obj[s] = state[s])\n localStorage.setItem(settingsKey, JSON.stringify(obj))\n}\n\nconst snackbarTypeToMsg = {\n 'link-copied': 'සබැඳිය පිටපත් විය. ඔබට අවශ්‍ය තැනක අලවන්න.',\n 'content-copied': 'ඡේදයේ අන්තර්ගතය පිටපත් විය. අවශ්‍ය තැනක අලවන්න.',\n}\n\nexport default new Vuex.Store({\n modules: {\n tree,\n search,\n tabs,\n audio,\n },\n\n state: {\n darkMode: false,\n defaultColumns: 2,\n treeLanguage: 'pali',\n footnoteMethod: Vuetify.framework.breakpoint.smAndDown ? 'click' : 'hover',\n footnoteAbbreviations: {}, footnoteAbbreviationKeys: [], \n bandiLetters: true,\n specialLetters: false,\n showPageNumbers: true,\n fontSize: 0,\n syncTree: true,\n autoHideSearchBar: true,\n isLoaded: false,\n snackbar: {model: false, timeout: 2000, message: ''},\n androidBusy: false, // only used in android app\n },\n\n getters: {\n isLoaded: (state) => {\n return state.isLoaded && state.tree.isLoaded\n },\n styles: (state) => { \n return { fontSize: 16 + state.fontSize + 'px' }\n },\n },\n \n mutations: {\n set(state, {name, value}) {\n state[name] = value\n if (name == 'darkMode') Vuetify.framework.theme.dark = state.darkMode\n if (storedSettings.indexOf(name) >= 0) saveSettings(state)\n },\n loadSettings(state) {\n const json = localStorage.getItem(settingsKey)\n if (json) {\n const storedSettings = JSON.parse(json)\n Object.assign(state, storedSettings)\n console.log(`settings loaded from storage key ${settingsKey}`)\n }\n },\n setSnackbar(state, { timeout, message, type }) {\n if (!message && type) message = snackbarTypeToMsg[type]\n if (message) {\n // android toast is ugly commenting it out\n // if (typeof Android !== 'undefined') { // use the android toast if available\n // Android.showToast(message)\n // } else {\n state.snackbar = { model: true, timeout: timeout || 2000, message }\n // }\n }\n },\n setAbbreviations(state, abbreviations) {\n // TODO: need to recompute everytime beautify text is changed\n state.footnoteAbbreviations = abbreviations\n state.footnoteAbbreviationKeys = Object.keys(abbreviations)\n state.isLoaded = true\n },\n },\n \n actions: {\n async initialize({commit}) {\n // read settings from local storage\n commit('loadSettings')\n const abbreviations = await getJson('/static/data/footnote-abbreviations.json')\n commit('setAbbreviations', abbreviations)\n },\n },\n \n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-btn',{directives:[{name:\"clipboard\",rawName:\"v-clipboard:copy\",value:(_vm.fullLink),expression:\"fullLink\",arg:\"copy\"},{name:\"clipboard\",rawName:\"v-clipboard:success\",value:(() => _vm.$store.commit('setSnackbar', { type: 'link-copied' })),expression:\"() => $store.commit('setSnackbar', { type: 'link-copied' })\",arg:\"success\"}],attrs:{\"icon\":\"\",\"x-small\":\"\",\"color\":\"info\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-share-variant\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShareLinkIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ShareLinkIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ShareLinkIcon.vue?vue&type=template&id=0184da46&\"\nimport script from \"./ShareLinkIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ShareLinkIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isListItem)?_c('v-list-item',{on:{\"click\":_vm.toggleStarred}},[_c('v-list-item-icon',[(_vm.isStarred)?_c('v-icon',{attrs:{\"color\":\"star\"}},[_vm._v(\"mdi-star\")]):_c('v-icon',[_vm._v(\"mdi-star-outline\")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.isStarred ? 'තරුව ඉවත් කරන්න' : 'තරුවක් යොදන්න')+\" \")])],1):_c('v-btn',{attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.toggleStarred}},[(_vm.isStarred)?_c('v-icon',{attrs:{\"color\":\"star\"}},[_vm._v(\"mdi-star\")]):_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-star-outline\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BookmarkIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js??clonedRuleSet-40.use[0]!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BookmarkIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BookmarkIcon.vue?vue&type=template&id=077811d4&\"\nimport script from \"./BookmarkIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./BookmarkIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport vuetify from './plugins/vuetify';\r\nimport VueMeta from 'vue-meta'\r\nimport ShareLinkIcon from '@/components/ShareLinkIcon'\r\nimport BookmarkIcon from '@/components/BookmarkIcon'\r\n\r\nVue.use(VueMeta)\r\n\r\nVue.config.productionTip = false\r\nVue.component('ShareLinkIcon', ShareLinkIcon) // register globally\r\nVue.component('BookmarkIcon', BookmarkIcon)\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","/**\r\n * Code for convering to bandi akuru and processing footnotes\r\n * Modified from the text-convert in the proofreading app\r\n */\r\n\"use strict\"\r\n\r\nconst commonConjuncts = [ // used in sinhala too - more common\r\n ['ක', 'ව'],\r\n ['ත', 'ථ'],\r\n ['ත', 'ව'],\r\n ['න', 'ථ'],\r\n ['න', 'ද'],\r\n ['න', 'ධ'],\r\n]\r\nconst paliConjuncts = [ // pali conjuncts with special ligratures\r\n ['ඤ', 'ච'],\r\n ['ඤ', 'ජ'],\r\n ['ඤ', 'ඡ'],\r\n ['ට', 'ඨ'],\r\n ['ණ', 'ඩ'],\r\n ['ද', 'ධ'],\r\n ['ද', 'ව']\r\n]\r\n\r\nfunction escapeRegExp(string) {\r\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\r\n}\r\nfunction addBandiLetters(text) {\r\n text = text.replace(/\\u200C/g, ''); // remove 200c char that appears in tipitaka.org text\r\n text = text.replace(/([ක-ෆ])\\u0DCA([ක-ෆ])/g, '$1\\u200D\\u0DCA$2'); // adding a zwj between consos\r\n text = text.replace(/([ක-ෆ])\\u0DCA([ක-ෆ])/g, '$1\\u200D\\u0DCA$2'); // do twice to handle consecutive hal ගන්ත්වා\r\n\r\n // remove hal\r\n text = text.replace(/\\u0DDA/g, \"\\u0DD9\"); //ee => e\r\n text = text.replace(/\\u0DDD/g, \"\\u0DDC\"); //oo => o\r\n\r\n return text;\r\n}\r\n\r\nfunction addCommonConjuncts(text) {\r\n // special conjunct cases\r\n commonConjuncts.forEach(pair => {\r\n const re = new RegExp(pair[0] + \"\\u0DCA\" + pair[1], \"g\") // TODO precompute these\r\n text = text.replace(re, pair[0] + \"\\u0DCA\\u200D\" + pair[1]);\r\n })\r\n return text\r\n}\r\n\r\nfunction addPaliConjuncts(text) {\r\n paliConjuncts.forEach(pair => {\r\n const re = new RegExp(pair[0] + \"\\u0DCA\" + pair[1], \"g\") // TODO precompute these\r\n text = text.replace(re, pair[0] + \"\\u0DCA\\u200D\" + pair[1]);\r\n })\r\n return text\r\n}\r\n\r\nfunction addRakarYansa(text) {\r\n // adding the rakar & yansa\r\n // change joiners before U+0DBA Yayanna and U+0DBB Rayanna to Virama + ZWJ\r\n return text.replace(/\\u0DCA([\\u0DBA\\u0DBB])/g, '\\u0DCA\\u200D$1');\r\n}\r\n\r\n// add rakar and common conjuncts\r\nexport function beautifyText(text, lang, {bandiLetters, specialLetters}) {\r\n if (lang == 'sinh') return text // issue pointed out by Vincent - උස්යහනින්/අඳුන්දිවිසමින්\r\n text = addRakarYansa(text) \r\n text = addCommonConjuncts(text)\r\n if (lang == 'pali') {\r\n if (specialLetters) text = addPaliConjuncts(text)\r\n if (bandiLetters) text = addBandiLetters(text)\r\n }\r\n return text\r\n}\r\n\r\nexport function beautifyFTSText(text, lang, options) {\r\n if (lang != 'sinh') return beautifyText(text, lang, options)\r\n return addRakarYansa(text) // even though උස්යහනින් is still a problem this is needed as fts lacks 200d\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + {\"105\":\"dict\",\"265\":\"Settings\",\"427\":\"Bookmarks\",\"439\":\"title\",\"787\":\"FTS\"}[chunkId] + \".\" + {\"105\":\"0661be2f\",\"265\":\"7c36dc60\",\"427\":\"140d7bda\",\"439\":\"f195ce19\",\"787\":\"8340c0ad\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + {\"265\":\"Settings\",\"427\":\"Bookmarks\",\"787\":\"FTS\"}[chunkId] + \".\" + {\"265\":\"ba36a5b5\",\"427\":\"183b6227\",\"787\":\"0efaeba9\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"tipitaka.lk:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"265\":1,\"427\":1,\"787\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunktipitaka_lk\"] = self[\"webpackChunktipitaka_lk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(7979); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["type","breakup","staticClass","_c","word","dict","meaning","key","i","style","_s","attrs","_vm","domProps","$event","params","_v","_e","name","props","results","data","dialog","computed","isEmptyResults","methods","component","render","staticRenderFns","model","value","modelValue","callback","expression","varName","iconType","smAndUp","get","set","tabColumns","defaultColumns","_self","$store","getters","on","openSutta","suttaNameItem","text","replace","item","itemKey","keyToText","items","parent","disabled","getLinkText","tipitakaAppVersion","settingsVersion","settingsKey","bookmarksVersion","bookmarksStorageKey","searchSettingsVersion","searchSettingsKey","filterTreeParents","allFilterKeys","allFilterLength","length","Language","Object","freeze","SI","EN","dictionaryInfo","d","g","o","n","copyMetaTitle","title","meta","property","content","vmid","getJson","fileUrl","Promise","resolve","reject","xhr","XMLHttpRequest","onload","JSON","parse","responseText","onerror","TypeError","Android","open","send","async","callAndroidAsync","javaFuncName","rand","Math","floor","random","window","isSuccess","dataOrErr","runAsyncResult","runAsync","stringify","err","entryToKeyStr","entry","eInd","language","join","entryToAudioKey","activeTabInd","tabList","ind","showTree","searchType","searchInput","showScanPage","$$v","dispatch","scopedSlots","$router","staticStyle","openedBranches","fn","hoveredKey","hover","stopPropagation","selected","openNewTab","playAudio","syncBranches","parseParams","console","watch","$route","metaInfo","titleTemplate","components","TipitakaTree","TipitakaLink","TabColumnSelector","searchTypeInfo","tabsHeight","isTextTab","isAttaActive","mdAndUp","appBarHide","isView","toggleView","created","rawName","inlineWordBackspace","showInlineDict","inlineDict","directives","rows","footnotes","pageNum","pi","pageEnd","handler","loadNextSection","threshold","ei","columns","getScanImgSrc","tabIndex","entryOptions","class","cssClasses","_g","matchingFootnote","menuOpen","arg","contentToCopy","audioAvailable","toggleAudioPlay","isAtuwa","isListItem","hasTarget","targetKey","openTarget","footnote","matchingAbbrDescription","optionsAllowedTypes","AtuwaLinkIcon","Footnote","showOptions","entryColor","linkToEntry","isAudioPlayingEntry","genWords","onLinkCopy","onContentCopy","showEntryOptions","showWordOptions","this","entryVisible","fontSize","_l","note","index","bjtBooksInfo","maxPageId","firstPageId","pageNumOffset","imagePrefix","bjtBooksFolder","bjtImageExt","initBjtParams","bjtParams","getBjtParams","response","axios","e","split","log","getBJTImageSrc","bookId","bookInfo","paddedPage","Number","toString","slice","folder","eIndEquals","a","b","highlightWords","words","TextEntry","FootnoteList","clickedPageNum","scrollTop","pali","sinh","tab","filename","visiblePages","page","paliOnly","isAtta","displayScanned","touchSwipe","message","timeout","by","processEntry","parts","processFootnote","number","map","textParts","rate","silence","isPlaying","showAudio","commit","progessPercentage","entryText","navigateToActive","Vue","duration","TextTab","DictionaryResults","AudioControl","prop","dictResults","inlineWord","runInlineDictQuery","VueRouter","routes","path","Welcome","Home","router","mode","base","process","settingsStr","localStorage","getItem","darkMode","Vuetify","Touch","VueClipboard","theme","themes","light","primary","accent","highlight","star","dark","info","options","customProperties","icons","iconfont","childInd","parseInt","splice","childrenSort","ac","bc","isNaN","genTree","addChildren","letterOpt","children","beautifyText","treeItem","cKey","sort","addOrder","list","push","forEach","child","isEIndLessEqual","namespaced","state","treeView","filterTree","orderedKeys","openBranches","isLoaded","getKey","getName","rState","rGetters","lang","treeLanguage","getKeyForEInd","mutations","setIndex","jTree","keys","level","preventExtensions","recomputeTree","k","setOpenBranches","ar","closeAllBranches","actions","rootState","syncOpenBranches","rootGetters","force","syncTree","p","parents","container","document","getElementsByClassName","getElementById","offsetParent","offsetTop","routeToSearchPage","input","indexOf","dictWordList","query","toLowerCase","isSinglishQuery","getPossibleMatches","stripEnd","w","addVowel","v","filter","dbVersions","storedSettings","saveSettings","obj","s","setItem","filterTreeOpenKeys","selectedDictionaries","titleSearchCache","md5SearchCache","maxResults","show","wordElem","bookmarks","getSearchInput","getSearchType","getFilter","param","getFilterTreeOpenKeys","getMd5Cache","sql","md5","getTitleCache","getShortDicts","setSearchInput","setSearchType","routeToSearch","setFilter","setFilterTreeOpenKeys","setMd5Cache","setTitleCache","setSelectedDicts","newList","setInlineDict","classList","remove","add","loadSearchSettings","json","assign","loadBookmarks","toggleBookmark","root","target","innerText","dictList","wordsList","dictFilter","likePrefixQuery","cachedRes","matches","sendSearchQuery","processDictRows","jsonStr","dbname","breakups","matchedWords","r","prefixWords","addEntryFields","pages","curKey","cInd","entries","paliEntry","addProps","sinhEntry","updateRoute","newKey","activeInd","getActiveTab","getActiveKey","getTabColumns","cols","getShowScanPage","getIsAtta","keyProp","startsWith","getTabInfo","getVisiblePages","pageStart","openTab","replaceActiveTab","closeTab","closeInd","max","setActiveInd","newInd","setTabColumns","setError","setTabInfo","loadPrevPage","entryStart","loadNextPage","min","setShowScanPage","val","normalizeParams","errorMessage","replaceAndSetActive","tabInfo","newFilename","tree","navigateTabTo","direction","oldKey","newOrderInd","oldParams","hWords","audio","Audio","onplay","store","onpause","onended","ondurationchange","ontimeupdate","currentTime","audioBaseUrl","loadLabels","src","line","start","end","trim","audioControls","curEntryInd","labels","playbackRate","silenceGap","currentSrc","fileMap","getActiveEntry","getActiveLabel","label","getIsPlaying","getAudioAvailable","setAudioControls","active","setPlaying","setDuration","setCurrentTime","setActiveEntry","entryInd","togglePlay","pause","play","pauseAudio","setPlaybackRate","setSilenceGap","setFileMap","audioFiles","promises","labelFile","labelArrays","all","flat","noAudio","playEntry","find","dir","moveParagraph","inc","updateAudio","newTime","findIndex","Vuex","snackbarTypeToMsg","modules","search","tabs","footnoteMethod","footnoteAbbreviations","footnoteAbbreviationKeys","bandiLetters","specialLetters","showPageNumbers","autoHideSearchBar","snackbar","androidBusy","styles","loadSettings","setSnackbar","setAbbreviations","abbreviations","fullLink","toggleStarred","isStarred","fieldsNeeded","starredColor","bookmarkKey","bookmarkObject","VueMeta","ShareLinkIcon","BookmarkIcon","vuetify","h","App","$mount","commonConjuncts","paliConjuncts","addBandiLetters","addCommonConjuncts","pair","re","RegExp","addPaliConjuncts","addRakarYansa","beautifyFTSText","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","definition","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","globalThis","Function","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","script","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","nc","setAttribute","onScriptComplete","prev","event","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","head","appendChild","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","href","Error","code","request","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}