diff --git a/DynamicBibleIonic/.sourcemaps/main.js.map b/DynamicBibleIonic/.sourcemaps/main.js.map index 5d88c95c..58da05e1 100644 --- a/DynamicBibleIonic/.sourcemaps/main.js.map +++ b/DynamicBibleIonic/.sourcemaps/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/libs/Common.ts","../../src/pages/search/search.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/services/profile-service.ts","../../src/components/strongs-modal/strongs-modal.ts","../../src/services/strongs-service.ts","../../src/components/verse-picker/verse-picker.ts","../../src/libs/Constants.ts","../../src/components/settings-modal/settings-modal.ts","../../src/components/about-modal/about-modal.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/libs/Reference.ts","../../node_modules/timers-browserify/main.js","../../src/services/pages-service.ts","../../src/app/app.component.ts","../../src/services/search-autocomplete-service.ts","../../src/components/passage/passage.ts","../../src/services/bible-service.ts","../../src/components/strongs/strongs.ts","../../src/components/words/words.ts","../../src/services/word-service.ts","../../src/components/error/error.ts","../../src/components/settings/settings.ts","../../src/components/error-message/error-message.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { ProfileService } from \"../services/profile-service\";\nimport { ActionSheetController, AlertController } from \"ionic-angular\";\nimport { PagesService } from \"../services/pages-service\";\nimport { CardItem } from \"../pages/search/search\";\n\nexport function cardContextMenu(\n profileService: ProfileService,\n actionSheet: ActionSheetController,\n pagesSvc: PagesService,\n alertCtrl: AlertController,\n cardItem: CardItem\n) {\n const actions = actionSheet.create({\n title: \"Passage Actions\",\n buttons: [\n {\n text: \"Add to a Saved Page\",\n icon: \"add-circle\",\n handler: () => {\n let btns = pagesSvc.getSavedPages().map(p => {\n return {\n text: p.title,\n icon: \"bookmark\",\n handler: () => {\n const page = profileService.profile().saved_pages.find(i => i.title === p.title);\n page.queries.push(cardItem);\n profileService.save();\n }\n };\n });\n btns.push({\n text: \"Add to New Page\",\n icon: \"create\",\n handler: () => {\n const alert = alertCtrl.create({\n title: \"Save Passage as Page\",\n inputs: [\n {\n name: \"title\",\n placeholder: \"Page Title\"\n }\n ],\n buttons: [\n {\n text: \"Cancel\",\n role: \"cancel\",\n handler: (): void => {\n console.log(\"Cancel clicked\");\n }\n },\n {\n text: \"Save\",\n handler: data => {\n const p = {\n queries: profileService.profile().items.slice(),\n title: data.title\n };\n profileService.profile().saved_pages.push(p);\n profileService.save();\n pagesSvc.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n });\n actionSheet\n .create({\n title: \"Saved Pages\",\n buttons: btns\n })\n .present();\n }\n }\n ]\n });\n if (profileService.isOnSearchPage()) {\n actions.addButton({\n text: \"Remove from \" + profileService.title,\n icon: \"remove-circle\",\n handler: () => {\n const page = profileService.profile().saved_pages.find(i => i.title === profileService.title);\n const idx = profileService.profile().items.indexOf(cardItem);\n profileService.profile().items.splice(idx, 1);\n\n page.queries = profileService.profile().items.slice();\n profileService.save();\n pagesSvc.initializePages(profileService.profile().saved_pages);\n }\n });\n }\n\n actions.present();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Common.ts","import { Type, Component, OnInit, ViewChild } from \"@angular/core\";\nimport {\n Loading,\n LoadingController,\n ModalController,\n NavParams,\n AlertController,\n MenuController,\n TextInput,\n Searchbar\n} from \"ionic-angular\";\nimport { AutoCompleteComponent } from \"ionic2-auto-complete\";\n\nimport { StrongsModal } from \"../../components/strongs-modal/strongs-modal\";\nimport { VersePickerModal } from \"../../components/verse-picker/verse-picker\";\n\nimport { PagesService } from \"../../services/pages-service\";\nimport { ProfileService, User } from \"./../../services/profile-service\";\nimport { SearchAutoCompleteService } from \"../../services/search-autocomplete-service\";\n\nimport { Reference } from \"../../libs/Reference\";\n\n@Component({\n templateUrl: \"search.html\",\n providers: [SearchAutoCompleteService]\n})\nexport class SearchPage implements OnInit {\n searchQuery = \"\";\n loader: Loading;\n\n @ViewChild(\"searchbar\")\n searchbar: AutoCompleteComponent;\n\n constructor(\n private pagesService: PagesService,\n private alertCtrl: AlertController,\n private menu: MenuController,\n public loadingCtrl: LoadingController,\n public modalCtrl: ModalController,\n public profileService: ProfileService,\n public params: NavParams,\n public autocompleteService: SearchAutoCompleteService\n ) {}\n\n ngOnInit(): void {\n if (this.profileService.localIsLoaded) {\n this.loader = this.loadingCtrl.create({ content: \"Loading Page...\" });\n this.loader.present().then(() => {\n let t = this.profileService.profile();\n this.initializeItems(t);\n this.loader.dismiss();\n });\n } else {\n this.profileService.onLocalStorageLoaded.subscribe(t => {\n // Check if there is a profile saved in local storage\n this.loader = this.loadingCtrl.create({ content: \"Loading Page...\" });\n this.loader.present().then(() => {\n this.initializeItems(t);\n this.loader.dismiss();\n this.pagesService.initializePages(this.profileService.profile().saved_pages);\n });\n });\n this.profileService.onSavedPagesChanged.subscribe(sp => {\n this.pagesService.initializePages(sp);\n });\n }\n }\n\n initializeItems(u: User) {\n // migrate old way of storing card items to the new.\n let has_migrated = false;\n for (let i in u.items) {\n if (u.items.hasOwnProperty(i)) {\n let ci = u.items[i];\n if (ci[\"data\"] !== undefined) {\n if (ci[\"data\"].qry !== undefined)\n u.items[i] = { qry: ci[\"data\"].qry, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].ref !== undefined)\n u.items[i] = { qry: ci[\"data\"].ref, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].word !== undefined)\n u.items[i] = { qry: ci[\"data\"].word, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].sn !== undefined)\n u.items[i] = {\n qry: ci[\"data\"].sn,\n dict: ci[\"prefix\"] === \"G\" ? \"grk\" : \"heb\",\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n\n for (let pg of u.saved_pages) {\n for (let i in pg.queries) {\n if (pg.queries.hasOwnProperty(i)) {\n let ci = pg.queries[i];\n if (ci[\"data\"] !== undefined) {\n if (ci[\"data\"].qry !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].qry, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].ref !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].ref, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].word !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].word, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].sn !== undefined)\n pg.queries[i] = {\n qry: ci[\"data\"].sn,\n dict: ci[\"prefix\"] === \"G\" ? \"grk\" : \"heb\",\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n }\n\n // initialize the pages.\n this.pagesService.initializePages(u.saved_pages);\n this.profileService.save(); // save the new items list\n\n if (this.params.data.queries !== undefined)\n this.profileService.profile().items = JSON.parse(JSON.stringify(this.params.data.queries));\n\n if (this.params.data.title === undefined) this.profileService.title = \"Search\";\n else this.profileService.title = this.params.data.title;\n\n if (has_migrated) this.profileService.save();\n\n if (this.profileService.profile().items === undefined) {\n this.profileService.profile().items = []; // sometimes, maybe because of all the weirdness with the remote syncing, this gets set to undefined, and it needs to be reset.\n }\n }\n\n textSizeChanged() {\n this.profileService.textSizeChanged();\n this.profileService.localSave();\n }\n fontFamilyChanged() {\n this.profileService.fontFamilyChanged();\n this.profileService.localSave();\n }\n actionsMenu() {\n this.menu.open(\"actions\");\n }\n\n addPage() {\n const alert = this.alertCtrl.create({\n title: \"Save Search as Page\",\n inputs: [\n {\n name: \"title\",\n placeholder: \"Page Title\"\n }\n ],\n buttons: [\n {\n text: \"Cancel\",\n role: \"cancel\",\n handler: (): void => {\n console.log(\"Cancel clicked\");\n }\n },\n {\n text: \"Save\",\n handler: data => {\n const p = { queries: this.profileService.profile().items.slice(), title: data.title };\n this.profileService.profile().saved_pages.push(p);\n this.profileService.save();\n this.pagesService.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n\n updatePage() {\n const page = this.profileService.profile().saved_pages.find(i => i.title === this.params.data.title);\n page.queries = this.profileService.profile().items.slice();\n this.profileService.save();\n }\n\n itemSelected(autocomplete: string) {\n let qry = autocomplete;\n let idx = qry.lastIndexOf(\";\");\n let prefix = \"\";\n\n if (idx > -1) {\n qry = autocomplete.substr(idx + 1).trim();\n prefix = autocomplete.substr(0, idx).trim() + \"; \";\n }\n\n const bk = Reference.parseBook(qry);\n if (bk.book_number > 0) {\n this.searchQuery = prefix + qry.trim() + \" \";\n this.searchbar.setFocus();\n } else {\n this.searchQuery = prefix + autocomplete;\n this.getQuery();\n }\n }\n\n setQuery(searchbar) {\n this.searchQuery = searchbar.target.value;\n }\n\n getQuery() {\n const qry = this.searchQuery;\n this.searchQuery = \"\";\n this.searchbar.setValue(\"\");\n this.profileService.addSearchRequestToHistory(qry);\n this.updateUIwithItems(qry, true);\n }\n\n showHistory() {\n if (\n this.searchQuery.trim().length === 0 &&\n this.profileService.searchHistory !== null &&\n this.profileService.searchHistory.length > 0\n ) {\n this.searchbar.suggestions = this.profileService.searchHistory;\n this.searchbar.showItemList();\n }\n }\n\n isError(t: string) {\n return t === \"Error\";\n }\n isPassage(t: string) {\n return t === \"Passage\";\n }\n isStrongs(t: string) {\n return t === \"Strongs\";\n }\n isWords(t: string) {\n return t === \"Words\";\n }\n\n versePicker() {\n const modal = this.modalCtrl.create(VersePickerModal, { onItemClicked: this });\n modal.present();\n }\n\n getItemsNextToCard(data: OpenData) {\n this.profileService.last = data.card;\n this.updateUIwithItems(data.qry, data.from_search_bar);\n }\n\n getItemList(search: string): Promise {\n this.searchbar.hideItemList();\n\n return new Promise(resolve => {\n const list: CardItem[] = [];\n\n try {\n const qs = search.split(\";\");\n for (let x in qs) {\n if (qs.hasOwnProperty(x)) {\n let q = qs[x].trim();\n if (q !== \"\") {\n // its a search term.\n if (q.search(/[0-9]/i) === -1) list.push({ qry: q, dict: \"na\", type: \"Words\" });\n else if (q.search(/(H|G)[0-9]/i) !== -1) {\n // its a strongs lookup\n let dict = q.substring(0, 1);\n\n if (dict.search(/h/i) !== -1) dict = \"heb\";\n else dict = \"grk\";\n\n q = q.substring(1, q.length);\n list.push({ qry: q, dict: dict, type: \"Strongs\" });\n } else {\n // its a verse reference.\n if (q.trim() !== \"\") {\n const myref = new Reference(q.trim());\n list.push({\n qry: myref.toString(),\n dict: myref.Section.start.book.book_number > 39 ? \"G\" : \"H\",\n type: \"Passage\"\n });\n }\n }\n }\n }\n }\n\n this.profileService.save();\n } catch (error) {\n list.push({ qry: error, type: \"Error\", dict: \"na\" });\n console.log(error);\n }\n\n resolve(list);\n });\n }\n\n updateUIwithItems(search: string, from_search_bar: boolean) {\n // clear search box.\n this.searchQuery = \"\";\n this.searchbar.setValue(\"\");\n\n this.getItemList(search).then(lst => {\n this.loader = this.loadingCtrl.create({ content: \"Looking up Query...\" });\n this.loader.present().then(() => {\n for (let item of lst) {\n if (item.type === \"Strongs\" && this.profileService.profile().strongs_modal && !from_search_bar) {\n const modal = this.modalCtrl.create(StrongsModal, {\n sn: item.qry,\n dict: item.dict,\n onItemClicked: this\n });\n modal.present();\n } else this.profileService.addItemToList(item);\n }\n this.loader.dismiss();\n });\n });\n }\n}\n\nexport type OpenData = { card: CardItem; qry: string; from_search_bar: boolean };\n\nexport type CardItem = { qry: string; type: string; dict: string };\n\nclass Item {\n id: number;\n data: any;\n type: Type;\n dict: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/search/search.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 206;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 206\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 306;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 306\n// module chunks = 0","/// \nimport { Injectable } from '@angular/core';\nimport { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';\nimport { AngularFireAuth } from 'angularfire2/auth';\nimport * as firebase from 'firebase/app';\nimport { Observable } from 'rxjs/Observable';\nimport { Catch } from 'rxjs/add/operator';\nimport { Storage } from '@ionic/storage';\n\nimport { CardItem } from '../pages/search/search';\nimport { Promise } from 'q';\nimport { setTimeout } from 'timers';\n\nimport { Output, EventEmitter } from '@angular/core';\n\nexport const DEFAULT_USER_NAME = 'john_doe';\n\n@Injectable()\nexport class ProfileService {\n @Output()\n onSavedPagesChanged = new EventEmitter();\n\n @Output()\n onLocalStorageLoaded = new EventEmitter();\n\n localProfile: User;\n remoteProfile: fbObject | null;\n isWeb: boolean;\n url: string;\n needsSync = false;\n firebaseUser: firebase.User;\n remoteLoggedIn: boolean;\n localIsLoaded: boolean;\n last: CardItem;\n title: string;\n\n searchHistory: string[] = [];\n\n constructor(private local: Storage, private db: AngularFireDatabase, public firebaseAuth: AngularFireAuth) {\n this.url = document.URL;\n this.isWeb = document.URL.startsWith('http') && !document.URL.startsWith('http://localhost:8080');\n this.localIsLoaded = false;\n\n this.local.get('searchHistory').then(v => {\n if (v === null) {\n this.searchHistory = [];\n } else {\n this.searchHistory = v;\n }\n });\n\n // asyncrounosly kick off a poller that does the work of syncing remotely when the\n // profile needs to be synced.\n (function poll(self) {\n setTimeout(function() {\n // Setup the next poll recursively\n if (self.needsSync) {\n // do the sync here.\n // If we have a remote profile then save it there too\n if (self.remoteProfile && self.localProfile.uid) {\n let st = new Date();\n console.log('Saving the remote profile...');\n self.remoteProfile.ref.set(self.localProfile);\n console.log(' Finished saving remote profile. ' + self.elapsed(st, new Date()) + 'ms');\n }\n self.needsSync = false;\n }\n\n poll(self);\n }, 2000);\n })(this);\n\n this.local.get('profile').then(json_profile => {\n let t = this.profile();\n\n if (json_profile !== null) t = JSON.parse(json_profile);\n\n this.localProfile = t;\n this.localIsLoaded = true;\n this.onLocalStorageLoaded.emit(this.localProfile);\n });\n\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n }\n\n addSearchRequestToHistory(qry: string) {\n if (this.searchHistory === null) {\n this.searchHistory = [];\n }\n\n // if the query already exists, remove it so it will be unique\n this.searchHistory = this.searchHistory.filter(v => v !== qry);\n\n // put it at the top.\n this.searchHistory.unshift(qry);\n\n // no more than 5.\n if (this.searchHistory.length > 5) {\n this.searchHistory = this.searchHistory.slice(0, 5);\n }\n\n // save it to storage.\n this.local.set('searchHistory', this.searchHistory);\n }\n\n //#region Profile\n\n removeItem(item) {\n const idx = this.profile().items.indexOf(item);\n this.profile().items.splice(idx, 1);\n\n // save the users settings.\n this.save();\n }\n\n addItemToList(item: CardItem) {\n if (this.profile().append_to_bottom) {\n if (this.last != null && this.profile().insert_next_to_item) {\n const idx = this.profile().items.indexOf(this.last);\n this.profile().items.splice(idx + 1, 0, item);\n } else this.profile().items.push(item);\n } else {\n if (this.last != null && this.profile().insert_next_to_item) {\n const idx = this.profile().items.indexOf(this.last);\n this.profile().items.splice(idx, 0, item);\n } else this.profile().items.unshift(item);\n }\n this.last = null;\n }\n\n isOnSearchPage() {\n return this.title !== 'Search';\n }\n\n profile(): User {\n if (!this.localProfile) {\n this.localProfile = ProfileService.createDefaultUser();\n }\n\n return this.localProfile;\n }\n\n subscribeToRemoteProfile(db: AngularFireDatabase, user: firebase.User) {\n console.log('subscribeToRemoteProfile');\n if (!user || this.firebaseUser) return;\n console.log('You got the firebase user.');\n let obj = db.object('/settings/' + user.uid);\n this.remoteProfile = {\n ref: obj as AngularFireObject,\n stream: obj.valueChanges() as Observable\n };\n this.firebaseUser = user;\n this.profile().username = user.displayName;\n this.profile().uid = user.uid;\n\n this.remoteProfile.stream.subscribe(\n user => this.handleRemotePreferenceChange(user),\n error => console.log(error)\n );\n }\n\n comparePage(a: SavedPage, b: SavedPage) {\n if (a.title > b.title) return 1;\n if (a.title === b.title) return 0;\n if (a.title < b.title) return -1;\n }\n\n handleRemotePreferenceChange(user: User) {\n console.log('handleRemotePreferenceChange');\n if (user) {\n let changed = false;\n if (user.saved_pages !== undefined) {\n this.localProfile.saved_pages = user.saved_pages;\n changed = true;\n }\n\n if (this.profile().sync_search_items) {\n if (user === undefined || user.items === undefined) {\n this.localProfile.items = [];\n } else {\n this.localProfile.items = user.items;\n }\n changed = true;\n }\n\n // don't sync things that don't make sense.\n if (user.uid !== undefined && this.profile().uid !== user.uid) {\n this.profile().uid = user.uid;\n changed = true;\n }\n if (user.username !== undefined && this.profile().username !== user.username) {\n this.profile().username = user.username;\n changed = true;\n }\n // We only save the local change here since this is an update from our remote profile.\n if (changed) {\n this.localSave();\n }\n this.onSavedPagesChanged.emit(user.saved_pages);\n } else {\n this.save();\n }\n }\n\n currentUser(): firebase.User {\n return this.firebaseAuth.auth.currentUser;\n }\n\n authenticate() {\n console.log('Authenticating to remote...');\n\n let self = this;\n let provider = new firebase.auth.GoogleAuthProvider();\n if (this.isWeb) {\n this.firebaseAuth.auth.signInWithPopup(provider);\n } else {\n firebase\n .auth()\n .signInWithRedirect(provider)\n .then(function() {\n return firebase.auth().getRedirectResult();\n })\n .catch(function(error) {\n // Handle Errors here.\n console.log(error);\n });\n }\n this.firebaseAuth.authState.subscribe(state => this.subscribeToRemoteProfile(this.db, state));\n this.remoteLoggedIn = true;\n }\n\n refresh() {\n console.log('refresh');\n this.logout();\n this.authenticate();\n }\n\n logout() {\n console.log('logout');\n this.firebaseAuth.auth.signOut(); // sign out\n this.remoteProfile = null; // inform the profile service not to bother\n this.remoteLoggedIn = false;\n }\n\n save() {\n this.localSave();\n this.needsSync = true;\n }\n\n localSave() {\n console.log('saving local');\n this.local.set('profile', JSON.stringify(this.profile()));\n }\n\n private elapsed(start: Date, finish: Date) {\n let difference = new Date();\n difference.setTime(finish.getTime() - start.getTime());\n return difference.getMilliseconds();\n }\n\n // this function updates a user object, in case new properties have been introduced\n // in a release.\n update(t: User): boolean {\n let updated = false;\n let k;\n const user = this.profile();\n for (k in user) {\n if (user.hasOwnProperty(k)) {\n if (t[k] === undefined) {\n t[k] = user[k];\n updated = true;\n }\n }\n }\n\n for (k in user) if (user.hasOwnProperty(k)) user[k] = t[k];\n\n this.textSizeChanged();\n this.fontFamilyChanged();\n return updated;\n }\n\n private resetUser() {\n this.profile().strongs_modal = true;\n this.profile().items = [];\n this.profile().append_to_bottom = false;\n this.profile().insert_next_to_item = false;\n this.profile().font_size = 10;\n this.profile().saved_pages = [];\n this.profile().verses_on_new_line = true;\n this.profile().show_verse_numbers = true;\n this.profile().show_paragraph_headings = true;\n this.profile().show_paragraphs = true;\n this.profile().sync_search_items = false;\n }\n\n reset() {\n this.resetUser();\n this.remoteProfile.ref.set(this.profile());\n this.save();\n }\n\n removePage(page: SavedPage) {\n let idx = this.profile().saved_pages.indexOf(page);\n this.profile().saved_pages.splice(idx, 1);\n this.onSavedPagesChanged.emit(this.localProfile.saved_pages);\n\n // Sync with remote\n this.save();\n }\n\n // TODO(jwall): This belongs somewhere else.\n textSizeChanged() {\n $('html').css('font-size', this.profile().font_size + 'px');\n }\n\n fontFamilyChanged() {\n document.querySelector('html').style.cssText = '--card-font: ' + this.profile().font_family;\n this.textSizeChanged();\n }\n\n static createDefaultUser(): User {\n return {\n username: DEFAULT_USER_NAME,\n uid: null,\n font_size: 10,\n font_family: 'roboto, helvetica, arial, sans-serif',\n saved_pages: [],\n items: [],\n strongs_modal: true,\n append_to_bottom: false,\n insert_next_to_item: false,\n\n verses_on_new_line: false,\n show_verse_numbers: true,\n show_paragraphs: true,\n show_paragraph_headings: true,\n sync_search_items: false\n };\n }\n //#endregion\n}\n\ntype fbObject = {\n ref: AngularFireObject;\n stream: Observable;\n};\n\nexport type User = {\n username: string;\n uid: string | null;\n strongs_modal: boolean;\n items: CardItem[];\n append_to_bottom: boolean;\n insert_next_to_item: boolean;\n font_size: number;\n font_family: string;\n saved_pages: SavedPage[];\n verses_on_new_line: boolean;\n show_verse_numbers: boolean;\n show_paragraphs: boolean;\n show_paragraph_headings: boolean;\n sync_search_items: boolean;\n};\n\nexport type SavedPage = {\n queries: CardItem[];\n title: string;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/profile-service.ts","import { EventEmitter, Component, Output, OnInit } from \"@angular/core\";\nimport { NavParams, ViewController } from \"ionic-angular\";\nimport { Reference } from \"../../libs/Reference\";\nimport { StrongsResult, StrongsService } from \"../../services/strongs-service\";\n\n@Component({\n selector: \"strongs-modal\",\n templateUrl: \"strongs-modal.html\",\n providers: [StrongsService]\n})\nexport class StrongsModal implements OnInit {\n sn: string;\n dict: string;\n items: StrongsResult[];\n\n @Output()\n onItemClicked = new EventEmitter();\n\n constructor(\n private _strongsService: StrongsService,\n private _params: NavParams,\n private _viewCtrl: ViewController\n ) {\n this.sn = this._params.get(\"sn\") as string;\n this.dict = this._params.get(\"dict\") as string;\n this.onItemClicked.subscribe(item => {\n let pg = this._params.get(\"onItemClicked\");\n pg.updateUIwithItems(item, false);\n });\n }\n\n async ngOnInit() {\n this.items = [];\n const numbers = this.sn.split(\" \");\n for (const sn of numbers) {\n let data = await this._strongsService.getResultAsPromise(parseInt(sn), this.dict);\n this.items.push(data);\n }\n }\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n\n openItem(p: string) {\n this.onItemClicked.emit(p);\n this.dismiss();\n }\n\n makePassage(p: string) {\n return Reference.bookName(parseInt(p.split(\";\")[0])).name + \" \" + p.split(\";\")[1] + \":\" + p.split(\";\")[2];\n }\n\n openPassage(p: string) {\n let ref = this.makePassage(p);\n this.onItemClicked.emit(ref);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs-modal/strongs-modal.ts","/// \r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StrongsService\r\n{\r\n result: StrongsResult;\r\n count = 0;\r\n\r\n constructor()\r\n {\r\n }\r\n\r\n getResultAsPromise(sn: number, dict: string): Promise\r\n {\r\n return new Promise((resolve, reject) => { resolve(this.getResult(sn, dict)); });\r\n }\r\n\r\n getResult(sn: number, dict: string): StrongsResult\r\n {\r\n const self = this;\r\n this.result = {\r\n prefix: '',\r\n sn: -1,\r\n strongs: [],\r\n def: null,\r\n rmac: null,\r\n crossrefs: null,\r\n rmaccode: '',\r\n status: 0,\r\n msg: ':)'\r\n };\r\n let url = dict + Math.ceil(sn / 100) + '.json';\r\n if (dict === 'grk')\r\n {\r\n self.result.prefix = 'G';\r\n if (sn > 5624 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number G' + sn + ' is out of range. Strong\\'s numbers range from 1 - 5624 in the New Testament.';\r\n }\r\n }\r\n else\r\n {\r\n self.result.prefix = 'H';\r\n if (sn > 8674 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number H' + sn + ' is out of range. Strong\\'s numbers range from 1 - 8674 in the Old Testament.';\r\n }\r\n }\r\n this.result.sn = sn;\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongs/' + url,\r\n dataType: 'json',\r\n success(d: StrongsDefinition[], t, x)\r\n {\r\n self.result.strongs = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Data for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n self.result.def = self.result.strongs.find(el => (el.i === this.result.prefix + this.result.sn));\r\n self.result.strongs = [];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongscr/cr' + url,\r\n dataType: 'json',\r\n success(d: StrongsCrossReference[], t, x)\r\n {\r\n for (let cr of d)\r\n {\r\n if (cr.id.toUpperCase() === self.result.prefix + self.result.sn)\r\n {\r\n self.result.crossrefs = cr;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Cross References for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n if (dict === 'grk')\r\n {\r\n url = 'data/rmac/rs' + (Math.ceil(sn / 1000)) + '.json';\r\n let rmac_cross_references: RMACCrossReference[];\r\n\r\n // rmac is a two get process.\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACCrossReference[], t, x)\r\n {\r\n rmac_cross_references = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // deal with RMAC\r\n let tmp = $.grep(rmac_cross_references, (el, i) => { return el.i === sn + ''; });\r\n if (tmp.length === 0)\r\n return this.result;\r\n\r\n this.result.rmaccode = tmp[0].r;\r\n if (this.result.rmaccode !== undefined)\r\n {\r\n url = `data/rmac/r-${this.result.rmaccode.substring(0, 1)}.json`;\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACDefinition[], t, x)\r\n {\r\n for (let rmac of d)\r\n {\r\n if (rmac.id.toLowerCase() === self.result.rmaccode)\r\n {\r\n self.result.rmac = rmac;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n }\r\n }\r\n return this.result;\r\n }\r\n}\r\nexport type StrongsResult =\r\n {\r\n prefix: string,\r\n sn: number,\r\n strongs: StrongsDefinition[],\r\n def: StrongsDefinition,\r\n rmac: RMACDefinition,\r\n crossrefs: StrongsCrossReference,\r\n rmaccode: string,\r\n status: number,\r\n msg: string,\r\n };\r\n\r\ntype StrongsDefinition = { n: number, i: string, tr: string, de: StrongsDefinitionPart[], lemma: string, p: string }\r\ntype StrongsDefinitionPart = { sn: string, w: string }\r\ntype StrongsCrossReference =\r\n {\r\n id: string, // strongs id H1|G1\r\n t: string, // strongs testament grk|heb\r\n d: string, // strongs word/data Aaron {ah-ar-ohn'}\r\n ss: [\r\n {\r\n w: string,\r\n rs: [\r\n { r: string }\r\n ],\r\n }\r\n ],\r\n }\r\n\r\ntype RMACDefinition = { id: string, d: string[] }\r\n\r\ntype RMACCrossReference = { i: string, r: string }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/strongs-service.ts","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { NavParams, ViewController } from 'ionic-angular';\nimport { Book, Reference } from '../../libs/Reference';\n\n@Component({\n selector: 'verse-picker',\n templateUrl: 'verse-picker.html'\n})\nexport class VersePickerModal\n{\n @Output()\n onItemClicked = new EventEmitter();\n books: Array;\n hasBook = false;\n book: Book;\n\n constructor(\n private _params: NavParams,\n private _viewCtrl: ViewController\n )\n {\n this.hasBook = false;\n this.books = Reference.Books;\n this.onItemClicked.subscribe(item =>\n {\n let pg = this._params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n toBooks()\n {\n this.hasBook = false;\n this.book = null;\n }\n\n dismiss()\n {\n this._viewCtrl.dismiss();\n }\n setBook(book: Book)\n {\n this.hasBook = true;\n this.book = book;\n }\n setChapter(chapter: number)\n {\n // close the control, trigger the passage event.\n this.onItemClicked.emit(this.book.name + ' ' + chapter);\n this.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verse-picker/verse-picker.ts","\nexport const PageTitles = {\n Search: 'Search',\n Help: 'Help',\n Settings: 'Settings'\n }\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Constants.ts","import { Component } from '@angular/core';\nimport { ViewController, AlertController } from 'ionic-angular';\nimport { ProfileService, SavedPage } from '../../services/profile-service';\n\n@Component({\n selector: 'settings-modal',\n templateUrl: 'settings-modal.html'\n})\nexport class SettingsModal {\n constructor(\n private _alertCtrl: AlertController,\n private _viewCtrl: ViewController,\n private _profileService: ProfileService\n ) {}\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n\n removePage(page: SavedPage) {\n let alert = this._alertCtrl.create({\n title: 'Confirm Delete',\n message: 'Do you want to delete the ' + page.title + ' page?',\n buttons: [\n {\n text: 'Cancel',\n role: 'cancel',\n handler: () => {\n console.log('Cancel clicked');\n }\n },\n {\n text: 'Ok',\n handler: () => {\n this._profileService.removePage(page);\n }\n }\n ]\n });\n alert.present();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/settings-modal/settings-modal.ts","import { Component } from '@angular/core';\nimport { ViewController } from 'ionic-angular';\n\n@Component({\n selector: 'about-modal',\n templateUrl: 'about-modal.html'\n})\nexport class AboutModal {\n constructor(private _viewCtrl: ViewController) {}\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/about-modal/about-modal.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport {enableProdMode} from '@angular/core';\n\nenableProdMode();\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { ProfileService } from './../services/profile-service';\nimport { NgModule, ErrorHandler } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { HttpModule } from '@angular/http';\n\nimport { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';\nimport { IonicStorageModule } from '@ionic/storage';\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\n\nimport { MyApp } from './app.component';\n\nimport { SearchPage } from '../pages/search/search';\n\nimport { Passage } from '../components/passage/passage';\nimport { Strongs } from '../components/strongs/strongs';\nimport { Words } from '../components/words/words';\nimport { Error } from '../components/error/error';\nimport { Settings } from '../components/settings/settings';\nimport { StrongsModal } from '../components/strongs-modal/strongs-modal';\nimport { ErrorMessage } from '../components/error-message/error-message';\nimport { VersePickerModal } from '../components/verse-picker/verse-picker';\nimport { AboutModal } from '../components/about-modal/about-modal';\nimport { SettingsModal } from '../components/settings-modal/settings-modal';\n\nimport { AngularFireModule } from 'angularfire2';\nimport { AngularFireAuthModule } from 'angularfire2/auth';\nimport { AngularFireDatabaseModule } from 'angularfire2/database';\n\nimport { AutoCompleteModule } from 'ionic2-auto-complete';\nimport { PagesService } from '../services/pages-service';\n\nexport const firebaseConfig = {\n apiKey: 'AIzaSyA3UV4s56CV2EumgvZmyJBTyU-vhv0xhc8',\n authDomain: 'dynamicbible-7c6cf.firebaseapp.com',\n databaseURL: 'https://dynamicbible-7c6cf.firebaseio.com',\n projectId: 'dynamicbible-7c6cf',\n // TODO(jwall): What is a storage bucket?\n storageBucket: '',\n messagingSenderId: '200739882604'\n};\n\n@NgModule({\n declarations: [\n MyApp,\n SearchPage,\n AboutModal,\n SettingsModal,\n Settings,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n imports: [\n IonicModule.forRoot(MyApp),\n IonicStorageModule.forRoot(),\n BrowserModule,\n HttpClientModule,\n HttpModule,\n AngularFireModule.initializeApp(firebaseConfig),\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n AutoCompleteModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n SearchPage,\n AboutModal,\n SettingsModal,\n Settings,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }, StatusBar, SplashScreen, ProfileService, PagesService]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","// This code was written by Jeremy and Jason Wall.\n// Feel free to use, and if you can, include a link back to www.walljm.com\n// Jason@walljm.com // www.walljm.com\n// Jeremy@marzhillstudios.com // jeremy.marzhillstudios.com\n\nclass StringUtils {\n public static trim(str: string): string {\n return str.replace(/^\\s+|\\s+$/g, \"\");\n }\n\n public static ltrim(str: string): string {\n return str.replace(/^\\s+/, \"\");\n }\n\n public static rtrim(str: string): string {\n return str.replace(/\\s+$/, \"\");\n }\n}\n\nexport class Reference {\n private ref: string;\n Section: Section;\n errAcc: string;\n\n constructor(reference: string) {\n this.Section = {\n start: {\n book: null,\n chapter: \"\",\n verse: \"\"\n },\n end: {\n book: null,\n chapter: \"\",\n verse: \"\"\n }\n };\n this.ref = reference.toLowerCase().trim();\n this.parseReference();\n\n if (this.Section.end.book === null) {\n this.Section.end.book = this.Section.start.book;\n }\n\n if (this.Section.end.chapter === \"\") this.Section.end.chapter = this.Section.start.chapter;\n if (\n Number(this.Section.start.verse) > Number(this.Section.end.verse) &&\n this.Section.start.chapter === this.Section.end.chapter &&\n this.Section.start.book.name === this.Section.end.book.name\n )\n this.Section.end.verse = this.Section.start.verse;\n if (this.Section.start.verse === \"\") this.Section.start.verse = \"1\";\n if (this.Section.end.verse === \"\") this.Section.end.verse = \"*\";\n }\n\n private parseReference() {\n this.parseNumberReference();\n if (this.ref.length === 0) {\n return;\n }\n this.parseBook(false);\n this.parseFirstNum(false);\n const foundFirstVerse = this.ref.search(/:.*-/) !== -1;\n this.maybeParseSecondNum(false);\n this.maybeParseRangeSep();\n const foundSecondBook = this.ref.search(/\\w\\s+\\d/i) !== -1;\n\n this.maybeParseBook(true);\n this.maybeParseFirstNumOrVerse(foundSecondBook, foundFirstVerse, true);\n this.maybeParseSecondNum(true);\n }\n\n private parseNumberReference() {\n this.ref = this.ref.toLowerCase().trim();\n const parts = this.ref.split(\":\");\n if (parts.length === 3 && parts.every(i => parseInt(i) > 0)) {\n let fbook = Reference.bookName(parseInt(parts[0]));\n this.Section.end.book = fbook;\n this.Section.start.book = fbook;\n\n let fch = parts[1];\n this.Section.end.chapter = fch;\n this.Section.start.chapter = fch;\n\n let fv = parts[2];\n this.Section.end.verse = fv;\n this.Section.start.verse = fv;\n\n this.ref = \"\";\n }\n }\n\n private parseBook(isEnd?: boolean) {\n this.ref = this.ref.toLowerCase().trim();\n\n let fbook = this.ref.substring(0, this.ref.search(/\\w\\s+\\d/i) + 1);\n if (!fbook) fbook = this.ref;\n this.ref = this.ref.slice(this.ref.search(/\\w\\s+\\d/i) + 1);\n if (isEnd) this.Section.end.book = Reference.parseBook(fbook);\n else this.Section.start.book = Reference.parseBook(fbook);\n }\n\n private parseFirstNum(isEnd: boolean) {\n let thing = this.Section.start;\n if (isEnd) thing = this.Section.end;\n\n this.ref = StringUtils.ltrim(this.ref);\n let found = false;\n for (let i = 0; i <= this.ref.length; i++) {\n const c = this.ref.charAt(i);\n // Grab characters until we hit a non digit.\n if (\"0\".charAt(0) <= c && c <= \"9\".charAt(0)) {\n found = true;\n thing.chapter = thing.chapter.concat(c);\n } else {\n // if the chapter is longer than 3 digits it's an error\n if (thing.chapter.length > 3) {\n this.errAcc = 'Chapter too long\"' + thing.chapter + '\".';\n return;\n } else if (!found) {\n this.errAcc = \"No chapter found\" + this.ref;\n }\n this.ref = this.ref.slice(i);\n return;\n }\n }\n }\n\n private parseSecondNum(skipColon?: boolean, isEnd?: boolean) {\n let thing = this.Section.start;\n if (isEnd) thing = this.Section.end;\n\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (!skipColon) {\n if (this.ref[0] !== \":\") {\n return;\n }\n this.ref = this.ref.slice(1);\n }\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (this.ref[0] === \"*\") {\n thing.verse = \"*\";\n this.ref = this.ref.slice(1);\n return;\n }\n for (let i = 0; i <= this.ref.length; i++) {\n const c = this.ref.charAt(i);\n if (\"0\".charAt(0) <= c && c <= \"9\".charAt(0)) {\n thing.verse = thing.verse.concat(c);\n } else {\n if (thing.verse.length > 3) {\n this.errAcc = 'Verse too long \"' + thing.verse + '\".';\n return;\n }\n this.ref = this.ref.slice(i);\n return;\n }\n }\n }\n\n private maybeParseBook(isEnd: boolean) {\n return this.maybeDo(() => {\n if (this.ref.search(/\\w\\s+\\d/i) === -1) {\n this.Section.end.book = this.Section.start.book;\n } else {\n this.parseBook(isEnd);\n }\n });\n }\n\n private maybeParseSecondNum(isEnd?: boolean) {\n return this.maybeDo(() => {\n this.parseSecondNum(false, isEnd);\n });\n }\n\n private maybeParseFirstNumOrVerse(foundSecondBook: boolean, foundFirstVerse: boolean, isEnd: boolean) {\n const self = this;\n return this.maybeDo(() => {\n if (self.Section.end.book.name === self.Section.start.book.name) {\n if (self.ref.search(/:/) !== -1 || foundSecondBook || !foundFirstVerse) {\n self.parseFirstNum(isEnd);\n }\n self.parseSecondNum(true, isEnd);\n }\n });\n }\n\n private maybeParseRangeSep() {\n const self = this;\n return this.maybeDo(() => {\n if (self.ref[0] === \"-\") {\n self.ref = StringUtils.ltrim(self.ref.slice(1));\n }\n });\n }\n\n private maybeDo(f) {\n const func = f;\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (this.ref !== \"\") {\n func();\n }\n }\n\n public toString() {\n // get the starting book, chapter, verse\n return Reference.toString(this.Section);\n }\n\n public static parseBook(fbook: string): Book {\n if (fbook.search(/\\b(genesis|gen|ge|gn)\\b/i) !== -1) {\n return this.bookName(1);\n }\n if (fbook.search(/\\b(exodus|ex|exo|exod|exd)\\b/i) !== -1) {\n return this.bookName(2);\n }\n if (fbook.search(/\\b(leviticus|lev|le|levi|lv)\\b/i) !== -1) {\n return this.bookName(3);\n }\n if (fbook.search(/\\b(numbers|num|nu|numb|number)\\b/i) !== -1) {\n return this.bookName(4);\n }\n if (fbook.search(/\\b(deuteronomy|deut|de|dt|deu)\\b/i) !== -1) {\n return this.bookName(5);\n }\n if (fbook.search(/\\b(joshua|josh|jos)\\b/i) !== -1) {\n return this.bookName(6);\n }\n if (fbook.search(/\\b(judges|jud|jdg|judg)\\b/i) !== -1) {\n return this.bookName(7);\n }\n if (fbook.search(/\\b(ruth|ru)\\b/i) !== -1) {\n return this.bookName(8);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(samuel|sa|sam|sml)\\b/i) !== -1) {\n return this.bookName(9);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(samuel|sa|sam|sml)\\b/i) !== -1) {\n return this.bookName(10);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1) {\n return this.bookName(11);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1) {\n return this.bookName(12);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1) {\n return this.bookName(13);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1) {\n return this.bookName(14);\n }\n if (fbook.search(/\\b(ezra|ezr)\\b/i) !== -1) {\n return this.bookName(15);\n }\n if (fbook.search(/\\b(nehemiah|neh|ne|nehamiah)\\b/i) !== -1) {\n return this.bookName(16);\n }\n if (fbook.search(/\\b(esther|est|es|esth)\\b/i) !== -1) {\n return this.bookName(17);\n }\n if (fbook.search(/\\b(job|jo|jb)\\b/i) !== -1) {\n return this.bookName(18);\n }\n if (fbook.search(/\\b(psalms|ps|psa|psalm|psm)\\b/i) !== -1) {\n return this.bookName(19);\n }\n if (fbook.search(/\\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\\b/i) !== -1) {\n return this.bookName(20);\n }\n if (fbook.search(/\\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\\b/i) !== -1) {\n return this.bookName(21);\n }\n if (fbook.search(/\\b(song\\sof\\ssolomon|song\\sof\\ssongs|sos|ss|son|so|song|songs)\\b/i) !== -1) {\n return this.bookName(22);\n }\n if (fbook.search(/\\b(isaiah|is|isah|isai|ia)\\b/i) !== -1) {\n return this.bookName(23);\n }\n if (fbook.search(/\\b(jerimiah|jeremiah|jer|je|jere)\\b/i) !== -1) {\n return this.bookName(24);\n }\n if (fbook.search(/\\b(lamentations|lam|la|lamentation)\\b/i) !== -1) {\n return this.bookName(25);\n }\n if (fbook.search(/\\b(ezekiel|eze|ezk|ezek)\\b/i) !== -1) {\n return this.bookName(26);\n }\n if (fbook.search(/\\b(daniel|dan|dn|dl|da)\\b/i) !== -1) {\n return this.bookName(27);\n }\n if (fbook.search(/\\b(hosea|hos|ho)\\b/i) !== -1) {\n return this.bookName(28);\n }\n if (fbook.search(/\\b(joel|joe|jl)\\b/i) !== -1) {\n return this.bookName(29);\n }\n if (fbook.search(/\\b(amos|am|amo)\\b/i) !== -1) {\n return this.bookName(30);\n }\n if (fbook.search(/\\b(obadiah|oba|ob|obad)\\b/i) !== -1) {\n return this.bookName(31);\n }\n if (fbook.search(/\\b(jonah|jnh|jon)\\b/i) !== -1) {\n return this.bookName(32);\n }\n if (fbook.search(/\\b(micah|mic|mi)\\b/i) !== -1) {\n return this.bookName(33);\n }\n if (fbook.search(/\\b(nahum|nah|na)\\b/i) !== -1) {\n return this.bookName(34);\n }\n if (fbook.search(/\\b(habakkuk|hab|ha|habakuk)\\b/i) !== -1) {\n return this.bookName(35);\n }\n if (fbook.search(/\\b(zephaniah|zeph|zep)\\b/i) !== -1) {\n return this.bookName(36);\n }\n if (fbook.search(/\\b(haggia|hag|hg|haggai)\\b/i) !== -1) {\n return this.bookName(37);\n }\n if (fbook.search(/\\b(zechariah|zech|zch|zec)\\b/i) !== -1) {\n return this.bookName(38);\n }\n if (fbook.search(/\\b(malachi|mal)\\b/i) !== -1) {\n return this.bookName(39);\n }\n if (fbook.search(/\\b(matthew|mt|matt|mat)\\b/i) !== -1) {\n return this.bookName(40);\n }\n if (fbook.search(/\\b(mark|mrk|mk|mr)\\b/i) !== -1) {\n return this.bookName(41);\n }\n if (fbook.search(/\\b(luke|lu|lke|luk|lk)\\b/i) !== -1) {\n return this.bookName(42);\n }\n // must come before the Gospel of John\n if (fbook.search(/\\b(1|i|1st|first)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(62);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(63);\n }\n if (fbook.search(/\\b(3|iii|3rd|third)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(64);\n }\n // 1, 2, and 3rd John need to come before this one, else this will catch those book references.\n if (fbook.search(/\\b(john|jn|jhn)\\b/i) !== -1) {\n return this.bookName(43);\n }\n if (fbook.search(/\\b(acts|ac|act)\\b/i) !== -1) {\n return this.bookName(44);\n }\n if (fbook.search(/\\b(romans|rom|ro|rm|roman)\\b/i) !== -1) {\n return this.bookName(45);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1) {\n return this.bookName(46);\n }\n if (\n fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1\n ) {\n return this.bookName(47);\n }\n if (fbook.search(/\\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\\b/i) !== -1) {\n return this.bookName(48);\n }\n if (fbook.search(/\\b(ephesians|eph|ep|ephes|ephe|ephs)\\b/i) !== -1) {\n return this.bookName(49);\n }\n if (fbook.search(/\\b(philippians|phi|phil|ph|philip)\\b/i) !== -1) {\n return this.bookName(50);\n }\n if (fbook.search(/\\b(colossians|col|co|colossian|colos|coloss)\\b/i) !== -1) {\n return this.bookName(51);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1) {\n return this.bookName(52);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1) {\n return this.bookName(53);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(timothy|tim|ti|timoth|tm)\\b/i) !== -1) {\n return this.bookName(54);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(timothy|tim|timoth|tm)\\b/i) !== -1) {\n return this.bookName(55);\n }\n if (fbook.search(/\\b(titus|tit)\\b/i) !== -1) {\n return this.bookName(56);\n }\n if (fbook.search(/\\b(philemon|phlmn|phl|phm|phile|philem)\\b/i) !== -1) {\n return this.bookName(57);\n }\n if (fbook.search(/\\b(hebrews|heb|he|hebrew)\\b/i) !== -1) {\n return this.bookName(58);\n }\n if (fbook.search(/\\b(james|jam|ja|jas|jms|jame|jm)\\b/i) !== -1) {\n return this.bookName(59);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1) {\n return this.bookName(60);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1) {\n return this.bookName(61);\n }\n if (fbook.search(/\\b(jude|ju)\\b/i) !== -1) {\n return this.bookName(65);\n }\n if (fbook.search(/\\b(revelation|rev|re|revelations|rv)\\b/i) !== -1) {\n return this.bookName(66);\n }\n\n return this.bookName(0);\n }\n\n public static toString(section: Section) {\n // get the starting book, chapter, verse\n let ref = section.start.book.name\n .concat(\" \")\n .concat(section.start.chapter)\n .concat(\":\")\n .concat(section.start.verse);\n\n if (\n section.start.chapter === section.end.chapter &&\n section.start.verse === section.end.verse &&\n section.start.book.name === section.end.book.name\n ) {\n return ref;\n }\n\n if (\n section.start.chapter === section.end.chapter &&\n section.start.verse !== section.end.verse &&\n section.start.book.name === section.end.book.name\n ) {\n return ref.concat(\" - \").concat(section.end.verse);\n }\n\n if (section.start.book.name !== section.end.book.name) {\n ref = ref\n .concat(\" - \")\n .concat(section.end.book.name)\n .concat(\" \");\n } else {\n ref = ref.concat(\" - \");\n }\n\n ref = ref.concat(section.end.chapter).concat(\":\");\n\n return ref.concat(section.end.verse);\n }\n\n public static Books: Array = [\n {\n name: \"Unknown\",\n short_name: \"Unk\",\n long_name: \"Unknown\",\n book_number: 0,\n last_chapter: 0,\n chapters: [0]\n },\n {\n name: \"Genesis\",\n short_name: \"Gen\",\n long_name: \"Book of Genesis\",\n book_number: 1,\n last_chapter: 66,\n chapters: [\n 0,\n 31,\n 25,\n 24,\n 26,\n 32,\n 22,\n 24,\n 22,\n 29,\n 32,\n 32,\n 20,\n 18,\n 24,\n 21,\n 16,\n 27,\n 33,\n 38,\n 18,\n 34,\n 24,\n 20,\n 67,\n 34,\n 35,\n 46,\n 22,\n 35,\n 43,\n 55,\n 32,\n 20,\n 31,\n 29,\n 43,\n 36,\n 30,\n 23,\n 23,\n 57,\n 38,\n 34,\n 34,\n 28,\n 34,\n 31,\n 22,\n 33,\n 26\n ]\n },\n {\n book_number: 2,\n short_name: \"Exo\",\n name: \"Exodus\",\n long_name: \"Book of Exodus\",\n last_chapter: 40,\n chapters: [\n 0,\n 22,\n 25,\n 22,\n 31,\n 23,\n 30,\n 25,\n 32,\n 35,\n 29,\n 10,\n 51,\n 22,\n 31,\n 27,\n 36,\n 16,\n 27,\n 25,\n 26,\n 36,\n 31,\n 33,\n 18,\n 40,\n 37,\n 21,\n 43,\n 46,\n 38,\n 18,\n 35,\n 23,\n 35,\n 35,\n 38,\n 29,\n 31,\n 43,\n 38\n ]\n },\n {\n book_number: 3,\n name: \"Leviticus\",\n short_name: \"Lev\",\n long_name: \"Leviticus\",\n last_chapter: 27,\n chapters: [\n 0,\n 17,\n 16,\n 17,\n 35,\n 19,\n 30,\n 38,\n 36,\n 24,\n 20,\n 47,\n 8,\n 59,\n 57,\n 33,\n 34,\n 16,\n 30,\n 37,\n 27,\n 24,\n 33,\n 44,\n 23,\n 55,\n 46,\n 34\n ]\n },\n {\n book_number: 4,\n name: \"Numbers\",\n short_name: \"Num\",\n long_name: \"Book of Numbers\",\n last_chapter: 36,\n chapters: [\n 0,\n 54,\n 34,\n 51,\n 49,\n 31,\n 27,\n 89,\n 26,\n 23,\n 36,\n 35,\n 16,\n 33,\n 45,\n 41,\n 50,\n 13,\n 32,\n 22,\n 29,\n 35,\n 41,\n 30,\n 25,\n 18,\n 65,\n 23,\n 31,\n 40,\n 16,\n 54,\n 42,\n 56,\n 29,\n 34,\n 13\n ]\n },\n {\n book_number: 5,\n name: \"Deuteronomy\",\n short_name: \"Deut\",\n long_name: \"Book of Deuteronomy\",\n last_chapter: 34,\n chapters: [\n 0,\n 46,\n 37,\n 29,\n 49,\n 33,\n 25,\n 26,\n 20,\n 29,\n 22,\n 32,\n 32,\n 18,\n 29,\n 23,\n 22,\n 20,\n 22,\n 21,\n 20,\n 23,\n 30,\n 25,\n 22,\n 19,\n 19,\n 26,\n 68,\n 29,\n 20,\n 30,\n 52,\n 29,\n 12\n ]\n },\n {\n book_number: 6,\n name: \"Joshua\",\n short_name: \"Josh\",\n long_name: \"Book of Joshua\",\n last_chapter: 24,\n chapters: [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]\n },\n {\n book_number: 7,\n name: \"Judges\",\n short_name: \"Jud\",\n long_name: \"Book of Judges\",\n last_chapter: 21,\n chapters: [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]\n },\n {\n book_number: 8,\n name: \"Ruth\",\n short_name: \"Ruth\",\n long_name: \"Book of Ruth\",\n last_chapter: 4,\n chapters: [0, 22, 23, 18, 22]\n },\n {\n book_number: 9,\n name: \"1 Samuel\",\n short_name: \"1 Sam\",\n long_name: \"First Book of Samuel\",\n last_chapter: 31,\n chapters: [\n 0,\n 28,\n 36,\n 21,\n 22,\n 12,\n 21,\n 17,\n 22,\n 27,\n 27,\n 15,\n 25,\n 23,\n 52,\n 35,\n 23,\n 58,\n 30,\n 24,\n 42,\n 15,\n 23,\n 29,\n 22,\n 44,\n 25,\n 12,\n 25,\n 11,\n 31,\n 13\n ]\n },\n {\n book_number: 10,\n name: \"2 Samuel\",\n short_name: \"2 Sam\",\n long_name: \"Second Book of Samuel\",\n last_chapter: 24,\n chapters: [\n 0,\n 27,\n 32,\n 39,\n 12,\n 25,\n 23,\n 29,\n 18,\n 13,\n 19,\n 27,\n 31,\n 39,\n 33,\n 37,\n 23,\n 29,\n 33,\n 43,\n 26,\n 22,\n 51,\n 39,\n 25\n ]\n },\n {\n book_number: 11,\n name: \"1 Kings\",\n short_name: \"1 Kng\",\n long_name: \"First Book of Kings\",\n last_chapter: 22,\n chapters: [0, 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]\n },\n {\n book_number: 12,\n name: \"2 Kings\",\n short_name: \"2 Kng\",\n long_name: \"Second Book of Kings\",\n last_chapter: 25,\n chapters: [\n 0,\n 18,\n 25,\n 27,\n 44,\n 27,\n 33,\n 20,\n 29,\n 37,\n 36,\n 21,\n 21,\n 25,\n 29,\n 38,\n 20,\n 41,\n 37,\n 37,\n 21,\n 26,\n 20,\n 37,\n 20,\n 30\n ]\n },\n {\n book_number: 13,\n name: \"1 Chronicles\",\n short_name: \"1 Chr\",\n long_name: \"First Book of Chronicles\",\n last_chapter: 29,\n chapters: [\n 0,\n 54,\n 55,\n 24,\n 43,\n 26,\n 81,\n 40,\n 40,\n 44,\n 14,\n 47,\n 40,\n 14,\n 17,\n 29,\n 43,\n 27,\n 17,\n 19,\n 8,\n 30,\n 19,\n 32,\n 31,\n 31,\n 32,\n 34,\n 21,\n 30\n ]\n },\n {\n book_number: 14,\n name: \"2 Chronicles\",\n short_name: \"2 Chr\",\n long_name: \"Second Book of Chronicles\",\n last_chapter: 36,\n chapters: [\n 0,\n 17,\n 18,\n 17,\n 22,\n 14,\n 42,\n 22,\n 18,\n 31,\n 19,\n 23,\n 16,\n 22,\n 15,\n 19,\n 14,\n 19,\n 34,\n 11,\n 37,\n 20,\n 12,\n 21,\n 27,\n 28,\n 23,\n 9,\n 27,\n 36,\n 27,\n 21,\n 33,\n 25,\n 33,\n 27,\n 23\n ]\n },\n {\n book_number: 15,\n name: \"Ezra\",\n short_name: \"Ezra\",\n long_name: \"Book of Ezra\",\n last_chapter: 10,\n chapters: [0, 11, 70, 13, 24, 17, 22, 28, 36, 15, 44]\n },\n {\n book_number: 16,\n name: \"Nehemiah\",\n short_name: \"Neh\",\n long_name: \"Book of Nehemiah\",\n last_chapter: 13,\n chapters: [0, 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]\n },\n {\n book_number: 17,\n name: \"Esther\",\n short_name: \"Esther\",\n long_name: \"Book of Esther\",\n last_chapter: 10,\n chapters: [0, 22, 23, 15, 17, 14, 14, 10, 17, 32, 3]\n },\n {\n book_number: 18,\n name: \"Job\",\n short_name: \"Job\",\n long_name: \"Book of Job\",\n last_chapter: 42,\n chapters: [\n 0,\n 22,\n 13,\n 26,\n 21,\n 27,\n 30,\n 21,\n 22,\n 35,\n 22,\n 20,\n 25,\n 28,\n 22,\n 35,\n 22,\n 16,\n 21,\n 29,\n 29,\n 34,\n 30,\n 17,\n 25,\n 6,\n 14,\n 23,\n 28,\n 25,\n 31,\n 40,\n 22,\n 33,\n 37,\n 16,\n 33,\n 24,\n 41,\n 30,\n 24,\n 34,\n 17\n ]\n },\n {\n book_number: 19,\n name: \"Psalms\",\n short_name: \"Psalm\",\n long_name: \"Book of Psalms\",\n last_chapter: 150,\n chapters: [\n 0,\n 6,\n 12,\n 8,\n 8,\n 12,\n 10,\n 17,\n 9,\n 20,\n 18,\n 7,\n 8,\n 6,\n 7,\n 5,\n 11,\n 15,\n 50,\n 14,\n 9,\n 13,\n 31,\n 6,\n 10,\n 22,\n 12,\n 14,\n 9,\n 11,\n 12,\n 24,\n 11,\n 22,\n 22,\n 28,\n 12,\n 40,\n 22,\n 13,\n 17,\n 13,\n 11,\n 5,\n 26,\n 17,\n 11,\n 9,\n 14,\n 20,\n 23,\n 19,\n 9,\n 6,\n 7,\n 23,\n 13,\n 11,\n 11,\n 17,\n 12,\n 8,\n 12,\n 11,\n 10,\n 13,\n 20,\n 7,\n 35,\n 36,\n 5,\n 24,\n 20,\n 28,\n 23,\n 10,\n 12,\n 20,\n 72,\n 13,\n 19,\n 16,\n 8,\n 18,\n 12,\n 13,\n 17,\n 7,\n 18,\n 52,\n 17,\n 16,\n 15,\n 5,\n 23,\n 11,\n 13,\n 12,\n 9,\n 9,\n 5,\n 8,\n 28,\n 22,\n 35,\n 45,\n 48,\n 43,\n 13,\n 31,\n 7,\n 10,\n 10,\n 9,\n 8,\n 18,\n 19,\n 2,\n 29,\n 176,\n 7,\n 8,\n 9,\n 4,\n 8,\n 5,\n 6,\n 5,\n 6,\n 8,\n 8,\n 3,\n 18,\n 3,\n 3,\n 21,\n 26,\n 9,\n 8,\n 24,\n 13,\n 10,\n 7,\n 12,\n 15,\n 21,\n 10,\n 20,\n 14,\n 9,\n 6\n ]\n },\n {\n book_number: 20,\n name: \"Proverbs\",\n short_name: \"Prov\",\n long_name: \"Book of Proverbs\",\n last_chapter: 31,\n chapters: [\n 0,\n 33,\n 22,\n 35,\n 27,\n 23,\n 35,\n 27,\n 36,\n 18,\n 32,\n 31,\n 28,\n 25,\n 35,\n 33,\n 33,\n 28,\n 24,\n 29,\n 30,\n 31,\n 29,\n 35,\n 34,\n 28,\n 28,\n 27,\n 28,\n 27,\n 33,\n 31\n ]\n },\n {\n book_number: 21,\n name: \"Ecclesiastes\",\n short_name: \"Eccl\",\n long_name: \"Book of Ecclesiastes\",\n last_chapter: 12,\n chapters: [0, 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]\n },\n {\n book_number: 22,\n name: \"Song of Solomon\",\n short_name: \"Song\",\n long_name: \"Song of Solomon\",\n last_chapter: 8,\n chapters: [0, 17, 17, 11, 16, 16, 13, 13, 14]\n },\n {\n book_number: 23,\n name: \"Isaiah\",\n short_name: \"Isa\",\n long_name: \"Book of Isaiah\",\n last_chapter: 66,\n chapters: [\n 0,\n 31,\n 22,\n 26,\n 6,\n 30,\n 13,\n 25,\n 22,\n 21,\n 34,\n 16,\n 6,\n 22,\n 32,\n 9,\n 14,\n 14,\n 7,\n 25,\n 6,\n 17,\n 25,\n 18,\n 23,\n 12,\n 21,\n 13,\n 29,\n 24,\n 33,\n 9,\n 20,\n 24,\n 17,\n 10,\n 22,\n 38,\n 22,\n 8,\n 31,\n 29,\n 25,\n 28,\n 28,\n 25,\n 13,\n 15,\n 22,\n 26,\n 11,\n 23,\n 15,\n 12,\n 17,\n 13,\n 12,\n 21,\n 14,\n 21,\n 22,\n 11,\n 12,\n 19,\n 12,\n 25,\n 24\n ]\n },\n {\n book_number: 24,\n name: \"Jeremiah\",\n short_name: \"Jer\",\n long_name: \"Book of Jeremiah\",\n last_chapter: 52,\n chapters: [\n 0,\n 19,\n 37,\n 25,\n 31,\n 31,\n 30,\n 34,\n 22,\n 26,\n 25,\n 23,\n 17,\n 27,\n 22,\n 21,\n 21,\n 27,\n 23,\n 15,\n 18,\n 14,\n 30,\n 40,\n 10,\n 38,\n 24,\n 22,\n 17,\n 32,\n 24,\n 40,\n 44,\n 26,\n 22,\n 19,\n 32,\n 21,\n 28,\n 18,\n 16,\n 18,\n 22,\n 13,\n 30,\n 5,\n 28,\n 7,\n 47,\n 39,\n 46,\n 64,\n 34\n ]\n },\n {\n book_number: 25,\n name: \"Lamentations\",\n short_name: \"Lam\",\n long_name: \"Book of Lamentations\",\n last_chapter: 5,\n chapters: [0, 22, 22, 66, 22, 22]\n },\n {\n book_number: 26,\n name: \"Ezekiel\",\n short_name: \"Eze\",\n long_name: \"Book of Ezekiel\",\n last_chapter: 48,\n chapters: [\n 0,\n 28,\n 10,\n 27,\n 17,\n 17,\n 14,\n 27,\n 18,\n 11,\n 22,\n 25,\n 28,\n 23,\n 23,\n 8,\n 63,\n 24,\n 32,\n 14,\n 49,\n 32,\n 31,\n 49,\n 27,\n 17,\n 21,\n 36,\n 26,\n 21,\n 26,\n 18,\n 32,\n 33,\n 31,\n 15,\n 38,\n 28,\n 23,\n 29,\n 49,\n 26,\n 20,\n 27,\n 31,\n 25,\n 24,\n 23,\n 35\n ]\n },\n {\n book_number: 27,\n name: \"Daniel\",\n short_name: \"Dan\",\n long_name: \"Book of Daniel\",\n last_chapter: 12,\n chapters: [0, 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]\n },\n {\n book_number: 28,\n name: \"Hosea\",\n short_name: \"Hosea\",\n long_name: \"Book of Hosea\",\n last_chapter: 14,\n chapters: [0, 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]\n },\n {\n book_number: 29,\n name: \"Joel\",\n short_name: \"Joel\",\n long_name: \"Book of Joel\",\n last_chapter: 3,\n chapters: [0, 20, 32, 21]\n },\n {\n book_number: 30,\n name: \"Amos\",\n short_name: \"Amos\",\n long_name: \"Book of Amos\",\n last_chapter: 9,\n chapters: [0, 15, 16, 15, 13, 27, 14, 17, 14, 15]\n },\n {\n book_number: 31,\n name: \"Obadiah\",\n short_name: \"Oba\",\n long_name: \"Book of Obadiah\",\n last_chapter: 1,\n chapters: [0, 21]\n },\n {\n book_number: 32,\n name: \"Jonah\",\n short_name: \"Jonah\",\n long_name: \"Book of Jonah\",\n last_chapter: 4,\n chapters: [0, 17, 10, 10, 11]\n },\n {\n book_number: 33,\n name: \"Micah\",\n short_name: \"Micah\",\n long_name: \"Book of Micah\",\n last_chapter: 7,\n chapters: [0, 16, 13, 12, 13, 15, 16, 20]\n },\n {\n book_number: 34,\n name: \"Nahum\",\n short_name: \"Nahum\",\n long_name: \"Book of Nahum\",\n last_chapter: 3,\n chapters: [0, 15, 13, 19]\n },\n {\n book_number: 35,\n name: \"Habakkuk\",\n short_name: \"Hab\",\n long_name: \"Book of Habakkuk\",\n last_chapter: 3,\n chapters: [0, 17, 20, 19]\n },\n {\n book_number: 36,\n name: \"Zephaniah\",\n short_name: \"Zeph\",\n long_name: \"Book of Zephaniah\",\n last_chapter: 3,\n chapters: [0, 18, 15, 20]\n },\n {\n book_number: 37,\n name: \"Haggai\",\n short_name: \"Hag\",\n long_name: \"Book of Haggai\",\n last_chapter: 2,\n chapters: [0, 15, 23]\n },\n {\n book_number: 38,\n name: \"Zechariah\",\n short_name: \"Zech\",\n long_name: \"Book of Zechariah\",\n last_chapter: 14,\n chapters: [0, 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]\n },\n {\n book_number: 39,\n name: \"Malachi\",\n short_name: \"Mal\",\n long_name: \"Book of Malachi\",\n last_chapter: 4,\n chapters: [0, 14, 17, 18, 6]\n },\n {\n book_number: 40,\n name: \"Matthew\",\n short_name: \"Matt\",\n long_name: \"Gospel of Matthew\",\n last_chapter: 28,\n chapters: [\n 0,\n 25,\n 23,\n 17,\n 25,\n 48,\n 34,\n 29,\n 34,\n 38,\n 42,\n 30,\n 50,\n 58,\n 36,\n 39,\n 28,\n 27,\n 35,\n 30,\n 34,\n 46,\n 46,\n 39,\n 51,\n 46,\n 75,\n 66,\n 20\n ]\n },\n {\n book_number: 41,\n name: \"Mark\",\n short_name: \"Mark\",\n long_name: \"Gospel of Mark\",\n last_chapter: 16,\n chapters: [0, 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]\n },\n {\n book_number: 42,\n name: \"Luke\",\n short_name: \"Luke\",\n long_name: \"Gospel of Luke\",\n last_chapter: 24,\n chapters: [\n 0,\n 80,\n 52,\n 38,\n 44,\n 39,\n 49,\n 50,\n 56,\n 62,\n 42,\n 54,\n 59,\n 35,\n 35,\n 32,\n 31,\n 37,\n 43,\n 48,\n 47,\n 38,\n 71,\n 56,\n 53\n ]\n },\n {\n book_number: 43,\n name: \"John\",\n short_name: \"John\",\n long_name: \"Gospel of John\",\n last_chapter: 21,\n chapters: [0, 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]\n },\n {\n book_number: 44,\n name: \"Acts\",\n short_name: \"Acts\",\n long_name: \"Acts of the Apostles\",\n last_chapter: 28,\n chapters: [\n 0,\n 26,\n 47,\n 26,\n 37,\n 42,\n 15,\n 60,\n 40,\n 43,\n 48,\n 30,\n 25,\n 52,\n 28,\n 41,\n 40,\n 34,\n 28,\n 41,\n 38,\n 40,\n 30,\n 35,\n 27,\n 27,\n 32,\n 44,\n 31\n ]\n },\n {\n book_number: 45,\n name: \"Romans\",\n short_name: \"Rom\",\n long_name: \"Epistle to the Romans\",\n last_chapter: 16,\n chapters: [0, 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]\n },\n {\n book_number: 46,\n name: \"1 Corinthians\",\n short_name: \"1 Cor\",\n long_name: \"First Epistle to the Corinthians\",\n last_chapter: 16,\n chapters: [0, 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]\n },\n {\n book_number: 47,\n name: \"2 Corinthians\",\n short_name: \"2 Cor\",\n long_name: \"Second Epistle to the Corinthians\",\n last_chapter: 13,\n chapters: [0, 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]\n },\n {\n book_number: 48,\n name: \"Galatians\",\n short_name: \"Gal\",\n long_name: \"Epistle to the Galatians\",\n last_chapter: 6,\n chapters: [0, 24, 21, 29, 31, 26, 18]\n },\n {\n book_number: 49,\n name: \"Ephesians\",\n short_name: \"Eph\",\n long_name: \"Epistle to the Ephesians\",\n last_chapter: 6,\n chapters: [0, 23, 22, 21, 32, 33, 24]\n },\n {\n book_number: 50,\n name: \"Philippians\",\n short_name: \"Phil\",\n long_name: \"Epistle to the Philippians\",\n last_chapter: 4,\n chapters: [0, 30, 30, 21, 23]\n },\n {\n book_number: 51,\n name: \"Colossians\",\n short_name: \"Col\",\n long_name: \"Epistle to the Colossians\",\n last_chapter: 4,\n chapters: [0, 29, 23, 25, 18]\n },\n {\n book_number: 52,\n name: \"1 Thessalonians\",\n short_name: \"1 Thes\",\n long_name: \"First Epistle to the Thessalonians\",\n last_chapter: 5,\n chapters: [0, 10, 20, 13, 18, 28]\n },\n {\n book_number: 53,\n name: \"2 Thessalonians\",\n short_name: \"2 Thes\",\n long_name: \"Second Epistle to the Thessalonians\",\n last_chapter: 3,\n chapters: [0, 12, 17, 18]\n },\n {\n book_number: 54,\n name: \"1 Timothy\",\n short_name: \"1 Tim\",\n long_name: \"First Epistle to Timothy\",\n last_chapter: 6,\n chapters: [0, 20, 15, 16, 16, 25, 21]\n },\n {\n book_number: 55,\n name: \"2 Timothy\",\n short_name: \"2 Tim\",\n long_name: \"Second Epistle to Timothy\",\n last_chapter: 4,\n chapters: [0, 18, 26, 17, 22]\n },\n {\n book_number: 56,\n name: \"Titus\",\n short_name: \"Titus\",\n long_name: \"Epistle to Titus\",\n last_chapter: 3,\n chapters: [0, 16, 15, 15]\n },\n {\n book_number: 57,\n name: \"Philemon\",\n short_name: \"Phi\",\n long_name: \"Epistle to Philemon\",\n last_chapter: 1,\n chapters: [0, 25]\n },\n {\n book_number: 58,\n name: \"Hebrews\",\n short_name: \"Heb\",\n long_name: \"Epistle to the Hebrews\",\n last_chapter: 13,\n chapters: [0, 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]\n },\n {\n book_number: 59,\n name: \"James\",\n short_name: \"James\",\n long_name: \"Epistle of James\",\n last_chapter: 5,\n chapters: [0, 27, 26, 18, 17, 20]\n },\n {\n book_number: 60,\n name: \"1 Peter\",\n short_name: \"1 Pe\",\n long_name: \"First Epistle of Peter\",\n last_chapter: 5,\n chapters: [0, 25, 25, 22, 19, 14]\n },\n {\n book_number: 61,\n name: \"2 Peter\",\n short_name: \"2 Pe\",\n long_name: \"Second Epistle of Peter\",\n last_chapter: 3,\n chapters: [0, 21, 22, 18]\n },\n {\n book_number: 62,\n name: \"1 John\",\n short_name: \"1 Jn\",\n long_name: \"First Epistle of John\",\n last_chapter: 5,\n chapters: [0, 10, 29, 24, 21, 21]\n },\n {\n book_number: 63,\n name: \"2 John\",\n short_name: \"2 Jn\",\n long_name: \"Second Epistle of John\",\n last_chapter: 1,\n chapters: [0, 13]\n },\n {\n book_number: 64,\n name: \"3 John\",\n short_name: \"3 Jn\",\n long_name: \"Third Epistle of John\",\n last_chapter: 1,\n chapters: [0, 14]\n },\n {\n book_number: 65,\n name: \"Jude\",\n short_name: \"Jude\",\n long_name: \"Epistle to Jude\",\n last_chapter: 1,\n chapters: [0, 25]\n },\n {\n book_number: 66,\n name: \"Revelation\",\n short_name: \"Rev\",\n long_name: \"Book of Revelations\",\n last_chapter: 22,\n chapters: [0, 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]\n }\n ];\n\n public static bookName(booknum: number): Book {\n return this.Books[booknum];\n }\n}\n\nexport type Book = {\n name: string;\n short_name: string;\n long_name: string;\n book_number: number;\n last_chapter: number;\n chapters: Array;\n};\n\nexport type Section = {\n start: Location;\n end: Location;\n};\n\nexport type Location = {\n book: Book;\n chapter: string;\n verse: string;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Reference.ts","var apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, window, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(window, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\nexports.setImmediate = setImmediate;\nexports.clearImmediate = clearImmediate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// C:/Projects/walljm/dynamicbible/DynamicBibleIonic/node_modules/timers-browserify/main.js\n// module id = 524\n// module chunks = 0","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { SearchPage } from '../pages/search/search';\r\nimport { SavedPage } from './profile-service';\r\nimport { PageTitles } from '../libs/Constants';\r\nimport { SettingsModal } from '../components/settings-modal/settings-modal';\r\nimport { AboutModal } from '../components/about-modal/about-modal';\r\n\r\n\r\n@Injectable()\r\nexport class PagesService\r\n{\r\n pages: Array;\r\n savedPages: Array;\r\n\r\n constructor(public local: Storage)\r\n {\r\n this.pages = [\r\n { title: PageTitles.Search, component: SearchPage, params: { queries: [], title: PageTitles.Search }, icon: 'search' },\r\n { title: PageTitles.Settings, component: SettingsModal, params: {}, icon: 'settings' },\r\n { title: PageTitles.Help, component: AboutModal, params: {}, icon: 'help-circle' }\r\n ];\r\n this.savedPages = [];\r\n }\r\n\r\n getMainPages(): Array\r\n {\r\n return this.pages;\r\n }\r\n\r\n getSavedPages(): Array\r\n {\r\n return this.savedPages;\r\n }\r\n\r\n addPage(page: SavedPage)\r\n {\r\n this.savedPages.push({ \r\n title: page.title, \r\n component: SearchPage, \r\n params: { queries: page.queries, title: page.title } \r\n });\r\n }\r\n\r\n initializePages(page_array: SavedPage[])\r\n {\r\n this.savedPages = [];\r\n\r\n for (let p of page_array)\r\n {\r\n this.savedPages.push({ \r\n title: p.title, \r\n component: SearchPage, \r\n params: { queries: p.queries, title: p.title } \r\n });\r\n }\r\n }\r\n}\r\n\r\nexport class Page\r\n{ \r\n title: string;\r\n component: any;\r\n params: any;\r\n icon?: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/pages-service.ts","import { Component, ViewChild } from '@angular/core';\nimport { Platform, MenuController, Nav, ModalController } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { SearchPage } from '../pages/search/search';\n\nimport { PagesService, Page } from '../services/pages-service';\nimport { PageTitles } from '../libs/Constants';\n\n\n@Component({\n templateUrl: 'app.html',\n providers: [PagesService]\n})\nexport class MyApp {\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = SearchPage;\n\n constructor(\n public platform: Platform,\n public menu: MenuController,\n public pagesSvc: PagesService,\n private _statusBar: StatusBar,\n private _splash: SplashScreen,\n private _modalCtrl: ModalController\n ) {\n this.initializeApp();\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this._statusBar.styleDefault();\n this._splash.hide();\n });\n }\n\n openPage(page: Page) {\n if (page.title === PageTitles.Help || page.title === PageTitles.Settings)\n {\n this.menu.close(); // close the menu\n \n // this is a modal.\n const modal = this._modalCtrl.create(page.component);\n modal.present();\n return;\n } \n\n // close the menu when clicking a link from the menu\n this.menu.close('pages');\n\n // because the actions menu is on a Page component, and you swap the SearchPage out,\n // the menu gets registered multiple times. to avoid some pages not opening the menu because\n // multiple menus with the same id exist and the first one in the list is returned (which happens\n // be disabled when another of the same id is added) it won't show. because not enabled.\n // ---\n // unregistering the actions menu whenever a new page is opened fixes the problem, because the menu\n // will get reregistered when SearchPage loads. Also, if you go to a non SearchPage, the actions\n // menu won't be there, but the unregister function doesn't fail if a non existent id is given,\n // so thats ok.\n this.menu._unregister(this.menu.get('actions'));\n\n // navigate to the new page if it is not the current page\n this.nav.setRoot(page.component, page.params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { AutoCompleteService } from 'ionic2-auto-complete';\r\nimport { HttpClient} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class SearchAutoCompleteService implements AutoCompleteService {\r\n public words: string[] = [];\r\n constructor(private http: HttpClient) {\r\n let self = this;\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n this.http.get('data/index/word_to_stem_idx.json', { responseType: 'json' }).subscribe(data => {\r\n // find the right word\r\n for (let i of data as WordToStem[]) {\r\n self.words.push(i.w);\r\n }\r\n });\r\n }\r\n\r\n getResults(keyword: string) {\r\n let qry = keyword;\r\n let prefix = '';\r\n let idx = qry.lastIndexOf(';');\r\n let words = [];\r\n\r\n if (idx > -1) {\r\n qry = keyword.substr(idx + 1).trim();\r\n prefix = keyword.substr(0, idx).trim() + '; ';\r\n }\r\n\r\n if (qry.search(/[0-9]/i) === -1) {\r\n // its a word\r\n for (let item of Reference.Books) {\r\n if (\r\n item.name !== 'Unknown' &&\r\n (item.name.toLowerCase().indexOf(qry.toLowerCase()) > -1 || item.short_name.toLowerCase().indexOf(qry.toLowerCase()) > -1)\r\n ) {\r\n words.push(prefix + item.name);\r\n if (words.length > 2) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n for (let item of this.words) {\r\n if (item.toLowerCase().indexOf(qry.toLowerCase()) > -1) {\r\n words.push(prefix + item);\r\n if (words.length > 6) {\r\n return words;\r\n }\r\n }\r\n }\r\n }\r\n else if (qry.search(/(H|G)[0-9]/i) !== -1) {\r\n // its a strongs lookup\r\n if (qry.substr(0, 1).toUpperCase() === 'H') {\r\n let num = parseInt(qry.substr(1));\r\n for (let x = num; x < num + 10 && x < 8675; x++) {\r\n words.push('H' + x)\r\n }\r\n return words;\r\n }\r\n if (qry.substr(0, 1).toUpperCase() === 'G') {\r\n let num = parseInt(qry.substr(1));\r\n for (let x = num; x < num + 10 && x < 5625; x++) {\r\n words.push('G' + x)\r\n }\r\n return words;\r\n }\r\n }\r\n\r\n return words;\r\n }\r\n}\r\ntype WordToStem = { w: string, s: string }\n\n\n// WEBPACK FOOTER //\n// ./src/services/search-autocomplete-service.ts","import { Component, EventEmitter, Output, Input, OnInit, ElementRef } from '@angular/core';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { BiblePassageResult, BibleService, BiblePassage, BibleVerse, Paragraph } from '../../services/bible-service';\nimport { Reference } from '../../libs/Reference';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\nimport { cardContextMenu } from '../../libs/Common';\n\n\n@Component({\n selector: 'passage',\n templateUrl: 'passage.html',\n providers: [BibleService]\n})\nexport class Passage implements OnInit {\n @Output()\n onItemClicked = new EventEmitter();\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n data: BiblePassageResult;\n withParas: BibleParaPassage[];\n ref: Reference;\n\n constructor(\n public profileService: ProfileService,\n private _elementRef: ElementRef,\n private _bibleService: BibleService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController\n ) {\n }\n\n\n ngOnInit(): void {\n this.ref = new Reference(this.cardItem.qry);\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n });\n\n }\n\n\n setData(data: BiblePassageResult) {\n this.data = data;\n this.withParas = this.getParaPassages(data.cs);\n }\n\n contextMenu() {\n cardContextMenu(this.profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n next() {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)].toString();\n\n if (this.ref.Section.end.verse !== '*' && this.ref.Section.end.verse !== last_verse_for_end)\n this.ref.Section.end.chapter = this.ref.Section.end.chapter;\n else\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n\n this.ref.Section.start.chapter = this.ref.Section.end.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n prev() {\n if (this.ref.Section.start.verse !== '1')\n this.ref.Section.start.chapter = this.ref.Section.start.chapter;\n else\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n\n this.ref.Section.end.chapter = this.ref.Section.start.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n expand() {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)];\n\n // if your verse is at the beginning, to go the prev chapter and add 3 verses from that\n if (parseInt(this.ref.Section.start.verse) < 4) {\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n this.ref.Section.start.verse = '*-' + (3 - parseInt(this.ref.Section.start.verse));\n if (this.ref.Section.start.chapter === '0') {\n this.ref.Section.start.chapter = '1';\n this.ref.Section.start.verse = '1';\n }\n }\n else // or go back 3 verses\n this.ref.Section.start.verse = (parseInt(this.ref.Section.start.verse) - 3).toString();\n\n // if your verse is at the end, go to the next chapter\n if (this.ref.Section.end.verse === '*' || parseInt(this.ref.Section.end.verse) + 3 > last_verse_for_end) {\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n if (this.ref.Section.end.verse === '*')\n this.ref.Section.end.verse = '3';\n else\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3 - last_verse_for_end).toString();\n\n if (this.ref.Section.end.chapter === (this.ref.Section.end.book.last_chapter + 1).toString()) {\n this.ref.Section.end.chapter = this.ref.Section.end.book.last_chapter.toString();\n this.ref.Section.end.verse = last_verse_for_end.toString();\n }\n }\n else // or add 3 verses\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3).toString();\n\n if (this.ref.Section.start.verse === '0')\n this.ref.Section.start.verse = '1';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n openStrongs(strongs: string) {\n this.onItemClicked.emit({ card: this.cardItem, qry: this.cardItem.dict + strongs, from_search_bar: false });\n }\n\n isPunct(c: string) {\n return new RegExp('^[\\.\\,\\;\\:\\?\\!]$').test(c);\n }\n\n hasHeader(p: Paragraph) {\n if (p === undefined)\n return false;\n\n return p.h.length > 0;\n }\n\n isPara(vs: BibleVerse) {\n return this.getRefKey(this.ref.Section.start.chapter, vs) in BibleService.paragraphs;\n }\n\n getRefKey(ch: string, vs: BibleVerse) {\n return this.ref.Section.start.book.book_number + ';' + ch + ';' + vs.v;\n }\n\n getParaPassages(chapters: BiblePassage[]) {\n let passages: BibleParaPassage[] = [];\n for (let ch of chapters) {\n let para = {\n ch: ch.ch,\n paras: this.getParas(ch)\n };\n\n passages.push(para);\n }\n return passages;\n }\n\n getParas(ch: BiblePassage) {\n // group the verses into paragraphs.\n\n // create an initial paragraph to hold verses that might come before a paragraph.\n let para: BiblePara = { p: { h: '', p: 0 }, vss: [] };\n let paras: BiblePara[] = [];\n\n // for each verse in the chapter, break them into paragraphs.\n for (let v of ch.vss) {\n if (this.isPara(v)) {\n paras.push(para);\n para = { p: BibleService.paragraphs[this.getRefKey(ch.ch.toString(), v)], vss: [v] };\n if (para.p === undefined)\n para.p = { h: '', p: 0 }; // just in case you can't find a paragraph.\n }\n else {\n para.vss.push(v);\n }\n }\n\n // add the final paragraph if it has verses.\n if (para.vss.length > 0)\n paras.push(para);\n\n return paras;\n }\n}\n\ntype BiblePara = {\n p: Paragraph,\n vss: BibleVerse[],\n}\n\ntype BibleParaPassage = {\n ch: number;\n paras: BiblePara[];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/passage/passage.ts","/// \r\n/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Section, Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class BibleService\r\n{\r\n chapters: BiblePassage[];\r\n result: BiblePassageResult;\r\n static paragraphs: HashTable;\r\n count = 0;\r\n $: any;\r\n\r\n constructor()\r\n {\r\n this.getParagraphMarkersAsPromise()\r\n }\r\n\r\n getParagraphMarkersAsPromise(): Promise>\r\n {\r\n return new Promise((resolve) => { resolve(this.getParagraphMarkers()); });\r\n }\r\n\r\n getParagraphMarkers() : HashTable\r\n {\r\n try\r\n {\r\n if (BibleService.paragraphs !== undefined && '1;1;1' in BibleService.paragraphs)\r\n return BibleService.paragraphs;\r\n\r\n const self = this;\r\n\r\n const url = 'data/bibles/paras.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: HashTable)\r\n {\r\n BibleService.paragraphs = d;\r\n },\r\n error()\r\n {\r\n console.log('Unable to retrieve paragraphs.');\r\n }\r\n });\r\n\r\n return BibleService.paragraphs;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n\r\n getResultAsPromise(section: Section): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(section)); });\r\n }\r\n\r\n getResult(section: Section): BiblePassageResult\r\n {\r\n try\r\n {\r\n const self = this;\r\n this.chapters = []; // the verses from the chapter.\r\n this.result = {\r\n cs: [],\r\n testament: '',\r\n ref: Reference.toString(section),\r\n status: 0,\r\n msg: ':)'\r\n };\r\n\r\n if (Number(section.start.chapter) > section.start.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.start.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.start.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n if (Number(section.end.chapter) > section.end.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.end.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.end.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n this.count = Number(section.end.chapter) - Number(section.start.chapter) + 1;\r\n\r\n for (let i = Number(section.start.chapter); i <= Number(section.end.chapter); i++)\r\n {\r\n const url = 'data/bibles/kjv_strongs/' + section.start.book.book_number + '-' + i + '.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: BiblePassage)\r\n {\r\n self.chapters.push(d);\r\n },\r\n error()\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve bible passage ' + self.result.ref + '.';\r\n }\r\n });\r\n }\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n for (let j = 0; j < this.chapters.length; j++)\r\n {\r\n const vss: BibleVerse[] = [];\r\n let start: number;\r\n let end;\r\n\r\n // figure out the start verse.\r\n if (j === 0)\r\n {\r\n if (section.start.verse.indexOf('*') !== -1) // you sometimes use this as a shortcut to the last verse\r\n {\r\n // replace the * with the last verse, then eval the expression.\r\n section.start.verse = section.start.verse.replace('*', (this.chapters[j].vss.length).toString());\r\n\r\n start = math.eval(section.start.verse);\r\n\r\n // update the section and the ref.\r\n section.start.verse = start.toString();\r\n this.result.ref = Reference.toString(section);\r\n }\r\n else\r\n start = parseInt(section.start.verse);\r\n }\r\n else\r\n start = 1;\r\n\r\n // figure out the end verse\r\n if ((j + 1) === this.chapters.length)\r\n end = section.end.verse;\r\n else\r\n end = '*';\r\n\r\n // get the verses requested.\r\n const tvs = this.chapters[j].vss.length;\r\n if (end === '*' || parseInt(end) > tvs)\r\n end = tvs;\r\n\r\n // we're using c based indexes here, so the index is 1 less than the verse #.\r\n for (let i = start; i <= end; i++)\r\n vss.push(this.chapters[j].vss[i - 1]);\r\n\r\n this.result.cs.push({\r\n ch: this.chapters[j].ch,\r\n vss: vss\r\n });\r\n }\r\n\r\n\r\n if (section.start.book.book_number >= 40)\r\n this.result.testament = 'new';\r\n else\r\n this.result.testament = 'old';\r\n\r\n return this.result;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport type BiblePassageResult = {\r\n cs: BiblePassage[],\r\n testament: string,\r\n ref: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\nexport type BiblePassage = {\r\n ch: number,\r\n vss: BibleVerse[],\r\n}\r\n\r\nexport type BibleVerse = {\r\n v: number,\r\n w: [\r\n {\r\n t: string, s: string,\r\n }\r\n ],\r\n}\r\n\r\nexport type Paragraph = {\r\n h: string,\r\n p: number\r\n}\r\n\r\nexport interface HashTable\r\n{\r\n [key: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/bible-service.ts","import {\n HostListener,\n EventEmitter,\n Component,\n Input,\n Output,\n OnInit,\n AfterViewChecked,\n ElementRef\n} from \"@angular/core\";\nimport { Reference } from \"../../libs/Reference\";\nimport { OpenData, CardItem } from \"../../pages/search/search\";\nimport { StrongsResult, StrongsService } from \"../../services/strongs-service\";\nimport { cardContextMenu } from \"../../libs/Common\";\nimport { ProfileService } from \"../../services/profile-service\";\nimport { ActionSheetController, AlertController } from \"ionic-angular\";\nimport { PagesService } from \"../../services/pages-service\";\n\n@Component({\n selector: \"strongs\",\n templateUrl: \"strongs.html\",\n providers: [StrongsService]\n})\nexport class Strongs implements AfterViewChecked, OnInit {\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n items: StrongsResult[];\n\n constructor(\n private _elementRef: ElementRef,\n private _strongsService: StrongsService,\n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController\n ) {}\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n onResize(evt) {\n $(\"strongs ion-scroll\").each((i, el) => {\n let len = $(el).find(\".scroll-content .scroll-zoom-wrapper dl span\").length;\n len += $(el).find(\".scroll-content .scroll-zoom-wrapper dl dd\").length;\n\n if (len < 20) $(el).css(\"height\", Math.ceil(len / 3) * 30 + 30);\n });\n }\n\n ngAfterViewChecked(): void {\n this.onResize(null);\n }\n\n async ngOnInit() {\n this.items = [];\n const numbers = this.cardItem.qry.split(\" \");\n for (const sn of numbers) {\n let data = await this._strongsService.getResultAsPromise(parseInt(sn), this.cardItem.dict);\n this.items.push(data);\n }\n }\n\n close(ev) {\n let translate = \"translate3d(110%, 0, 0)\";\n if (ev != null && ev.direction === 2) {\n translate = \"translate3d(-110%, 0, 0)\";\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate(\n {\n transform: [\"none\", translate]\n },\n {\n fill: \"forwards\",\n duration: d,\n iterations: 1,\n easing: \"ease-in-out\"\n }\n );\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n openItem(p: string) {\n this.onItemClicked.emit({ card: this.cardItem, qry: p, from_search_bar: false });\n }\n\n makePassage(p: string) {\n return Reference.bookName(parseInt(p.split(\";\")[0])).name + \" \" + p.split(\";\")[1] + \":\" + p.split(\";\")[2];\n }\n\n openPassage(p: string) {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs/strongs.ts","/// \nimport { HostListener, EventEmitter, Component, Input, Output, AfterViewChecked, OnInit, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { WordLookupResult, WordService } from '../../services/word-service';\nimport { cardContextMenu } from '../../libs/Common';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\n\n@Component({\n selector: 'words',\n templateUrl: 'words.html',\n providers: [WordService]\n})\nexport class Words implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n $: any;\n\n data: WordLookupResult;\n\n constructor(\n private _elementRef: ElementRef,\n private _wordService: WordService, \n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController)\n {\n }\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n \n @HostListener('window:resize', ['$event'])\n onResize(evt)\n {\n $('words ion-scroll').each((i, el) =>\n {\n const wr = $(el).find('.scroll-content .scroll-zoom-wrapper')[0];\n const len = $(el).find('.scroll-zoom-wrapper a').length;\n\n if (wr.scrollWidth < 500) // 1 col\n {\n // 5 rows\n len < 6 ? $(el).css('height', len * 44.4 + 25) : $(el).css('height', 250);\n }\n else if (wr.scrollWidth < 699) // 2 col\n {\n // 6 rows\n len < 13 ? $(el).css('height', Math.ceil(len / 2) * 44.4 + 25) : $(el).css('height', 300);\n }\n else if (wr.scrollWidth < 799) // 3 col\n {\n // 7 rows\n len < 22 ? $(el).css('height', Math.ceil(len / 3) * 44.4 + 25) : $(el).css('height', 350);\n }\n else if (wr.scrollWidth < 899) // 4 col\n {\n // 7 rows\n len < 29 ? $(el).css('height', Math.ceil(len / 4) * 44.4 + 25) : $(el).css('height', 375);\n }\n else if (wr.scrollWidth < 1199) // 5 col\n {\n // 8 rows\n len < 41 ? $(el).css('height', Math.ceil(len / 5) * 44.4 + 25) : $(el).css('height', 400);\n }\n else // 6 col\n {\n // 8 rows\n len < 49 ? $(el).css('height', Math.ceil(len / 6) * 44.4 + 25) : $(el).css('height', 425);\n }\n });\n }\n public ngAfterViewChecked(): void\n {\n this.onResize(null);\n }\n\n ngOnInit(): void\n {\n this._wordService.getResultAsPromise(this.cardItem.qry).then(data =>\n this.data = data\n );\n }\n\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n makePassage(p: string)\n {\n return Reference.bookName(parseInt(p.split(':')[0])).name + ' ' + p.split(':')[1] + ':' + p.split(':')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/words/words.ts","/// \r\nimport { stemmer } from '../libs/Stemmer';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class WordService\r\n{\r\n wordToStem: Map = {};\r\n\r\n constructor()\r\n {\r\n this.getStemWordIndex();\r\n }\r\n\r\n normalizeQueryString(qry: string): string[]\r\n {\r\n qry = qry.toLowerCase();\r\n return qry.replace(/'/g, '').replace(/\\s+/g, ' ').split(' ');\r\n }\r\n\r\n getResultAsPromise(qry: string): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(qry)); });\r\n }\r\n\r\n getResult(qry: string): WordLookupResult\r\n {\r\n const qs = this.normalizeQueryString(qry);\r\n const words = this.buildIndexArray().sort();\r\n const results = new Array();\r\n\r\n // Loop through each query term.\r\n for (let q of qs)\r\n {\r\n const stem = this.wordToStem[q];\r\n\r\n // For each query term, figure out which xml file it is in, and get it.\r\n // getSearchRefs returns an array of references.\r\n for (let w = 0; w < words.length; w++)\r\n {\r\n // If we are at the end of the array, we want to use a different test.\r\n if (w === 0)\r\n {\r\n if (stem <= words[w])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n if (stem <= words[w] && stem > words[w - 1])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n }\r\n } // End of loop through query terms\r\n\r\n // Now we need to test results. If there is more than one item in the array, we need to find the set\r\n // that is shared by all of them. IF not, we can just return those refs.\r\n if (results.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n let shared: string[];\r\n if (results.length === 1)\r\n {\r\n shared = results[0];\r\n }\r\n else\r\n {\r\n shared = this.findSharedSet(results);\r\n }\r\n\r\n if (shared == null || shared.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n return { word: qry, refs: shared, status: 0, msg: ':)' };\r\n }\r\n \r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getStemWordIndex()\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: WordToStem[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/index/word_to_stem_idx.json',\r\n dataType: 'json',\r\n success(d: WordToStem[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n for (let i of r)\r\n {\r\n this.wordToStem[i.w] = i.s;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getSearchReferences(url, query): string[]\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: IndexResult[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: IndexResult[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n const refs = $.grep(r, (o) => o.w === query);\r\n\r\n if (refs.length > 0)\r\n return refs[0].r;\r\n else\r\n return [];\r\n }\r\n\r\n private buildIndexArray()\r\n {\r\n const words = new Array();\r\n words.unshift('abishur');\r\n words.unshift('achor');\r\n words.unshift('adoni');\r\n words.unshift('afterward');\r\n words.unshift('ahishahar');\r\n words.unshift('alleg');\r\n words.unshift('ambush');\r\n words.unshift('ancestor');\r\n words.unshift('aphik');\r\n words.unshift('arbah');\r\n words.unshift('arodi');\r\n words.unshift('ashkenaz');\r\n words.unshift('ate');\r\n words.unshift('azaniah');\r\n words.unshift('backbiteth');\r\n words.unshift('barbarian');\r\n words.unshift('beard');\r\n words.unshift('begettest');\r\n words.unshift('benefactor');\r\n words.unshift('bethel');\r\n words.unshift('bilshan');\r\n words.unshift('blindeth');\r\n words.unshift('booti');\r\n words.unshift('breaketh');\r\n words.unshift('bucket');\r\n words.unshift('cabbon');\r\n words.unshift('caphtor');\r\n words.unshift('causeless');\r\n words.unshift('chapmen');\r\n words.unshift('chese');\r\n words.unshift('chrysoprasus');\r\n words.unshift('cloth');\r\n words.unshift('common');\r\n words.unshift('confess');\r\n words.unshift('contendeth');\r\n words.unshift('coucheth');\r\n words.unshift('crept');\r\n words.unshift('curseth');\r\n words.unshift('darius');\r\n words.unshift('decketh');\r\n words.unshift('dema');\r\n words.unshift('devil');\r\n words.unshift('directeth');\r\n words.unshift('disposit');\r\n words.unshift('doth');\r\n words.unshift('drowsi');\r\n words.unshift('ebe');\r\n words.unshift('elead');\r\n words.unshift('elkoshit');\r\n words.unshift('encourag');\r\n words.unshift('entreat');\r\n words.unshift('eschew');\r\n words.unshift('ever');\r\n words.unshift('expert');\r\n words.unshift('fallest');\r\n words.unshift('feedeth');\r\n words.unshift('filthi');\r\n words.unshift('fleeth');\r\n words.unshift('forborn');\r\n words.unshift('forsookest');\r\n words.unshift('fretteth');\r\n words.unshift('gahar');\r\n words.unshift('gazzam');\r\n words.unshift('gibea');\r\n words.unshift('glister');\r\n words.unshift('got');\r\n words.unshift('grope');\r\n words.unshift('hadlai');\r\n words.unshift('hammon');\r\n words.unshift('harbona');\r\n words.unshift('hasrah');\r\n words.unshift('hazezon');\r\n words.unshift('heinous');\r\n words.unshift('herebi');\r\n words.unshift('highest');\r\n words.unshift('holdeth');\r\n words.unshift('hosanna');\r\n words.unshift('huri');\r\n words.unshift('ill');\r\n words.unshift('inexcus');\r\n words.unshift('intend');\r\n words.unshift('ishui');\r\n words.unshift('jaazaniah');\r\n words.unshift('jaminit');\r\n words.unshift('jecoliah');\r\n words.unshift('jeopard');\r\n words.unshift('jethro');\r\n words.unshift('joiarib');\r\n words.unshift('juda');\r\n words.unshift('kelaiah');\r\n words.unshift('kishion');\r\n words.unshift('laden');\r\n words.unshift('laughter');\r\n words.unshift('lehi');\r\n words.unshift('lift');\r\n words.unshift('loatheth');\r\n words.unshift('lucius');\r\n words.unshift('madmen');\r\n words.unshift('malachi');\r\n words.unshift('march');\r\n words.unshift('maul');\r\n words.unshift('melchizedek');\r\n words.unshift('merrili');\r\n words.unshift('midianit');\r\n words.unshift('miri');\r\n words.unshift('modest');\r\n words.unshift('move');\r\n words.unshift('naashon');\r\n words.unshift('nazareth');\r\n words.unshift('nephishesim');\r\n words.unshift('nisan');\r\n words.unshift('obadiah');\r\n words.unshift('oliveyard');\r\n words.unshift('oren');\r\n words.unshift('overrun');\r\n words.unshift('pallu');\r\n words.unshift('pas');\r\n words.unshift('peel');\r\n words.unshift('pernici');\r\n words.unshift('philip');\r\n words.unshift('pison');\r\n words.unshift('plucketh');\r\n words.unshift('pour');\r\n words.unshift('price');\r\n words.unshift('proport');\r\n words.unshift('purg');\r\n words.unshift('rabboni');\r\n words.unshift('ravish');\r\n words.unshift('redeemedst');\r\n words.unshift('remainest');\r\n words.unshift('reput');\r\n words.unshift('revers');\r\n words.unshift('rissah');\r\n words.unshift('ruddi');\r\n words.unshift('said');\r\n words.unshift('sapphir');\r\n words.unshift('scepter');\r\n words.unshift('secundus');\r\n words.unshift('separ');\r\n words.unshift('shachia');\r\n words.unshift('sharar');\r\n words.unshift('sheepshear');\r\n words.unshift('sheva');\r\n words.unshift('shishak');\r\n words.unshift('shroud');\r\n words.unshift('signifi');\r\n words.unshift('sittest');\r\n words.unshift('slow');\r\n words.unshift('soft');\r\n words.unshift('sowedst');\r\n words.unshift('spoil');\r\n words.unshift('station');\r\n words.unshift('stoop');\r\n words.unshift('strongest');\r\n words.unshift('sum');\r\n words.unshift('sweep');\r\n words.unshift('tahapan');\r\n words.unshift('tast');\r\n words.unshift('ten');\r\n words.unshift('thereat');\r\n words.unshift('threaten');\r\n words.unshift('timbrel');\r\n words.unshift('tongu');\r\n words.unshift('travailest');\r\n words.unshift('trust');\r\n words.unshift('uncircumcis');\r\n words.unshift('unprepar');\r\n words.unshift('urg');\r\n words.unshift('vat');\r\n words.unshift('visiteth');\r\n words.unshift('wash');\r\n words.unshift('wed');\r\n words.unshift('wherewith');\r\n words.unshift('winepress');\r\n words.unshift('won');\r\n words.unshift('written');\r\n words.unshift('zalmonah');\r\n words.unshift('zenan');\r\n words.unshift('ziphim');\r\n words.unshift('zuzim');\r\n\r\n return words;\r\n }\r\n\r\n /*\r\n * Returns a list of references in string form as a string[] that are shared\r\n * given a list of lists of references in string form.\r\n */\r\n private findSharedSet(results)\r\n {\r\n // FindSharedSet takes an array of reference arrays, and figures out\r\n // which references are shared by all arrays/sets, then returns a single\r\n // array of references.\r\n for (let j in results)\r\n {\r\n if (results.hasOwnProperty(j))\r\n {\r\n const refs = results[j];\r\n if (refs != null)\r\n {\r\n for (let i = 0; i < refs.length; i++)\r\n {\r\n const r = refs[i].split(':');\r\n // convert references to single integers.\r\n // Book * 100000000, Chapter * 10000, Verse remains same, add all together.\r\n let ref = r[0] * 100000000;\r\n ref = ref + (r[1] * 10000);\r\n ref = ref + r[2] * 1;\r\n results[j][i] = ref;\r\n }\r\n } else\r\n return null;\r\n }\r\n }\r\n\r\n // get the first result\r\n let result = results[0];\r\n\r\n // for each additional result, get the shared set\r\n for (let i = 1; i < results.length; i++)\r\n result = this.returnSharedSet(results[i], result);\r\n\r\n // convert the references back into book, chapter and verse.\r\n for (let i = 0; i < result.length; i++)\r\n {\r\n const ref = result[i];\r\n result[i] = Math.floor(ref / 100000000) + ':' + Math.floor((ref % 100000000) / 10000) + ':' + Math.floor((ref % 100000000) % 10000);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private returnSharedSet(x, y)\r\n {\r\n /// \r\n /// Takes two javascript arrays and returns an array\r\n /// containing a set of values shared by arrays.\r\n /// \r\n // declare iterator\r\n let i = 0;\r\n // declare terminator\r\n let t = (x.length < y.length) ? x.length : y.length;\r\n // sort the arrays\r\n x.sort((a, b) => a - b);\r\n y.sort((a, b) => a - b);\r\n // in this loop, we remove from the arrays, the\r\n // values that aren't shared between them.\r\n while (i < t)\r\n {\r\n if (x[i] === y[i])\r\n i++;\r\n\r\n if (x[i] < y[i])\r\n x.splice(i, 1);\r\n\r\n if (x[i] > y[i])\r\n y.splice(i, 1);\r\n\r\n t = (x.length < y.length) ? x.length : y.length;\r\n // we have to make sure to remove any extra values\r\n // at the end of an array when we reach the end of\r\n // the other.\r\n if (t === i && t < x.length)\r\n x.splice(i, x.length - i);\r\n\r\n if (t === i && t < y.length)\r\n y.splice(i, x.length - i);\r\n }\r\n // we could return y, because at this time, both arrays\r\n // are identical.\r\n return x;\r\n }\r\n}\r\n\r\nexport type WordLookupResult = {\r\n refs: string[],\r\n word: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\ntype IndexResult = {\r\n r: string[];\r\n w: string;\r\n}\r\n\r\ntype WordToStem = { w:string, s: string}\r\ninterface Map\r\n{\r\n [K: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/word-service.ts","import { EventEmitter, Component, Input, Output, ElementRef } from '@angular/core';\nimport { CardItem } from '../../pages/search/search';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\nimport { cardContextMenu } from '../../libs/Common';\n\n@Component({\n selector: 'error',\n templateUrl: 'error.html'\n})\nexport class Error\n{\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n constructor(\n private _elementRef: ElementRef,\n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController)\n {\n }\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error/error.ts","import { Component } from '@angular/core';\nimport { ProfileService } from '../../services/profile-service';\n\n@Component({\n selector: 'settings',\n templateUrl: 'settings.html'\n})\nexport class Settings {\n constructor(\n public profileService: ProfileService\n ) {}\n\n\n textSizeChanged()\n {\n this.profileService.textSizeChanged();\n this.profileService.localSave();\n }\n\n fontFamilyChanged()\n {\n this.profileService.fontFamilyChanged();\n this.profileService.localSave();\n }\n reset()\n {\n this.profileService.reset()\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/settings/settings.ts","import { Component, Input} from '@angular/core';\n\n@Component({\n selector: 'error-message',\n templateUrl: 'error-message.html'\n})\nexport class ErrorMessage\r\n{\n @Input()\n msg: string;\n\n constructor()\r\n {\n this.msg = '';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error-message/error-message.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../../src/libs/Common.ts","../../src/pages/search/search.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/services/profile-service.ts","../../src/components/strongs-modal/strongs-modal.ts","../../src/services/strongs-service.ts","../../src/components/verse-picker/verse-picker.ts","../../src/libs/Constants.ts","../../src/components/settings-modal/settings-modal.ts","../../src/components/about-modal/about-modal.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/libs/Reference.ts","../../src/services/pages-service.ts","../../src/app/app.component.ts","../../src/services/search-autocomplete-service.ts","../../src/components/passage/passage.ts","../../src/services/bible-service.ts","../../src/components/strongs/strongs.ts","../../src/components/words/words.ts","../../src/services/word-service.ts","../../src/components/error/error.ts","../../src/components/settings/settings.ts","../../src/components/error-message/error-message.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { ProfileService } from \"../services/profile-service\";\nimport { ActionSheetController, AlertController } from \"ionic-angular\";\nimport { PagesService } from \"../services/pages-service\";\nimport { CardItem } from \"../pages/search/search\";\n\nexport function cardContextMenu(\n profileService: ProfileService,\n actionSheet: ActionSheetController,\n pagesSvc: PagesService,\n alertCtrl: AlertController,\n cardItem: CardItem\n) {\n const actions = actionSheet.create({\n title: \"Passage Actions\",\n buttons: [\n {\n text: \"Add to a Saved Page\",\n icon: \"add-circle\",\n handler: () => {\n let btns = pagesSvc.getSavedPages().map(p => {\n return {\n text: p.title,\n icon: \"bookmark\",\n handler: () => {\n const page = profileService.profile().saved_pages.find(i => i.title === p.title);\n page.queries.push(cardItem);\n profileService.save();\n }\n };\n });\n btns.push({\n text: \"Add to New Page\",\n icon: \"create\",\n handler: () => {\n const alert = alertCtrl.create({\n title: \"Save Passage as Page\",\n inputs: [\n {\n name: \"title\",\n placeholder: \"Page Title\"\n }\n ],\n buttons: [\n {\n text: \"Cancel\",\n role: \"cancel\",\n handler: (): void => {\n console.log(\"Cancel clicked\");\n }\n },\n {\n text: \"Save\",\n handler: data => {\n const p = {\n queries: profileService.profile().items.slice(),\n title: data.title\n };\n profileService.profile().saved_pages.push(p);\n profileService.save();\n pagesSvc.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n });\n actionSheet\n .create({\n title: \"Saved Pages\",\n buttons: btns\n })\n .present();\n }\n }\n ]\n });\n if (profileService.isOnSearchPage()) {\n actions.addButton({\n text: \"Remove from \" + profileService.title,\n icon: \"remove-circle\",\n handler: () => {\n const page = profileService.profile().saved_pages.find(i => i.title === profileService.title);\n const idx = profileService.profile().items.indexOf(cardItem);\n profileService.profile().items.splice(idx, 1);\n\n page.queries = profileService.profile().items.slice();\n profileService.save();\n pagesSvc.initializePages(profileService.profile().saved_pages);\n }\n });\n }\n\n actions.present();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Common.ts","import { Type, Component, OnInit, ViewChild } from \"@angular/core\";\nimport {\n Loading,\n LoadingController,\n ModalController,\n NavParams,\n AlertController,\n MenuController,\n TextInput,\n Searchbar\n} from \"ionic-angular\";\nimport { AutoCompleteComponent } from \"ionic2-auto-complete\";\n\nimport { StrongsModal } from \"../../components/strongs-modal/strongs-modal\";\nimport { VersePickerModal } from \"../../components/verse-picker/verse-picker\";\n\nimport { PagesService } from \"../../services/pages-service\";\nimport { ProfileService, User } from \"./../../services/profile-service\";\nimport { SearchAutoCompleteService } from \"../../services/search-autocomplete-service\";\n\nimport { Reference } from \"../../libs/Reference\";\n\n@Component({\n templateUrl: \"search.html\",\n providers: [SearchAutoCompleteService]\n})\nexport class SearchPage implements OnInit {\n searchQuery = \"\";\n loader: Loading;\n\n @ViewChild(\"searchbar\")\n searchbar: AutoCompleteComponent;\n\n constructor(\n private pagesService: PagesService,\n private alertCtrl: AlertController,\n private menu: MenuController,\n public loadingCtrl: LoadingController,\n public modalCtrl: ModalController,\n public profileService: ProfileService,\n public params: NavParams,\n public autocompleteService: SearchAutoCompleteService\n ) {}\n\n ngOnInit(): void {\n if (this.profileService.localIsLoaded) {\n this.loader = this.loadingCtrl.create({ content: \"Loading Page...\" });\n this.loader.present().then(() => {\n let t = this.profileService.profile();\n this.initializeItems(t);\n this.loader.dismiss();\n });\n } else {\n this.profileService.onLocalStorageLoaded.subscribe(t => {\n // Check if there is a profile saved in local storage\n this.loader = this.loadingCtrl.create({ content: \"Loading Page...\" });\n this.loader.present().then(() => {\n this.initializeItems(t);\n this.loader.dismiss();\n this.pagesService.initializePages(this.profileService.profile().saved_pages);\n });\n });\n this.profileService.onSavedPagesChanged.subscribe(sp => {\n this.pagesService.initializePages(sp);\n });\n }\n }\n\n initializeItems(u: User) {\n // migrate old way of storing card items to the new.\n let has_migrated = false;\n for (let i in u.items) {\n if (u.items.hasOwnProperty(i)) {\n let ci = u.items[i];\n if (ci[\"data\"] !== undefined) {\n if (ci[\"data\"].qry !== undefined)\n u.items[i] = { qry: ci[\"data\"].qry, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].ref !== undefined)\n u.items[i] = { qry: ci[\"data\"].ref, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].word !== undefined)\n u.items[i] = { qry: ci[\"data\"].word, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].sn !== undefined)\n u.items[i] = {\n qry: ci[\"data\"].sn,\n dict: ci[\"prefix\"] === \"G\" ? \"grk\" : \"heb\",\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n\n for (let pg of u.saved_pages) {\n for (let i in pg.queries) {\n if (pg.queries.hasOwnProperty(i)) {\n let ci = pg.queries[i];\n if (ci[\"data\"] !== undefined) {\n if (ci[\"data\"].qry !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].qry, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].ref !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].ref, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].word !== undefined)\n pg.queries[i] = { qry: ci[\"data\"].word, dict: ci.dict, type: ci.type };\n else if (ci[\"data\"].sn !== undefined)\n pg.queries[i] = {\n qry: ci[\"data\"].sn,\n dict: ci[\"prefix\"] === \"G\" ? \"grk\" : \"heb\",\n type: ci.type\n };\n\n has_migrated = true;\n }\n }\n }\n }\n\n // initialize the pages.\n this.pagesService.initializePages(u.saved_pages);\n this.profileService.save(); // save the new items list\n\n if (this.params.data.queries !== undefined)\n this.profileService.profile().items = JSON.parse(JSON.stringify(this.params.data.queries));\n\n if (this.params.data.title === undefined) this.profileService.title = \"Search\";\n else this.profileService.title = this.params.data.title;\n\n if (has_migrated) this.profileService.save();\n\n if (this.profileService.profile().items === undefined) {\n this.profileService.profile().items = []; // sometimes, maybe because of all the weirdness with the remote syncing, this gets set to undefined, and it needs to be reset.\n }\n }\n\n textSizeChanged() {\n this.profileService.textSizeChanged();\n this.profileService.localSave();\n }\n fontFamilyChanged() {\n this.profileService.fontFamilyChanged();\n this.profileService.localSave();\n }\n actionsMenu() {\n this.menu.open(\"actions\");\n }\n\n addPage() {\n const alert = this.alertCtrl.create({\n title: \"Save Search as Page\",\n inputs: [\n {\n name: \"title\",\n placeholder: \"Page Title\"\n }\n ],\n buttons: [\n {\n text: \"Cancel\",\n role: \"cancel\",\n handler: (): void => {\n console.log(\"Cancel clicked\");\n }\n },\n {\n text: \"Save\",\n handler: data => {\n const p = { queries: this.profileService.profile().items.slice(), title: data.title };\n this.profileService.profile().saved_pages.push(p);\n this.profileService.save();\n this.pagesService.addPage(p);\n }\n }\n ]\n });\n alert.present();\n }\n\n updatePage() {\n const page = this.profileService.profile().saved_pages.find(i => i.title === this.params.data.title);\n page.queries = this.profileService.profile().items.slice();\n this.profileService.save();\n }\n\n itemSelected(autocomplete: string) {\n let qry = autocomplete;\n let idx = qry.lastIndexOf(\";\");\n let prefix = \"\";\n\n if (idx > -1) {\n qry = autocomplete.substr(idx + 1).trim();\n prefix = autocomplete.substr(0, idx).trim() + \"; \";\n }\n\n const bk = Reference.parseBook(qry);\n if (bk.book_number > 0) {\n this.searchQuery = prefix + qry.trim() + \" \";\n this.searchbar.setFocus();\n } else {\n this.searchQuery = prefix + autocomplete;\n this.getQuery();\n }\n }\n\n setQuery(searchbar) {\n this.searchQuery = searchbar.target.value;\n }\n\n getQuery() {\n const qry = this.searchQuery;\n this.searchQuery = \"\";\n this.searchbar.setValue(\"\");\n this.profileService.addSearchRequestToHistory(qry);\n this.updateUIwithItems(qry, true);\n }\n\n showHistory() {\n if (\n this.searchQuery.trim().length === 0 &&\n this.profileService.searchHistory !== null &&\n this.profileService.searchHistory.length > 0\n ) {\n this.searchbar.suggestions = this.profileService.searchHistory;\n this.searchbar.showItemList();\n }\n }\n\n isError(t: string) {\n return t === \"Error\";\n }\n isPassage(t: string) {\n return t === \"Passage\";\n }\n isStrongs(t: string) {\n return t === \"Strongs\";\n }\n isWords(t: string) {\n return t === \"Words\";\n }\n\n versePicker() {\n const modal = this.modalCtrl.create(VersePickerModal, { onItemClicked: this });\n modal.present();\n }\n\n getItemsNextToCard(data: OpenData) {\n this.profileService.last = data.card;\n this.updateUIwithItems(data.qry, data.from_search_bar);\n }\n\n getItemList(search: string): Promise {\n this.searchbar.hideItemList();\n\n return new Promise(resolve => {\n const list: CardItem[] = [];\n\n try {\n const qs = search.split(\";\");\n for (let x in qs) {\n if (qs.hasOwnProperty(x)) {\n let q = qs[x].trim();\n if (q !== \"\") {\n // its a search term.\n if (q.search(/[0-9]/i) === -1) list.push({ qry: q, dict: \"na\", type: \"Words\" });\n else if (q.search(/(H|G)[0-9]/i) !== -1) {\n // its a strongs lookup\n let dict = q.substring(0, 1);\n\n if (dict.search(/h/i) !== -1) dict = \"heb\";\n else dict = \"grk\";\n\n q = q.substring(1, q.length);\n list.push({ qry: q, dict: dict, type: \"Strongs\" });\n } else {\n // its a verse reference.\n if (q.trim() !== \"\") {\n const myref = new Reference(q.trim());\n list.push({\n qry: myref.toString(),\n dict: myref.Section.start.book.book_number > 39 ? \"G\" : \"H\",\n type: \"Passage\"\n });\n }\n }\n }\n }\n }\n\n this.profileService.save();\n } catch (error) {\n list.push({ qry: error, type: \"Error\", dict: \"na\" });\n console.log(error);\n }\n\n resolve(list);\n });\n }\n\n updateUIwithItems(search: string, from_search_bar: boolean) {\n // clear search box.\n this.searchQuery = \"\";\n this.searchbar.setValue(\"\");\n\n this.getItemList(search).then(lst => {\n this.loader = this.loadingCtrl.create({ content: \"Looking up Query...\" });\n this.loader.present().then(() => {\n for (let item of lst) {\n if (item.type === \"Strongs\" && this.profileService.profile().strongs_modal && !from_search_bar) {\n const modal = this.modalCtrl.create(StrongsModal, {\n sn: item.qry,\n dict: item.dict,\n onItemClicked: this\n });\n modal.present();\n } else this.profileService.addItemToList(item);\n }\n this.loader.dismiss();\n });\n });\n }\n}\n\nexport type OpenData = { card: CardItem; qry: string; from_search_bar: boolean };\n\nexport type CardItem = { qry: string; type: string; dict: string };\n\nclass Item {\n id: number;\n data: any;\n type: Type;\n dict: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/search/search.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 206;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 206\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 305;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 305\n// module chunks = 0","/// \nimport { Injectable } from '@angular/core';\nimport { AngularFireDatabase, AngularFireObject } from 'angularfire2/database';\nimport { AngularFireAuth } from 'angularfire2/auth';\nimport * as firebase from 'firebase/app';\nimport { Observable } from 'rxjs/Observable';\nimport { Catch } from 'rxjs/add/operator';\nimport { Storage } from '@ionic/storage';\n\nimport { CardItem } from '../pages/search/search';\nimport { Promise } from 'q';\nimport { setTimeout } from 'timers';\n\nimport { Output, EventEmitter } from '@angular/core';\n\nexport const DEFAULT_USER_NAME = 'john_doe';\n\n@Injectable()\nexport class ProfileService {\n @Output()\n onSavedPagesChanged = new EventEmitter();\n\n @Output()\n onLocalStorageLoaded = new EventEmitter();\n\n localProfile: User;\n remoteProfile: fbObject | null;\n isWeb: boolean;\n url: string;\n needsSync = false;\n firebaseUser: firebase.User;\n remoteLoggedIn: boolean;\n localIsLoaded: boolean;\n last: CardItem;\n title: string;\n\n searchHistory: string[] = [];\n\n constructor(private local: Storage, private db: AngularFireDatabase, public firebaseAuth: AngularFireAuth) {\n this.url = document.URL;\n this.isWeb = document.URL.startsWith('http') && !document.URL.startsWith('http://localhost:8080');\n this.localIsLoaded = false;\n\n this.local.get('searchHistory').then(v => {\n if (v === null) {\n this.searchHistory = [];\n } else {\n this.searchHistory = v;\n }\n });\n\n // asyncrounosly kick off a poller that does the work of syncing remotely when the\n // profile needs to be synced.\n (function poll(self) {\n setTimeout(function() {\n // Setup the next poll recursively\n if (self.needsSync) {\n // do the sync here.\n // If we have a remote profile then save it there too\n if (self.remoteProfile && self.localProfile.uid) {\n let st = new Date();\n console.log('Saving the remote profile...');\n self.remoteProfile.ref.set(self.localProfile);\n console.log(' Finished saving remote profile. ' + self.elapsed(st, new Date()) + 'ms');\n self.needsSync = false;\n }\n }\n\n poll(self);\n }, 2000);\n })(this);\n\n this.local.get('profile').then(json_profile => {\n let t = this.profile();\n\n if (json_profile !== null) t = JSON.parse(json_profile);\n\n this.localProfile = t;\n this.localIsLoaded = true;\n this.onLocalStorageLoaded.emit(this.localProfile);\n });\n\n this.firebaseAuth.authState.subscribe(state => {\n this.subscribeToRemoteProfile(this.db, state);\n });\n }\n\n addSearchRequestToHistory(qry: string) {\n if (this.searchHistory === null) {\n this.searchHistory = [];\n }\n\n // if the query already exists, remove it so it will be unique\n this.searchHistory = this.searchHistory.filter(v => v !== qry);\n\n // put it at the top.\n this.searchHistory.unshift(qry);\n\n // no more than 5.\n if (this.searchHistory.length > 5) {\n this.searchHistory = this.searchHistory.slice(0, 5);\n }\n\n // save it to storage.\n this.local.set('searchHistory', this.searchHistory);\n }\n\n //#region Profile\n\n removeItem(item) {\n const idx = this.profile().items.indexOf(item);\n this.profile().items.splice(idx, 1);\n\n // save the users settings.\n this.save();\n }\n\n addItemToList(item: CardItem) {\n if (this.profile().append_to_bottom) {\n if (this.last != null && this.profile().insert_next_to_item) {\n const idx = this.profile().items.indexOf(this.last);\n this.profile().items.splice(idx + 1, 0, item);\n } else this.profile().items.push(item);\n } else {\n if (this.last != null && this.profile().insert_next_to_item) {\n const idx = this.profile().items.indexOf(this.last);\n this.profile().items.splice(idx, 0, item);\n } else this.profile().items.unshift(item);\n }\n this.last = null;\n }\n\n isOnSearchPage() {\n return this.title !== 'Search';\n }\n\n profile(): User {\n if (!this.localProfile) {\n this.localProfile = ProfileService.createDefaultUser();\n }\n\n return this.localProfile;\n }\n\n subscribeToRemoteProfile(db: AngularFireDatabase, user: firebase.User) {\n // if this is a logout.\n if (user === null) {\n console.log('user signed out from FireBase');\n this.remoteProfile = null; // inform the profile service not to bother\n this.remoteLoggedIn = false;\n return;\n }\n\n console.log('subscribeToRemoteProfile');\n if (!user || this.firebaseUser) return;\n console.log('You got the firebase user.');\n let obj = db.object('/settings/' + user.uid);\n this.remoteProfile = {\n ref: obj as AngularFireObject,\n stream: obj.valueChanges() as Observable\n };\n this.firebaseUser = user;\n this.profile().username = user.displayName;\n this.profile().uid = user.uid;\n\n this.remoteProfile.stream.subscribe(\n user => this.handleRemotePreferenceChange(user),\n error => console.log(error)\n );\n }\n\n comparePage(a: SavedPage, b: SavedPage) {\n if (a.title > b.title) return 1;\n if (a.title === b.title) return 0;\n if (a.title < b.title) return -1;\n }\n\n handleRemotePreferenceChange(user: User) {\n console.log('handleRemotePreferenceChange');\n if (user) {\n let changed = false;\n if (user.saved_pages !== undefined) {\n this.localProfile.saved_pages = user.saved_pages;\n changed = true;\n }\n\n if (this.profile().sync_search_items) {\n if (user === undefined || user.items === undefined) {\n this.localProfile.items = [];\n } else {\n this.localProfile.items = user.items;\n }\n changed = true;\n }\n\n // don't sync things that don't make sense.\n if (user.uid !== undefined && this.profile().uid !== user.uid) {\n this.profile().uid = user.uid;\n changed = true;\n }\n if (user.username !== undefined && this.profile().username !== user.username) {\n this.profile().username = user.username;\n changed = true;\n }\n // We only save the local change here since this is an update from our remote profile.\n if (changed) {\n this.localSave();\n }\n this.onSavedPagesChanged.emit(user.saved_pages);\n } else {\n this.save();\n }\n }\n\n currentUser(): firebase.User {\n return this.firebaseAuth.auth.currentUser;\n }\n\n authenticate() {\n console.log('Authenticating to remote...');\n let provider = new firebase.auth.GoogleAuthProvider();\n if (this.isWeb) {\n this.firebaseAuth.auth.signInWithPopup(provider);\n } else {\n firebase\n .auth()\n .signInWithRedirect(provider)\n .then(function() {\n return firebase.auth().getRedirectResult();\n })\n .catch(function(error) {\n // Handle Errors here.\n console.log(error);\n });\n }\n this.remoteLoggedIn = true;\n }\n\n refresh() {\n console.log('refresh');\n this.logout();\n this.authenticate();\n }\n\n logout() {\n console.log('logout');\n this.firebaseAuth.auth.signOut(); // sign out\n this.remoteProfile = null; // inform the profile service not to bother\n this.remoteLoggedIn = false;\n }\n\n save() {\n this.localSave();\n this.needsSync = true;\n }\n\n localSave() {\n console.log('saving local');\n this.local.set('profile', JSON.stringify(this.profile()));\n }\n\n private elapsed(start: Date, finish: Date) {\n let difference = new Date();\n difference.setTime(finish.getTime() - start.getTime());\n return difference.getMilliseconds();\n }\n\n // this function updates a user object, in case new properties have been introduced\n // in a release.\n update(t: User): boolean {\n let updated = false;\n let k;\n const user = this.profile();\n for (k in user) {\n if (user.hasOwnProperty(k)) {\n if (t[k] === undefined) {\n t[k] = user[k];\n updated = true;\n }\n }\n }\n\n for (k in user) if (user.hasOwnProperty(k)) user[k] = t[k];\n\n this.textSizeChanged();\n this.fontFamilyChanged();\n return updated;\n }\n\n private resetUser() {\n this.profile().strongs_modal = true;\n this.profile().items = [];\n this.profile().append_to_bottom = false;\n this.profile().insert_next_to_item = false;\n this.profile().font_size = 10;\n this.profile().saved_pages = [];\n this.profile().verses_on_new_line = true;\n this.profile().show_verse_numbers = true;\n this.profile().show_paragraph_headings = true;\n this.profile().show_paragraphs = true;\n this.profile().sync_search_items = false;\n }\n\n reset() {\n this.resetUser();\n this.remoteProfile.ref.set(this.profile());\n this.save();\n }\n\n removePage(page: SavedPage) {\n let idx = this.profile().saved_pages.indexOf(page);\n this.profile().saved_pages.splice(idx, 1);\n this.onSavedPagesChanged.emit(this.localProfile.saved_pages);\n\n // Sync with remote\n this.save();\n }\n\n // TODO(jwall): This belongs somewhere else.\n textSizeChanged() {\n $('html').css('font-size', this.profile().font_size + 'px');\n }\n\n fontFamilyChanged() {\n document.querySelector('html').style.cssText = '--card-font: ' + this.profile().font_family;\n this.textSizeChanged();\n }\n\n static createDefaultUser(): User {\n return {\n username: DEFAULT_USER_NAME,\n uid: null,\n font_size: 10,\n font_family: 'roboto, helvetica, arial, sans-serif',\n saved_pages: [],\n items: [],\n strongs_modal: true,\n append_to_bottom: false,\n insert_next_to_item: false,\n\n verses_on_new_line: false,\n show_verse_numbers: true,\n show_paragraphs: true,\n show_paragraph_headings: true,\n sync_search_items: false\n };\n }\n //#endregion\n}\n\ntype fbObject = {\n ref: AngularFireObject;\n stream: Observable;\n};\n\nexport type User = {\n username: string;\n uid: string | null;\n strongs_modal: boolean;\n items: CardItem[];\n append_to_bottom: boolean;\n insert_next_to_item: boolean;\n font_size: number;\n font_family: string;\n saved_pages: SavedPage[];\n verses_on_new_line: boolean;\n show_verse_numbers: boolean;\n show_paragraphs: boolean;\n show_paragraph_headings: boolean;\n sync_search_items: boolean;\n};\n\nexport type SavedPage = {\n queries: CardItem[];\n title: string;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/profile-service.ts","import { EventEmitter, Component, Output, OnInit } from \"@angular/core\";\nimport { NavParams, ViewController } from \"ionic-angular\";\nimport { Reference } from \"../../libs/Reference\";\nimport { StrongsResult, StrongsService } from \"../../services/strongs-service\";\n\n@Component({\n selector: \"strongs-modal\",\n templateUrl: \"strongs-modal.html\",\n providers: [StrongsService]\n})\nexport class StrongsModal implements OnInit {\n sn: string;\n dict: string;\n items: StrongsResult[];\n\n @Output()\n onItemClicked = new EventEmitter();\n\n constructor(\n private _strongsService: StrongsService,\n private _params: NavParams,\n private _viewCtrl: ViewController\n ) {\n this.sn = this._params.get(\"sn\") as string;\n this.dict = this._params.get(\"dict\") as string;\n this.onItemClicked.subscribe(item => {\n let pg = this._params.get(\"onItemClicked\");\n pg.updateUIwithItems(item, false);\n });\n }\n\n async ngOnInit() {\n this.items = [];\n const numbers = this.sn.split(\" \");\n for (const sn of numbers) {\n let data = await this._strongsService.getResultAsPromise(parseInt(sn), this.dict);\n this.items.push(data);\n }\n }\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n\n openItem(p: string) {\n this.onItemClicked.emit(p);\n this.dismiss();\n }\n\n makePassage(p: string) {\n return Reference.bookName(parseInt(p.split(\";\")[0])).name + \" \" + p.split(\";\")[1] + \":\" + p.split(\";\")[2];\n }\n\n openPassage(p: string) {\n let ref = this.makePassage(p);\n this.onItemClicked.emit(ref);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs-modal/strongs-modal.ts","/// \r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StrongsService\r\n{\r\n result: StrongsResult;\r\n count = 0;\r\n\r\n constructor()\r\n {\r\n }\r\n\r\n getResultAsPromise(sn: number, dict: string): Promise\r\n {\r\n return new Promise((resolve, reject) => { resolve(this.getResult(sn, dict)); });\r\n }\r\n\r\n getResult(sn: number, dict: string): StrongsResult\r\n {\r\n const self = this;\r\n this.result = {\r\n prefix: '',\r\n sn: -1,\r\n strongs: [],\r\n def: null,\r\n rmac: null,\r\n crossrefs: null,\r\n rmaccode: '',\r\n status: 0,\r\n msg: ':)'\r\n };\r\n let url = dict + Math.ceil(sn / 100) + '.json';\r\n if (dict === 'grk')\r\n {\r\n self.result.prefix = 'G';\r\n if (sn > 5624 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number G' + sn + ' is out of range. Strong\\'s numbers range from 1 - 5624 in the New Testament.';\r\n }\r\n }\r\n else\r\n {\r\n self.result.prefix = 'H';\r\n if (sn > 8674 || sn < 1)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Strong\\'s Number H' + sn + ' is out of range. Strong\\'s numbers range from 1 - 8674 in the Old Testament.';\r\n }\r\n }\r\n this.result.sn = sn;\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongs/' + url,\r\n dataType: 'json',\r\n success(d: StrongsDefinition[], t, x)\r\n {\r\n self.result.strongs = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Data for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n self.result.def = self.result.strongs.find(el => (el.i === this.result.prefix + this.result.sn));\r\n self.result.strongs = [];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/strongscr/cr' + url,\r\n dataType: 'json',\r\n success(d: StrongsCrossReference[], t, x)\r\n {\r\n for (let cr of d)\r\n {\r\n if (cr.id.toUpperCase() === self.result.prefix + self.result.sn)\r\n {\r\n self.result.crossrefs = cr;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve Strong\\'s Cross References for ' + self.result.prefix + self.result.sn;\r\n }\r\n });\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n if (dict === 'grk')\r\n {\r\n url = 'data/rmac/rs' + (Math.ceil(sn / 1000)) + '.json';\r\n let rmac_cross_references: RMACCrossReference[];\r\n\r\n // rmac is a two get process.\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACCrossReference[], t, x)\r\n {\r\n rmac_cross_references = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // deal with RMAC\r\n let tmp = $.grep(rmac_cross_references, (el, i) => { return el.i === sn + ''; });\r\n if (tmp.length === 0)\r\n return this.result;\r\n\r\n this.result.rmaccode = tmp[0].r;\r\n if (this.result.rmaccode !== undefined)\r\n {\r\n url = `data/rmac/r-${this.result.rmaccode.substring(0, 1)}.json`;\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: RMACDefinition[], t, x)\r\n {\r\n for (let rmac of d)\r\n {\r\n if (rmac.id.toLowerCase() === self.result.rmaccode)\r\n {\r\n self.result.rmac = rmac;\r\n break;\r\n }\r\n }\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n }\r\n }\r\n return this.result;\r\n }\r\n}\r\nexport type StrongsResult =\r\n {\r\n prefix: string,\r\n sn: number,\r\n strongs: StrongsDefinition[],\r\n def: StrongsDefinition,\r\n rmac: RMACDefinition,\r\n crossrefs: StrongsCrossReference,\r\n rmaccode: string,\r\n status: number,\r\n msg: string,\r\n };\r\n\r\ntype StrongsDefinition = { n: number, i: string, tr: string, de: StrongsDefinitionPart[], lemma: string, p: string }\r\ntype StrongsDefinitionPart = { sn: string, w: string }\r\ntype StrongsCrossReference =\r\n {\r\n id: string, // strongs id H1|G1\r\n t: string, // strongs testament grk|heb\r\n d: string, // strongs word/data Aaron {ah-ar-ohn'}\r\n ss: [\r\n {\r\n w: string,\r\n rs: [\r\n { r: string }\r\n ],\r\n }\r\n ],\r\n }\r\n\r\ntype RMACDefinition = { id: string, d: string[] }\r\n\r\ntype RMACCrossReference = { i: string, r: string }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/strongs-service.ts","import { EventEmitter, Component, Output, OnInit } from '@angular/core';\nimport { NavParams, ViewController } from 'ionic-angular';\nimport { Book, Reference } from '../../libs/Reference';\n\n@Component({\n selector: 'verse-picker',\n templateUrl: 'verse-picker.html'\n})\nexport class VersePickerModal\n{\n @Output()\n onItemClicked = new EventEmitter();\n books: Array;\n hasBook = false;\n book: Book;\n\n constructor(\n private _params: NavParams,\n private _viewCtrl: ViewController\n )\n {\n this.hasBook = false;\n this.books = Reference.Books;\n this.onItemClicked.subscribe(item =>\n {\n let pg = this._params.get('onItemClicked');\n pg.updateUIwithItems(item, false);\n });\n }\n\n toBooks()\n {\n this.hasBook = false;\n this.book = null;\n }\n\n dismiss()\n {\n this._viewCtrl.dismiss();\n }\n setBook(book: Book)\n {\n this.hasBook = true;\n this.book = book;\n }\n setChapter(chapter: number)\n {\n // close the control, trigger the passage event.\n this.onItemClicked.emit(this.book.name + ' ' + chapter);\n this.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/verse-picker/verse-picker.ts","\nexport const PageTitles = {\n Search: 'Search',\n Help: 'Help',\n Settings: 'Settings'\n }\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Constants.ts","import { Component } from '@angular/core';\nimport { ViewController, AlertController } from 'ionic-angular';\nimport { ProfileService, SavedPage } from '../../services/profile-service';\n\n@Component({\n selector: 'settings-modal',\n templateUrl: 'settings-modal.html'\n})\nexport class SettingsModal {\n constructor(\n private _alertCtrl: AlertController,\n private _viewCtrl: ViewController,\n private _profileService: ProfileService\n ) {}\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n\n removePage(page: SavedPage) {\n let alert = this._alertCtrl.create({\n title: 'Confirm Delete',\n message: 'Do you want to delete the ' + page.title + ' page?',\n buttons: [\n {\n text: 'Cancel',\n role: 'cancel',\n handler: () => {\n console.log('Cancel clicked');\n }\n },\n {\n text: 'Ok',\n handler: () => {\n this._profileService.removePage(page);\n }\n }\n ]\n });\n alert.present();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/settings-modal/settings-modal.ts","import { Component } from '@angular/core';\nimport { ViewController } from 'ionic-angular';\n\n@Component({\n selector: 'about-modal',\n templateUrl: 'about-modal.html'\n})\nexport class AboutModal {\n constructor(private _viewCtrl: ViewController) {}\n\n dismiss() {\n this._viewCtrl.dismiss();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/about-modal/about-modal.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport {enableProdMode} from '@angular/core';\n\nenableProdMode();\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { ProfileService } from './../services/profile-service';\nimport { NgModule, ErrorHandler } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { HttpModule } from '@angular/http';\n\nimport { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';\nimport { IonicStorageModule } from '@ionic/storage';\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\n\nimport { MyApp } from './app.component';\n\nimport { SearchPage } from '../pages/search/search';\n\nimport { Passage } from '../components/passage/passage';\nimport { Strongs } from '../components/strongs/strongs';\nimport { Words } from '../components/words/words';\nimport { Error } from '../components/error/error';\nimport { Settings } from '../components/settings/settings';\nimport { StrongsModal } from '../components/strongs-modal/strongs-modal';\nimport { ErrorMessage } from '../components/error-message/error-message';\nimport { VersePickerModal } from '../components/verse-picker/verse-picker';\nimport { AboutModal } from '../components/about-modal/about-modal';\nimport { SettingsModal } from '../components/settings-modal/settings-modal';\n\nimport { AngularFireModule } from 'angularfire2';\nimport { AngularFireAuthModule } from 'angularfire2/auth';\nimport { AngularFireDatabaseModule } from 'angularfire2/database';\n\nimport { AutoCompleteModule } from 'ionic2-auto-complete';\nimport { PagesService } from '../services/pages-service';\n\nexport const firebaseConfig = {\n apiKey: 'AIzaSyA3UV4s56CV2EumgvZmyJBTyU-vhv0xhc8',\n authDomain: 'dynamicbible-7c6cf.firebaseapp.com',\n databaseURL: 'https://dynamicbible-7c6cf.firebaseio.com',\n projectId: 'dynamicbible-7c6cf',\n // TODO(jwall): What is a storage bucket?\n storageBucket: '',\n messagingSenderId: '200739882604'\n};\n\n@NgModule({\n declarations: [\n MyApp,\n SearchPage,\n AboutModal,\n SettingsModal,\n Settings,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n imports: [\n IonicModule.forRoot(MyApp),\n IonicStorageModule.forRoot(),\n BrowserModule,\n HttpClientModule,\n HttpModule,\n AngularFireModule.initializeApp(firebaseConfig),\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n AutoCompleteModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n SearchPage,\n AboutModal,\n SettingsModal,\n Settings,\n Passage,\n Strongs,\n StrongsModal,\n VersePickerModal,\n Words,\n Error,\n ErrorMessage\n ],\n providers: [{ provide: ErrorHandler, useClass: IonicErrorHandler }, StatusBar, SplashScreen, ProfileService, PagesService]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","// This code was written by Jeremy and Jason Wall.\n// Feel free to use, and if you can, include a link back to www.walljm.com\n// Jason@walljm.com // www.walljm.com\n// Jeremy@marzhillstudios.com // jeremy.marzhillstudios.com\n\nclass StringUtils {\n public static trim(str: string): string {\n return str.replace(/^\\s+|\\s+$/g, \"\");\n }\n\n public static ltrim(str: string): string {\n return str.replace(/^\\s+/, \"\");\n }\n\n public static rtrim(str: string): string {\n return str.replace(/\\s+$/, \"\");\n }\n}\n\nexport class Reference {\n private ref: string;\n Section: Section;\n errAcc: string;\n\n constructor(reference: string) {\n this.Section = {\n start: {\n book: null,\n chapter: \"\",\n verse: \"\"\n },\n end: {\n book: null,\n chapter: \"\",\n verse: \"\"\n }\n };\n this.ref = reference.toLowerCase().trim();\n this.parseReference();\n\n if (this.Section.end.book === null) {\n this.Section.end.book = this.Section.start.book;\n }\n\n if (this.Section.end.chapter === \"\") this.Section.end.chapter = this.Section.start.chapter;\n if (\n Number(this.Section.start.verse) > Number(this.Section.end.verse) &&\n this.Section.start.chapter === this.Section.end.chapter &&\n this.Section.start.book.name === this.Section.end.book.name\n )\n this.Section.end.verse = this.Section.start.verse;\n if (this.Section.start.verse === \"\") this.Section.start.verse = \"1\";\n if (this.Section.end.verse === \"\") this.Section.end.verse = \"*\";\n }\n\n private parseReference() {\n this.parseNumberReference();\n if (this.ref.length === 0) {\n return;\n }\n this.parseBook(false);\n this.parseFirstNum(false);\n const foundFirstVerse = this.ref.search(/:.*-/) !== -1;\n this.maybeParseSecondNum(false);\n this.maybeParseRangeSep();\n const foundSecondBook = this.ref.search(/\\w\\s+\\d/i) !== -1;\n\n this.maybeParseBook(true);\n this.maybeParseFirstNumOrVerse(foundSecondBook, foundFirstVerse, true);\n this.maybeParseSecondNum(true);\n }\n\n private parseNumberReference() {\n this.ref = this.ref.toLowerCase().trim();\n const parts = this.ref.split(\":\");\n if (parts.length === 3 && parts.every(i => parseInt(i) > 0)) {\n let fbook = Reference.bookName(parseInt(parts[0]));\n this.Section.end.book = fbook;\n this.Section.start.book = fbook;\n\n let fch = parts[1];\n this.Section.end.chapter = fch;\n this.Section.start.chapter = fch;\n\n let fv = parts[2];\n this.Section.end.verse = fv;\n this.Section.start.verse = fv;\n\n this.ref = \"\";\n }\n }\n\n private parseBook(isEnd?: boolean) {\n this.ref = this.ref.toLowerCase().trim();\n\n let fbook = this.ref.substring(0, this.ref.search(/\\w\\s+\\d/i) + 1);\n if (!fbook) fbook = this.ref;\n this.ref = this.ref.slice(this.ref.search(/\\w\\s+\\d/i) + 1);\n if (isEnd) this.Section.end.book = Reference.parseBook(fbook);\n else this.Section.start.book = Reference.parseBook(fbook);\n }\n\n private parseFirstNum(isEnd: boolean) {\n let thing = this.Section.start;\n if (isEnd) thing = this.Section.end;\n\n this.ref = StringUtils.ltrim(this.ref);\n let found = false;\n for (let i = 0; i <= this.ref.length; i++) {\n const c = this.ref.charAt(i);\n // Grab characters until we hit a non digit.\n if (\"0\".charAt(0) <= c && c <= \"9\".charAt(0)) {\n found = true;\n thing.chapter = thing.chapter.concat(c);\n } else {\n // if the chapter is longer than 3 digits it's an error\n if (thing.chapter.length > 3) {\n this.errAcc = 'Chapter too long\"' + thing.chapter + '\".';\n return;\n } else if (!found) {\n this.errAcc = \"No chapter found\" + this.ref;\n }\n this.ref = this.ref.slice(i);\n return;\n }\n }\n }\n\n private parseSecondNum(skipColon?: boolean, isEnd?: boolean) {\n let thing = this.Section.start;\n if (isEnd) thing = this.Section.end;\n\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (!skipColon) {\n if (this.ref[0] !== \":\") {\n return;\n }\n this.ref = this.ref.slice(1);\n }\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (this.ref[0] === \"*\") {\n thing.verse = \"*\";\n this.ref = this.ref.slice(1);\n return;\n }\n for (let i = 0; i <= this.ref.length; i++) {\n const c = this.ref.charAt(i);\n if (\"0\".charAt(0) <= c && c <= \"9\".charAt(0)) {\n thing.verse = thing.verse.concat(c);\n } else {\n if (thing.verse.length > 3) {\n this.errAcc = 'Verse too long \"' + thing.verse + '\".';\n return;\n }\n this.ref = this.ref.slice(i);\n return;\n }\n }\n }\n\n private maybeParseBook(isEnd: boolean) {\n return this.maybeDo(() => {\n if (this.ref.search(/\\w\\s+\\d/i) === -1) {\n this.Section.end.book = this.Section.start.book;\n } else {\n this.parseBook(isEnd);\n }\n });\n }\n\n private maybeParseSecondNum(isEnd?: boolean) {\n return this.maybeDo(() => {\n this.parseSecondNum(false, isEnd);\n });\n }\n\n private maybeParseFirstNumOrVerse(foundSecondBook: boolean, foundFirstVerse: boolean, isEnd: boolean) {\n const self = this;\n return this.maybeDo(() => {\n if (self.Section.end.book.name === self.Section.start.book.name) {\n if (self.ref.search(/:/) !== -1 || foundSecondBook || !foundFirstVerse) {\n self.parseFirstNum(isEnd);\n }\n self.parseSecondNum(true, isEnd);\n }\n });\n }\n\n private maybeParseRangeSep() {\n const self = this;\n return this.maybeDo(() => {\n if (self.ref[0] === \"-\") {\n self.ref = StringUtils.ltrim(self.ref.slice(1));\n }\n });\n }\n\n private maybeDo(f) {\n const func = f;\n this.ref = StringUtils.ltrim(this.ref.toLowerCase());\n if (this.ref !== \"\") {\n func();\n }\n }\n\n public toString() {\n // get the starting book, chapter, verse\n return Reference.toString(this.Section);\n }\n\n public static parseBook(fbook: string): Book {\n if (fbook.search(/\\b(genesis|gen|ge|gn)\\b/i) !== -1) {\n return this.bookName(1);\n }\n if (fbook.search(/\\b(exodus|ex|exo|exod|exd)\\b/i) !== -1) {\n return this.bookName(2);\n }\n if (fbook.search(/\\b(leviticus|lev|le|levi|lv)\\b/i) !== -1) {\n return this.bookName(3);\n }\n if (fbook.search(/\\b(numbers|num|nu|numb|number)\\b/i) !== -1) {\n return this.bookName(4);\n }\n if (fbook.search(/\\b(deuteronomy|deut|de|dt|deu)\\b/i) !== -1) {\n return this.bookName(5);\n }\n if (fbook.search(/\\b(joshua|josh|jos)\\b/i) !== -1) {\n return this.bookName(6);\n }\n if (fbook.search(/\\b(judges|jud|jdg|judg)\\b/i) !== -1) {\n return this.bookName(7);\n }\n if (fbook.search(/\\b(ruth|ru)\\b/i) !== -1) {\n return this.bookName(8);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(samuel|sa|sam|sml)\\b/i) !== -1) {\n return this.bookName(9);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(samuel|sa|sam|sml)\\b/i) !== -1) {\n return this.bookName(10);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1) {\n return this.bookName(11);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(kings|king|kgs|kn|k|ki)\\b/i) !== -1) {\n return this.bookName(12);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1) {\n return this.bookName(13);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(chronicles|chron|ch|chr)\\b/i) !== -1) {\n return this.bookName(14);\n }\n if (fbook.search(/\\b(ezra|ezr)\\b/i) !== -1) {\n return this.bookName(15);\n }\n if (fbook.search(/\\b(nehemiah|neh|ne|nehamiah)\\b/i) !== -1) {\n return this.bookName(16);\n }\n if (fbook.search(/\\b(esther|est|es|esth)\\b/i) !== -1) {\n return this.bookName(17);\n }\n if (fbook.search(/\\b(job|jo|jb)\\b/i) !== -1) {\n return this.bookName(18);\n }\n if (fbook.search(/\\b(psalms|ps|psa|psalm|psm)\\b/i) !== -1) {\n return this.bookName(19);\n }\n if (fbook.search(/\\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\\b/i) !== -1) {\n return this.bookName(20);\n }\n if (fbook.search(/\\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\\b/i) !== -1) {\n return this.bookName(21);\n }\n if (fbook.search(/\\b(song\\sof\\ssolomon|song\\sof\\ssongs|sos|ss|son|so|song|songs)\\b/i) !== -1) {\n return this.bookName(22);\n }\n if (fbook.search(/\\b(isaiah|is|isah|isai|ia)\\b/i) !== -1) {\n return this.bookName(23);\n }\n if (fbook.search(/\\b(jerimiah|jeremiah|jer|je|jere)\\b/i) !== -1) {\n return this.bookName(24);\n }\n if (fbook.search(/\\b(lamentations|lam|la|lamentation)\\b/i) !== -1) {\n return this.bookName(25);\n }\n if (fbook.search(/\\b(ezekiel|eze|ezk|ezek)\\b/i) !== -1) {\n return this.bookName(26);\n }\n if (fbook.search(/\\b(daniel|dan|dn|dl|da)\\b/i) !== -1) {\n return this.bookName(27);\n }\n if (fbook.search(/\\b(hosea|hos|ho)\\b/i) !== -1) {\n return this.bookName(28);\n }\n if (fbook.search(/\\b(joel|joe|jl)\\b/i) !== -1) {\n return this.bookName(29);\n }\n if (fbook.search(/\\b(amos|am|amo)\\b/i) !== -1) {\n return this.bookName(30);\n }\n if (fbook.search(/\\b(obadiah|oba|ob|obad)\\b/i) !== -1) {\n return this.bookName(31);\n }\n if (fbook.search(/\\b(jonah|jnh|jon)\\b/i) !== -1) {\n return this.bookName(32);\n }\n if (fbook.search(/\\b(micah|mic|mi)\\b/i) !== -1) {\n return this.bookName(33);\n }\n if (fbook.search(/\\b(nahum|nah|na)\\b/i) !== -1) {\n return this.bookName(34);\n }\n if (fbook.search(/\\b(habakkuk|hab|ha|habakuk)\\b/i) !== -1) {\n return this.bookName(35);\n }\n if (fbook.search(/\\b(zephaniah|zeph|zep)\\b/i) !== -1) {\n return this.bookName(36);\n }\n if (fbook.search(/\\b(haggia|hag|hg|haggai)\\b/i) !== -1) {\n return this.bookName(37);\n }\n if (fbook.search(/\\b(zechariah|zech|zch|zec)\\b/i) !== -1) {\n return this.bookName(38);\n }\n if (fbook.search(/\\b(malachi|mal)\\b/i) !== -1) {\n return this.bookName(39);\n }\n if (fbook.search(/\\b(matthew|mt|matt|mat)\\b/i) !== -1) {\n return this.bookName(40);\n }\n if (fbook.search(/\\b(mark|mrk|mk|mr)\\b/i) !== -1) {\n return this.bookName(41);\n }\n if (fbook.search(/\\b(luke|lu|lke|luk|lk)\\b/i) !== -1) {\n return this.bookName(42);\n }\n // must come before the Gospel of John\n if (fbook.search(/\\b(1|i|1st|first)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(62);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(63);\n }\n if (fbook.search(/\\b(3|iii|3rd|third)\\s*(john|jn|jo)\\b/i) !== -1) {\n return this.bookName(64);\n }\n // 1, 2, and 3rd John need to come before this one, else this will catch those book references.\n if (fbook.search(/\\b(john|jn|jhn)\\b/i) !== -1) {\n return this.bookName(43);\n }\n if (fbook.search(/\\b(acts|ac|act)\\b/i) !== -1) {\n return this.bookName(44);\n }\n if (fbook.search(/\\b(romans|rom|ro|rm|roman)\\b/i) !== -1) {\n return this.bookName(45);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1) {\n return this.bookName(46);\n }\n if (\n fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\\b/i) !== -1\n ) {\n return this.bookName(47);\n }\n if (fbook.search(/\\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\\b/i) !== -1) {\n return this.bookName(48);\n }\n if (fbook.search(/\\b(ephesians|eph|ep|ephes|ephe|ephs)\\b/i) !== -1) {\n return this.bookName(49);\n }\n if (fbook.search(/\\b(philippians|phi|phil|ph|philip)\\b/i) !== -1) {\n return this.bookName(50);\n }\n if (fbook.search(/\\b(colossians|col|co|colossian|colos|coloss)\\b/i) !== -1) {\n return this.bookName(51);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1) {\n return this.bookName(52);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\\b/i) !== -1) {\n return this.bookName(53);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(timothy|tim|ti|timoth|tm)\\b/i) !== -1) {\n return this.bookName(54);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(timothy|tim|timoth|tm)\\b/i) !== -1) {\n return this.bookName(55);\n }\n if (fbook.search(/\\b(titus|tit)\\b/i) !== -1) {\n return this.bookName(56);\n }\n if (fbook.search(/\\b(philemon|phlmn|phl|phm|phile|philem)\\b/i) !== -1) {\n return this.bookName(57);\n }\n if (fbook.search(/\\b(hebrews|heb|he|hebrew)\\b/i) !== -1) {\n return this.bookName(58);\n }\n if (fbook.search(/\\b(james|jam|ja|jas|jms|jame|jm)\\b/i) !== -1) {\n return this.bookName(59);\n }\n if (fbook.search(/\\b(1|i|1st|first)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1) {\n return this.bookName(60);\n }\n if (fbook.search(/\\b(2|ii|2nd|second|sec)\\s*(peter|pe|pet|pete|pt|p)\\b/i) !== -1) {\n return this.bookName(61);\n }\n if (fbook.search(/\\b(jude|ju)\\b/i) !== -1) {\n return this.bookName(65);\n }\n if (fbook.search(/\\b(revelation|rev|re|revelations|rv)\\b/i) !== -1) {\n return this.bookName(66);\n }\n\n return this.bookName(0);\n }\n\n public static toString(section: Section) {\n // get the starting book, chapter, verse\n let ref = section.start.book.name\n .concat(\" \")\n .concat(section.start.chapter)\n .concat(\":\")\n .concat(section.start.verse);\n\n if (\n section.start.chapter === section.end.chapter &&\n section.start.verse === section.end.verse &&\n section.start.book.name === section.end.book.name\n ) {\n return ref;\n }\n\n if (\n section.start.chapter === section.end.chapter &&\n section.start.verse !== section.end.verse &&\n section.start.book.name === section.end.book.name\n ) {\n return ref.concat(\" - \").concat(section.end.verse);\n }\n\n if (section.start.book.name !== section.end.book.name) {\n ref = ref\n .concat(\" - \")\n .concat(section.end.book.name)\n .concat(\" \");\n } else {\n ref = ref.concat(\" - \");\n }\n\n ref = ref.concat(section.end.chapter).concat(\":\");\n\n return ref.concat(section.end.verse);\n }\n\n public static Books: Array = [\n {\n name: \"Unknown\",\n short_name: \"Unk\",\n long_name: \"Unknown\",\n book_number: 0,\n last_chapter: 0,\n chapters: [0]\n },\n {\n name: \"Genesis\",\n short_name: \"Gen\",\n long_name: \"Book of Genesis\",\n book_number: 1,\n last_chapter: 66,\n chapters: [\n 0,\n 31,\n 25,\n 24,\n 26,\n 32,\n 22,\n 24,\n 22,\n 29,\n 32,\n 32,\n 20,\n 18,\n 24,\n 21,\n 16,\n 27,\n 33,\n 38,\n 18,\n 34,\n 24,\n 20,\n 67,\n 34,\n 35,\n 46,\n 22,\n 35,\n 43,\n 55,\n 32,\n 20,\n 31,\n 29,\n 43,\n 36,\n 30,\n 23,\n 23,\n 57,\n 38,\n 34,\n 34,\n 28,\n 34,\n 31,\n 22,\n 33,\n 26\n ]\n },\n {\n book_number: 2,\n short_name: \"Exo\",\n name: \"Exodus\",\n long_name: \"Book of Exodus\",\n last_chapter: 40,\n chapters: [\n 0,\n 22,\n 25,\n 22,\n 31,\n 23,\n 30,\n 25,\n 32,\n 35,\n 29,\n 10,\n 51,\n 22,\n 31,\n 27,\n 36,\n 16,\n 27,\n 25,\n 26,\n 36,\n 31,\n 33,\n 18,\n 40,\n 37,\n 21,\n 43,\n 46,\n 38,\n 18,\n 35,\n 23,\n 35,\n 35,\n 38,\n 29,\n 31,\n 43,\n 38\n ]\n },\n {\n book_number: 3,\n name: \"Leviticus\",\n short_name: \"Lev\",\n long_name: \"Leviticus\",\n last_chapter: 27,\n chapters: [\n 0,\n 17,\n 16,\n 17,\n 35,\n 19,\n 30,\n 38,\n 36,\n 24,\n 20,\n 47,\n 8,\n 59,\n 57,\n 33,\n 34,\n 16,\n 30,\n 37,\n 27,\n 24,\n 33,\n 44,\n 23,\n 55,\n 46,\n 34\n ]\n },\n {\n book_number: 4,\n name: \"Numbers\",\n short_name: \"Num\",\n long_name: \"Book of Numbers\",\n last_chapter: 36,\n chapters: [\n 0,\n 54,\n 34,\n 51,\n 49,\n 31,\n 27,\n 89,\n 26,\n 23,\n 36,\n 35,\n 16,\n 33,\n 45,\n 41,\n 50,\n 13,\n 32,\n 22,\n 29,\n 35,\n 41,\n 30,\n 25,\n 18,\n 65,\n 23,\n 31,\n 40,\n 16,\n 54,\n 42,\n 56,\n 29,\n 34,\n 13\n ]\n },\n {\n book_number: 5,\n name: \"Deuteronomy\",\n short_name: \"Deut\",\n long_name: \"Book of Deuteronomy\",\n last_chapter: 34,\n chapters: [\n 0,\n 46,\n 37,\n 29,\n 49,\n 33,\n 25,\n 26,\n 20,\n 29,\n 22,\n 32,\n 32,\n 18,\n 29,\n 23,\n 22,\n 20,\n 22,\n 21,\n 20,\n 23,\n 30,\n 25,\n 22,\n 19,\n 19,\n 26,\n 68,\n 29,\n 20,\n 30,\n 52,\n 29,\n 12\n ]\n },\n {\n book_number: 6,\n name: \"Joshua\",\n short_name: \"Josh\",\n long_name: \"Book of Joshua\",\n last_chapter: 24,\n chapters: [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]\n },\n {\n book_number: 7,\n name: \"Judges\",\n short_name: \"Jud\",\n long_name: \"Book of Judges\",\n last_chapter: 21,\n chapters: [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]\n },\n {\n book_number: 8,\n name: \"Ruth\",\n short_name: \"Ruth\",\n long_name: \"Book of Ruth\",\n last_chapter: 4,\n chapters: [0, 22, 23, 18, 22]\n },\n {\n book_number: 9,\n name: \"1 Samuel\",\n short_name: \"1 Sam\",\n long_name: \"First Book of Samuel\",\n last_chapter: 31,\n chapters: [\n 0,\n 28,\n 36,\n 21,\n 22,\n 12,\n 21,\n 17,\n 22,\n 27,\n 27,\n 15,\n 25,\n 23,\n 52,\n 35,\n 23,\n 58,\n 30,\n 24,\n 42,\n 15,\n 23,\n 29,\n 22,\n 44,\n 25,\n 12,\n 25,\n 11,\n 31,\n 13\n ]\n },\n {\n book_number: 10,\n name: \"2 Samuel\",\n short_name: \"2 Sam\",\n long_name: \"Second Book of Samuel\",\n last_chapter: 24,\n chapters: [\n 0,\n 27,\n 32,\n 39,\n 12,\n 25,\n 23,\n 29,\n 18,\n 13,\n 19,\n 27,\n 31,\n 39,\n 33,\n 37,\n 23,\n 29,\n 33,\n 43,\n 26,\n 22,\n 51,\n 39,\n 25\n ]\n },\n {\n book_number: 11,\n name: \"1 Kings\",\n short_name: \"1 Kng\",\n long_name: \"First Book of Kings\",\n last_chapter: 22,\n chapters: [0, 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]\n },\n {\n book_number: 12,\n name: \"2 Kings\",\n short_name: \"2 Kng\",\n long_name: \"Second Book of Kings\",\n last_chapter: 25,\n chapters: [\n 0,\n 18,\n 25,\n 27,\n 44,\n 27,\n 33,\n 20,\n 29,\n 37,\n 36,\n 21,\n 21,\n 25,\n 29,\n 38,\n 20,\n 41,\n 37,\n 37,\n 21,\n 26,\n 20,\n 37,\n 20,\n 30\n ]\n },\n {\n book_number: 13,\n name: \"1 Chronicles\",\n short_name: \"1 Chr\",\n long_name: \"First Book of Chronicles\",\n last_chapter: 29,\n chapters: [\n 0,\n 54,\n 55,\n 24,\n 43,\n 26,\n 81,\n 40,\n 40,\n 44,\n 14,\n 47,\n 40,\n 14,\n 17,\n 29,\n 43,\n 27,\n 17,\n 19,\n 8,\n 30,\n 19,\n 32,\n 31,\n 31,\n 32,\n 34,\n 21,\n 30\n ]\n },\n {\n book_number: 14,\n name: \"2 Chronicles\",\n short_name: \"2 Chr\",\n long_name: \"Second Book of Chronicles\",\n last_chapter: 36,\n chapters: [\n 0,\n 17,\n 18,\n 17,\n 22,\n 14,\n 42,\n 22,\n 18,\n 31,\n 19,\n 23,\n 16,\n 22,\n 15,\n 19,\n 14,\n 19,\n 34,\n 11,\n 37,\n 20,\n 12,\n 21,\n 27,\n 28,\n 23,\n 9,\n 27,\n 36,\n 27,\n 21,\n 33,\n 25,\n 33,\n 27,\n 23\n ]\n },\n {\n book_number: 15,\n name: \"Ezra\",\n short_name: \"Ezra\",\n long_name: \"Book of Ezra\",\n last_chapter: 10,\n chapters: [0, 11, 70, 13, 24, 17, 22, 28, 36, 15, 44]\n },\n {\n book_number: 16,\n name: \"Nehemiah\",\n short_name: \"Neh\",\n long_name: \"Book of Nehemiah\",\n last_chapter: 13,\n chapters: [0, 11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]\n },\n {\n book_number: 17,\n name: \"Esther\",\n short_name: \"Esther\",\n long_name: \"Book of Esther\",\n last_chapter: 10,\n chapters: [0, 22, 23, 15, 17, 14, 14, 10, 17, 32, 3]\n },\n {\n book_number: 18,\n name: \"Job\",\n short_name: \"Job\",\n long_name: \"Book of Job\",\n last_chapter: 42,\n chapters: [\n 0,\n 22,\n 13,\n 26,\n 21,\n 27,\n 30,\n 21,\n 22,\n 35,\n 22,\n 20,\n 25,\n 28,\n 22,\n 35,\n 22,\n 16,\n 21,\n 29,\n 29,\n 34,\n 30,\n 17,\n 25,\n 6,\n 14,\n 23,\n 28,\n 25,\n 31,\n 40,\n 22,\n 33,\n 37,\n 16,\n 33,\n 24,\n 41,\n 30,\n 24,\n 34,\n 17\n ]\n },\n {\n book_number: 19,\n name: \"Psalms\",\n short_name: \"Psalm\",\n long_name: \"Book of Psalms\",\n last_chapter: 150,\n chapters: [\n 0,\n 6,\n 12,\n 8,\n 8,\n 12,\n 10,\n 17,\n 9,\n 20,\n 18,\n 7,\n 8,\n 6,\n 7,\n 5,\n 11,\n 15,\n 50,\n 14,\n 9,\n 13,\n 31,\n 6,\n 10,\n 22,\n 12,\n 14,\n 9,\n 11,\n 12,\n 24,\n 11,\n 22,\n 22,\n 28,\n 12,\n 40,\n 22,\n 13,\n 17,\n 13,\n 11,\n 5,\n 26,\n 17,\n 11,\n 9,\n 14,\n 20,\n 23,\n 19,\n 9,\n 6,\n 7,\n 23,\n 13,\n 11,\n 11,\n 17,\n 12,\n 8,\n 12,\n 11,\n 10,\n 13,\n 20,\n 7,\n 35,\n 36,\n 5,\n 24,\n 20,\n 28,\n 23,\n 10,\n 12,\n 20,\n 72,\n 13,\n 19,\n 16,\n 8,\n 18,\n 12,\n 13,\n 17,\n 7,\n 18,\n 52,\n 17,\n 16,\n 15,\n 5,\n 23,\n 11,\n 13,\n 12,\n 9,\n 9,\n 5,\n 8,\n 28,\n 22,\n 35,\n 45,\n 48,\n 43,\n 13,\n 31,\n 7,\n 10,\n 10,\n 9,\n 8,\n 18,\n 19,\n 2,\n 29,\n 176,\n 7,\n 8,\n 9,\n 4,\n 8,\n 5,\n 6,\n 5,\n 6,\n 8,\n 8,\n 3,\n 18,\n 3,\n 3,\n 21,\n 26,\n 9,\n 8,\n 24,\n 13,\n 10,\n 7,\n 12,\n 15,\n 21,\n 10,\n 20,\n 14,\n 9,\n 6\n ]\n },\n {\n book_number: 20,\n name: \"Proverbs\",\n short_name: \"Prov\",\n long_name: \"Book of Proverbs\",\n last_chapter: 31,\n chapters: [\n 0,\n 33,\n 22,\n 35,\n 27,\n 23,\n 35,\n 27,\n 36,\n 18,\n 32,\n 31,\n 28,\n 25,\n 35,\n 33,\n 33,\n 28,\n 24,\n 29,\n 30,\n 31,\n 29,\n 35,\n 34,\n 28,\n 28,\n 27,\n 28,\n 27,\n 33,\n 31\n ]\n },\n {\n book_number: 21,\n name: \"Ecclesiastes\",\n short_name: \"Eccl\",\n long_name: \"Book of Ecclesiastes\",\n last_chapter: 12,\n chapters: [0, 18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]\n },\n {\n book_number: 22,\n name: \"Song of Solomon\",\n short_name: \"Song\",\n long_name: \"Song of Solomon\",\n last_chapter: 8,\n chapters: [0, 17, 17, 11, 16, 16, 13, 13, 14]\n },\n {\n book_number: 23,\n name: \"Isaiah\",\n short_name: \"Isa\",\n long_name: \"Book of Isaiah\",\n last_chapter: 66,\n chapters: [\n 0,\n 31,\n 22,\n 26,\n 6,\n 30,\n 13,\n 25,\n 22,\n 21,\n 34,\n 16,\n 6,\n 22,\n 32,\n 9,\n 14,\n 14,\n 7,\n 25,\n 6,\n 17,\n 25,\n 18,\n 23,\n 12,\n 21,\n 13,\n 29,\n 24,\n 33,\n 9,\n 20,\n 24,\n 17,\n 10,\n 22,\n 38,\n 22,\n 8,\n 31,\n 29,\n 25,\n 28,\n 28,\n 25,\n 13,\n 15,\n 22,\n 26,\n 11,\n 23,\n 15,\n 12,\n 17,\n 13,\n 12,\n 21,\n 14,\n 21,\n 22,\n 11,\n 12,\n 19,\n 12,\n 25,\n 24\n ]\n },\n {\n book_number: 24,\n name: \"Jeremiah\",\n short_name: \"Jer\",\n long_name: \"Book of Jeremiah\",\n last_chapter: 52,\n chapters: [\n 0,\n 19,\n 37,\n 25,\n 31,\n 31,\n 30,\n 34,\n 22,\n 26,\n 25,\n 23,\n 17,\n 27,\n 22,\n 21,\n 21,\n 27,\n 23,\n 15,\n 18,\n 14,\n 30,\n 40,\n 10,\n 38,\n 24,\n 22,\n 17,\n 32,\n 24,\n 40,\n 44,\n 26,\n 22,\n 19,\n 32,\n 21,\n 28,\n 18,\n 16,\n 18,\n 22,\n 13,\n 30,\n 5,\n 28,\n 7,\n 47,\n 39,\n 46,\n 64,\n 34\n ]\n },\n {\n book_number: 25,\n name: \"Lamentations\",\n short_name: \"Lam\",\n long_name: \"Book of Lamentations\",\n last_chapter: 5,\n chapters: [0, 22, 22, 66, 22, 22]\n },\n {\n book_number: 26,\n name: \"Ezekiel\",\n short_name: \"Eze\",\n long_name: \"Book of Ezekiel\",\n last_chapter: 48,\n chapters: [\n 0,\n 28,\n 10,\n 27,\n 17,\n 17,\n 14,\n 27,\n 18,\n 11,\n 22,\n 25,\n 28,\n 23,\n 23,\n 8,\n 63,\n 24,\n 32,\n 14,\n 49,\n 32,\n 31,\n 49,\n 27,\n 17,\n 21,\n 36,\n 26,\n 21,\n 26,\n 18,\n 32,\n 33,\n 31,\n 15,\n 38,\n 28,\n 23,\n 29,\n 49,\n 26,\n 20,\n 27,\n 31,\n 25,\n 24,\n 23,\n 35\n ]\n },\n {\n book_number: 27,\n name: \"Daniel\",\n short_name: \"Dan\",\n long_name: \"Book of Daniel\",\n last_chapter: 12,\n chapters: [0, 21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]\n },\n {\n book_number: 28,\n name: \"Hosea\",\n short_name: \"Hosea\",\n long_name: \"Book of Hosea\",\n last_chapter: 14,\n chapters: [0, 11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]\n },\n {\n book_number: 29,\n name: \"Joel\",\n short_name: \"Joel\",\n long_name: \"Book of Joel\",\n last_chapter: 3,\n chapters: [0, 20, 32, 21]\n },\n {\n book_number: 30,\n name: \"Amos\",\n short_name: \"Amos\",\n long_name: \"Book of Amos\",\n last_chapter: 9,\n chapters: [0, 15, 16, 15, 13, 27, 14, 17, 14, 15]\n },\n {\n book_number: 31,\n name: \"Obadiah\",\n short_name: \"Oba\",\n long_name: \"Book of Obadiah\",\n last_chapter: 1,\n chapters: [0, 21]\n },\n {\n book_number: 32,\n name: \"Jonah\",\n short_name: \"Jonah\",\n long_name: \"Book of Jonah\",\n last_chapter: 4,\n chapters: [0, 17, 10, 10, 11]\n },\n {\n book_number: 33,\n name: \"Micah\",\n short_name: \"Micah\",\n long_name: \"Book of Micah\",\n last_chapter: 7,\n chapters: [0, 16, 13, 12, 13, 15, 16, 20]\n },\n {\n book_number: 34,\n name: \"Nahum\",\n short_name: \"Nahum\",\n long_name: \"Book of Nahum\",\n last_chapter: 3,\n chapters: [0, 15, 13, 19]\n },\n {\n book_number: 35,\n name: \"Habakkuk\",\n short_name: \"Hab\",\n long_name: \"Book of Habakkuk\",\n last_chapter: 3,\n chapters: [0, 17, 20, 19]\n },\n {\n book_number: 36,\n name: \"Zephaniah\",\n short_name: \"Zeph\",\n long_name: \"Book of Zephaniah\",\n last_chapter: 3,\n chapters: [0, 18, 15, 20]\n },\n {\n book_number: 37,\n name: \"Haggai\",\n short_name: \"Hag\",\n long_name: \"Book of Haggai\",\n last_chapter: 2,\n chapters: [0, 15, 23]\n },\n {\n book_number: 38,\n name: \"Zechariah\",\n short_name: \"Zech\",\n long_name: \"Book of Zechariah\",\n last_chapter: 14,\n chapters: [0, 21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]\n },\n {\n book_number: 39,\n name: \"Malachi\",\n short_name: \"Mal\",\n long_name: \"Book of Malachi\",\n last_chapter: 4,\n chapters: [0, 14, 17, 18, 6]\n },\n {\n book_number: 40,\n name: \"Matthew\",\n short_name: \"Matt\",\n long_name: \"Gospel of Matthew\",\n last_chapter: 28,\n chapters: [\n 0,\n 25,\n 23,\n 17,\n 25,\n 48,\n 34,\n 29,\n 34,\n 38,\n 42,\n 30,\n 50,\n 58,\n 36,\n 39,\n 28,\n 27,\n 35,\n 30,\n 34,\n 46,\n 46,\n 39,\n 51,\n 46,\n 75,\n 66,\n 20\n ]\n },\n {\n book_number: 41,\n name: \"Mark\",\n short_name: \"Mark\",\n long_name: \"Gospel of Mark\",\n last_chapter: 16,\n chapters: [0, 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]\n },\n {\n book_number: 42,\n name: \"Luke\",\n short_name: \"Luke\",\n long_name: \"Gospel of Luke\",\n last_chapter: 24,\n chapters: [\n 0,\n 80,\n 52,\n 38,\n 44,\n 39,\n 49,\n 50,\n 56,\n 62,\n 42,\n 54,\n 59,\n 35,\n 35,\n 32,\n 31,\n 37,\n 43,\n 48,\n 47,\n 38,\n 71,\n 56,\n 53\n ]\n },\n {\n book_number: 43,\n name: \"John\",\n short_name: \"John\",\n long_name: \"Gospel of John\",\n last_chapter: 21,\n chapters: [0, 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]\n },\n {\n book_number: 44,\n name: \"Acts\",\n short_name: \"Acts\",\n long_name: \"Acts of the Apostles\",\n last_chapter: 28,\n chapters: [\n 0,\n 26,\n 47,\n 26,\n 37,\n 42,\n 15,\n 60,\n 40,\n 43,\n 48,\n 30,\n 25,\n 52,\n 28,\n 41,\n 40,\n 34,\n 28,\n 41,\n 38,\n 40,\n 30,\n 35,\n 27,\n 27,\n 32,\n 44,\n 31\n ]\n },\n {\n book_number: 45,\n name: \"Romans\",\n short_name: \"Rom\",\n long_name: \"Epistle to the Romans\",\n last_chapter: 16,\n chapters: [0, 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]\n },\n {\n book_number: 46,\n name: \"1 Corinthians\",\n short_name: \"1 Cor\",\n long_name: \"First Epistle to the Corinthians\",\n last_chapter: 16,\n chapters: [0, 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]\n },\n {\n book_number: 47,\n name: \"2 Corinthians\",\n short_name: \"2 Cor\",\n long_name: \"Second Epistle to the Corinthians\",\n last_chapter: 13,\n chapters: [0, 24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]\n },\n {\n book_number: 48,\n name: \"Galatians\",\n short_name: \"Gal\",\n long_name: \"Epistle to the Galatians\",\n last_chapter: 6,\n chapters: [0, 24, 21, 29, 31, 26, 18]\n },\n {\n book_number: 49,\n name: \"Ephesians\",\n short_name: \"Eph\",\n long_name: \"Epistle to the Ephesians\",\n last_chapter: 6,\n chapters: [0, 23, 22, 21, 32, 33, 24]\n },\n {\n book_number: 50,\n name: \"Philippians\",\n short_name: \"Phil\",\n long_name: \"Epistle to the Philippians\",\n last_chapter: 4,\n chapters: [0, 30, 30, 21, 23]\n },\n {\n book_number: 51,\n name: \"Colossians\",\n short_name: \"Col\",\n long_name: \"Epistle to the Colossians\",\n last_chapter: 4,\n chapters: [0, 29, 23, 25, 18]\n },\n {\n book_number: 52,\n name: \"1 Thessalonians\",\n short_name: \"1 Thes\",\n long_name: \"First Epistle to the Thessalonians\",\n last_chapter: 5,\n chapters: [0, 10, 20, 13, 18, 28]\n },\n {\n book_number: 53,\n name: \"2 Thessalonians\",\n short_name: \"2 Thes\",\n long_name: \"Second Epistle to the Thessalonians\",\n last_chapter: 3,\n chapters: [0, 12, 17, 18]\n },\n {\n book_number: 54,\n name: \"1 Timothy\",\n short_name: \"1 Tim\",\n long_name: \"First Epistle to Timothy\",\n last_chapter: 6,\n chapters: [0, 20, 15, 16, 16, 25, 21]\n },\n {\n book_number: 55,\n name: \"2 Timothy\",\n short_name: \"2 Tim\",\n long_name: \"Second Epistle to Timothy\",\n last_chapter: 4,\n chapters: [0, 18, 26, 17, 22]\n },\n {\n book_number: 56,\n name: \"Titus\",\n short_name: \"Titus\",\n long_name: \"Epistle to Titus\",\n last_chapter: 3,\n chapters: [0, 16, 15, 15]\n },\n {\n book_number: 57,\n name: \"Philemon\",\n short_name: \"Phi\",\n long_name: \"Epistle to Philemon\",\n last_chapter: 1,\n chapters: [0, 25]\n },\n {\n book_number: 58,\n name: \"Hebrews\",\n short_name: \"Heb\",\n long_name: \"Epistle to the Hebrews\",\n last_chapter: 13,\n chapters: [0, 14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]\n },\n {\n book_number: 59,\n name: \"James\",\n short_name: \"James\",\n long_name: \"Epistle of James\",\n last_chapter: 5,\n chapters: [0, 27, 26, 18, 17, 20]\n },\n {\n book_number: 60,\n name: \"1 Peter\",\n short_name: \"1 Pe\",\n long_name: \"First Epistle of Peter\",\n last_chapter: 5,\n chapters: [0, 25, 25, 22, 19, 14]\n },\n {\n book_number: 61,\n name: \"2 Peter\",\n short_name: \"2 Pe\",\n long_name: \"Second Epistle of Peter\",\n last_chapter: 3,\n chapters: [0, 21, 22, 18]\n },\n {\n book_number: 62,\n name: \"1 John\",\n short_name: \"1 Jn\",\n long_name: \"First Epistle of John\",\n last_chapter: 5,\n chapters: [0, 10, 29, 24, 21, 21]\n },\n {\n book_number: 63,\n name: \"2 John\",\n short_name: \"2 Jn\",\n long_name: \"Second Epistle of John\",\n last_chapter: 1,\n chapters: [0, 13]\n },\n {\n book_number: 64,\n name: \"3 John\",\n short_name: \"3 Jn\",\n long_name: \"Third Epistle of John\",\n last_chapter: 1,\n chapters: [0, 14]\n },\n {\n book_number: 65,\n name: \"Jude\",\n short_name: \"Jude\",\n long_name: \"Epistle to Jude\",\n last_chapter: 1,\n chapters: [0, 25]\n },\n {\n book_number: 66,\n name: \"Revelation\",\n short_name: \"Rev\",\n long_name: \"Book of Revelations\",\n last_chapter: 22,\n chapters: [0, 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]\n }\n ];\n\n public static bookName(booknum: number): Book {\n return this.Books[booknum];\n }\n}\n\nexport type Book = {\n name: string;\n short_name: string;\n long_name: string;\n book_number: number;\n last_chapter: number;\n chapters: Array;\n};\n\nexport type Section = {\n start: Location;\n end: Location;\n};\n\nexport type Location = {\n book: Book;\n chapter: string;\n verse: string;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/Reference.ts","import { Injectable } from '@angular/core';\r\nimport { Storage } from '@ionic/storage';\r\nimport { SearchPage } from '../pages/search/search';\r\nimport { SavedPage } from './profile-service';\r\nimport { PageTitles } from '../libs/Constants';\r\nimport { SettingsModal } from '../components/settings-modal/settings-modal';\r\nimport { AboutModal } from '../components/about-modal/about-modal';\r\n\r\n\r\n@Injectable()\r\nexport class PagesService\r\n{\r\n pages: Array;\r\n savedPages: Array;\r\n\r\n constructor(public local: Storage)\r\n {\r\n this.pages = [\r\n { title: PageTitles.Search, component: SearchPage, params: { queries: [], title: PageTitles.Search }, icon: 'search' },\r\n { title: PageTitles.Settings, component: SettingsModal, params: {}, icon: 'settings' },\r\n { title: PageTitles.Help, component: AboutModal, params: {}, icon: 'help-circle' }\r\n ];\r\n this.savedPages = [];\r\n }\r\n\r\n getMainPages(): Array\r\n {\r\n return this.pages;\r\n }\r\n\r\n getSavedPages(): Array\r\n {\r\n return this.savedPages;\r\n }\r\n\r\n addPage(page: SavedPage)\r\n {\r\n this.savedPages.push({ \r\n title: page.title, \r\n component: SearchPage, \r\n params: { queries: page.queries, title: page.title } \r\n });\r\n }\r\n\r\n initializePages(page_array: SavedPage[])\r\n {\r\n this.savedPages = [];\r\n\r\n for (let p of page_array)\r\n {\r\n this.savedPages.push({ \r\n title: p.title, \r\n component: SearchPage, \r\n params: { queries: p.queries, title: p.title } \r\n });\r\n }\r\n }\r\n}\r\n\r\nexport class Page\r\n{ \r\n title: string;\r\n component: any;\r\n params: any;\r\n icon?: string;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/pages-service.ts","import { Component, ViewChild } from '@angular/core';\nimport { Platform, MenuController, Nav, ModalController } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { SearchPage } from '../pages/search/search';\n\nimport { PagesService, Page } from '../services/pages-service';\nimport { PageTitles } from '../libs/Constants';\n\n\n@Component({\n templateUrl: 'app.html',\n providers: [PagesService]\n})\nexport class MyApp {\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = SearchPage;\n\n constructor(\n public platform: Platform,\n public menu: MenuController,\n public pagesSvc: PagesService,\n private _statusBar: StatusBar,\n private _splash: SplashScreen,\n private _modalCtrl: ModalController\n ) {\n this.initializeApp();\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this._statusBar.styleDefault();\n this._splash.hide();\n });\n }\n\n openPage(page: Page) {\n if (page.title === PageTitles.Help || page.title === PageTitles.Settings)\n {\n this.menu.close(); // close the menu\n \n // this is a modal.\n const modal = this._modalCtrl.create(page.component);\n modal.present();\n return;\n } \n\n // close the menu when clicking a link from the menu\n this.menu.close('pages');\n\n // because the actions menu is on a Page component, and you swap the SearchPage out,\n // the menu gets registered multiple times. to avoid some pages not opening the menu because\n // multiple menus with the same id exist and the first one in the list is returned (which happens\n // be disabled when another of the same id is added) it won't show. because not enabled.\n // ---\n // unregistering the actions menu whenever a new page is opened fixes the problem, because the menu\n // will get reregistered when SearchPage loads. Also, if you go to a non SearchPage, the actions\n // menu won't be there, but the unregister function doesn't fail if a non existent id is given,\n // so thats ok.\n this.menu._unregister(this.menu.get('actions'));\n\n // navigate to the new page if it is not the current page\n this.nav.setRoot(page.component, page.params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { AutoCompleteService } from 'ionic2-auto-complete';\r\nimport { HttpClient} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class SearchAutoCompleteService implements AutoCompleteService {\r\n public words: string[] = [];\r\n constructor(private http: HttpClient) {\r\n let self = this;\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n this.http.get('data/index/word_to_stem_idx.json', { responseType: 'json' }).subscribe(data => {\r\n // find the right word\r\n for (let i of data as WordToStem[]) {\r\n self.words.push(i.w);\r\n }\r\n });\r\n }\r\n\r\n getResults(keyword: string) {\r\n let qry = keyword;\r\n let prefix = '';\r\n let idx = qry.lastIndexOf(';');\r\n let words = [];\r\n\r\n if (idx > -1) {\r\n qry = keyword.substr(idx + 1).trim();\r\n prefix = keyword.substr(0, idx).trim() + '; ';\r\n }\r\n\r\n if (qry.search(/[0-9]/i) === -1) {\r\n // its a word\r\n for (let item of Reference.Books) {\r\n if (\r\n item.name !== 'Unknown' &&\r\n (item.name.toLowerCase().indexOf(qry.toLowerCase()) > -1 || item.short_name.toLowerCase().indexOf(qry.toLowerCase()) > -1)\r\n ) {\r\n words.push(prefix + item.name);\r\n if (words.length > 2) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n for (let item of this.words) {\r\n if (item.toLowerCase().indexOf(qry.toLowerCase()) > -1) {\r\n words.push(prefix + item);\r\n if (words.length > 6) {\r\n return words;\r\n }\r\n }\r\n }\r\n }\r\n else if (qry.search(/(H|G)[0-9]/i) !== -1) {\r\n // its a strongs lookup\r\n if (qry.substr(0, 1).toUpperCase() === 'H') {\r\n let num = parseInt(qry.substr(1));\r\n for (let x = num; x < num + 10 && x < 8675; x++) {\r\n words.push('H' + x)\r\n }\r\n return words;\r\n }\r\n if (qry.substr(0, 1).toUpperCase() === 'G') {\r\n let num = parseInt(qry.substr(1));\r\n for (let x = num; x < num + 10 && x < 5625; x++) {\r\n words.push('G' + x)\r\n }\r\n return words;\r\n }\r\n }\r\n\r\n return words;\r\n }\r\n}\r\ntype WordToStem = { w: string, s: string }\n\n\n// WEBPACK FOOTER //\n// ./src/services/search-autocomplete-service.ts","import { Component, EventEmitter, Output, Input, OnInit, ElementRef } from '@angular/core';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { BiblePassageResult, BibleService, BiblePassage, BibleVerse, Paragraph } from '../../services/bible-service';\nimport { Reference } from '../../libs/Reference';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\nimport { cardContextMenu } from '../../libs/Common';\n\n\n@Component({\n selector: 'passage',\n templateUrl: 'passage.html',\n providers: [BibleService]\n})\nexport class Passage implements OnInit {\n @Output()\n onItemClicked = new EventEmitter();\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n data: BiblePassageResult;\n withParas: BibleParaPassage[];\n ref: Reference;\n\n constructor(\n public profileService: ProfileService,\n private _elementRef: ElementRef,\n private _bibleService: BibleService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController\n ) {\n }\n\n\n ngOnInit(): void {\n this.ref = new Reference(this.cardItem.qry);\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n });\n\n }\n\n\n setData(data: BiblePassageResult) {\n this.data = data;\n this.withParas = this.getParaPassages(data.cs);\n }\n\n contextMenu() {\n cardContextMenu(this.profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n next() {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)].toString();\n\n if (this.ref.Section.end.verse !== '*' && this.ref.Section.end.verse !== last_verse_for_end)\n this.ref.Section.end.chapter = this.ref.Section.end.chapter;\n else\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n\n this.ref.Section.start.chapter = this.ref.Section.end.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n prev() {\n if (this.ref.Section.start.verse !== '1')\n this.ref.Section.start.chapter = this.ref.Section.start.chapter;\n else\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n\n this.ref.Section.end.chapter = this.ref.Section.start.chapter;\n this.ref.Section.start.verse = '1';\n this.ref.Section.end.verse = '*';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n expand() {\n const last_verse_for_end = this.ref.Section.end.book.chapters[parseInt(this.ref.Section.end.chapter)];\n\n // if your verse is at the beginning, to go the prev chapter and add 3 verses from that\n if (parseInt(this.ref.Section.start.verse) < 4) {\n this.ref.Section.start.chapter = (parseInt(this.ref.Section.start.chapter) - 1).toString();\n this.ref.Section.start.verse = '*-' + (3 - parseInt(this.ref.Section.start.verse));\n if (this.ref.Section.start.chapter === '0') {\n this.ref.Section.start.chapter = '1';\n this.ref.Section.start.verse = '1';\n }\n }\n else // or go back 3 verses\n this.ref.Section.start.verse = (parseInt(this.ref.Section.start.verse) - 3).toString();\n\n // if your verse is at the end, go to the next chapter\n if (this.ref.Section.end.verse === '*' || parseInt(this.ref.Section.end.verse) + 3 > last_verse_for_end) {\n this.ref.Section.end.chapter = (parseInt(this.ref.Section.end.chapter) + 1).toString();\n if (this.ref.Section.end.verse === '*')\n this.ref.Section.end.verse = '3';\n else\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3 - last_verse_for_end).toString();\n\n if (this.ref.Section.end.chapter === (this.ref.Section.end.book.last_chapter + 1).toString()) {\n this.ref.Section.end.chapter = this.ref.Section.end.book.last_chapter.toString();\n this.ref.Section.end.verse = last_verse_for_end.toString();\n }\n }\n else // or add 3 verses\n this.ref.Section.end.verse = (parseInt(this.ref.Section.end.verse) + 3).toString();\n\n if (this.ref.Section.start.verse === '0')\n this.ref.Section.start.verse = '1';\n\n this._bibleService.getResultAsPromise(this.ref.Section).then(data => {\n this.setData(data);\n this.cardItem.qry = data.ref;\n this.ref = new Reference(data.ref);\n });\n }\n\n openStrongs(strongs: string) {\n this.onItemClicked.emit({ card: this.cardItem, qry: this.cardItem.dict + strongs, from_search_bar: false });\n }\n\n isPunct(c: string) {\n return new RegExp('^[\\.\\,\\;\\:\\?\\!]$').test(c);\n }\n\n hasHeader(p: Paragraph) {\n if (p === undefined)\n return false;\n\n return p.h.length > 0;\n }\n\n isPara(vs: BibleVerse) {\n return this.getRefKey(this.ref.Section.start.chapter, vs) in BibleService.paragraphs;\n }\n\n getRefKey(ch: string, vs: BibleVerse) {\n return this.ref.Section.start.book.book_number + ';' + ch + ';' + vs.v;\n }\n\n getParaPassages(chapters: BiblePassage[]) {\n let passages: BibleParaPassage[] = [];\n for (let ch of chapters) {\n let para = {\n ch: ch.ch,\n paras: this.getParas(ch)\n };\n\n passages.push(para);\n }\n return passages;\n }\n\n getParas(ch: BiblePassage) {\n // group the verses into paragraphs.\n\n // create an initial paragraph to hold verses that might come before a paragraph.\n let para: BiblePara = { p: { h: '', p: 0 }, vss: [] };\n let paras: BiblePara[] = [];\n\n // for each verse in the chapter, break them into paragraphs.\n for (let v of ch.vss) {\n if (this.isPara(v)) {\n paras.push(para);\n para = { p: BibleService.paragraphs[this.getRefKey(ch.ch.toString(), v)], vss: [v] };\n if (para.p === undefined)\n para.p = { h: '', p: 0 }; // just in case you can't find a paragraph.\n }\n else {\n para.vss.push(v);\n }\n }\n\n // add the final paragraph if it has verses.\n if (para.vss.length > 0)\n paras.push(para);\n\n return paras;\n }\n}\n\ntype BiblePara = {\n p: Paragraph,\n vss: BibleVerse[],\n}\n\ntype BibleParaPassage = {\n ch: number;\n paras: BiblePara[];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/passage/passage.ts","/// \r\n/// \r\nimport { Injectable } from '@angular/core';\r\nimport { Section, Reference } from '../libs/Reference';\r\n\r\n@Injectable()\r\nexport class BibleService\r\n{\r\n chapters: BiblePassage[];\r\n result: BiblePassageResult;\r\n static paragraphs: HashTable;\r\n count = 0;\r\n $: any;\r\n\r\n constructor()\r\n {\r\n this.getParagraphMarkersAsPromise()\r\n }\r\n\r\n getParagraphMarkersAsPromise(): Promise>\r\n {\r\n return new Promise((resolve) => { resolve(this.getParagraphMarkers()); });\r\n }\r\n\r\n getParagraphMarkers() : HashTable\r\n {\r\n try\r\n {\r\n if (BibleService.paragraphs !== undefined && '1;1;1' in BibleService.paragraphs)\r\n return BibleService.paragraphs;\r\n\r\n const self = this;\r\n\r\n const url = 'data/bibles/paras.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: HashTable)\r\n {\r\n BibleService.paragraphs = d;\r\n },\r\n error()\r\n {\r\n console.log('Unable to retrieve paragraphs.');\r\n }\r\n });\r\n\r\n return BibleService.paragraphs;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n\r\n getResultAsPromise(section: Section): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(section)); });\r\n }\r\n\r\n getResult(section: Section): BiblePassageResult\r\n {\r\n try\r\n {\r\n const self = this;\r\n this.chapters = []; // the verses from the chapter.\r\n this.result = {\r\n cs: [],\r\n testament: '',\r\n ref: Reference.toString(section),\r\n status: 0,\r\n msg: ':)'\r\n };\r\n\r\n if (Number(section.start.chapter) > section.start.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.start.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.start.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n if (Number(section.end.chapter) > section.end.book.last_chapter)\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'The requested chapter for ' + section.end.book.name + ' is out of range. Please pick a chapter between 1 and ' + section.end.book.last_chapter + '.';\r\n return self.result;\r\n }\r\n\r\n this.count = Number(section.end.chapter) - Number(section.start.chapter) + 1;\r\n\r\n for (let i = Number(section.start.chapter); i <= Number(section.end.chapter); i++)\r\n {\r\n const url = 'data/bibles/kjv_strongs/' + section.start.book.book_number + '-' + i + '.json';\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: BiblePassage)\r\n {\r\n self.chapters.push(d);\r\n },\r\n error()\r\n {\r\n self.result.status = -1;\r\n self.result.msg = 'Unable to retrieve bible passage ' + self.result.ref + '.';\r\n }\r\n });\r\n }\r\n\r\n if (self.result.status === -1)\r\n return self.result;\r\n\r\n for (let j = 0; j < this.chapters.length; j++)\r\n {\r\n const vss: BibleVerse[] = [];\r\n let start: number;\r\n let end;\r\n\r\n // figure out the start verse.\r\n if (j === 0)\r\n {\r\n if (section.start.verse.indexOf('*') !== -1) // you sometimes use this as a shortcut to the last verse\r\n {\r\n // replace the * with the last verse, then eval the expression.\r\n section.start.verse = section.start.verse.replace('*', (this.chapters[j].vss.length).toString());\r\n\r\n start = math.eval(section.start.verse);\r\n\r\n // update the section and the ref.\r\n section.start.verse = start.toString();\r\n this.result.ref = Reference.toString(section);\r\n }\r\n else\r\n start = parseInt(section.start.verse);\r\n }\r\n else\r\n start = 1;\r\n\r\n // figure out the end verse\r\n if ((j + 1) === this.chapters.length)\r\n end = section.end.verse;\r\n else\r\n end = '*';\r\n\r\n // get the verses requested.\r\n const tvs = this.chapters[j].vss.length;\r\n if (end === '*' || parseInt(end) > tvs)\r\n end = tvs;\r\n\r\n // we're using c based indexes here, so the index is 1 less than the verse #.\r\n for (let i = start; i <= end; i++)\r\n vss.push(this.chapters[j].vss[i - 1]);\r\n\r\n this.result.cs.push({\r\n ch: this.chapters[j].ch,\r\n vss: vss\r\n });\r\n }\r\n\r\n\r\n if (section.start.book.book_number >= 40)\r\n this.result.testament = 'new';\r\n else\r\n this.result.testament = 'old';\r\n\r\n return this.result;\r\n }\r\n catch (error)\r\n {\r\n console.log(error);\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport type BiblePassageResult = {\r\n cs: BiblePassage[],\r\n testament: string,\r\n ref: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\nexport type BiblePassage = {\r\n ch: number,\r\n vss: BibleVerse[],\r\n}\r\n\r\nexport type BibleVerse = {\r\n v: number,\r\n w: [\r\n {\r\n t: string, s: string,\r\n }\r\n ],\r\n}\r\n\r\nexport type Paragraph = {\r\n h: string,\r\n p: number\r\n}\r\n\r\nexport interface HashTable\r\n{\r\n [key: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/bible-service.ts","import {\n HostListener,\n EventEmitter,\n Component,\n Input,\n Output,\n OnInit,\n AfterViewChecked,\n ElementRef\n} from \"@angular/core\";\nimport { Reference } from \"../../libs/Reference\";\nimport { OpenData, CardItem } from \"../../pages/search/search\";\nimport { StrongsResult, StrongsService } from \"../../services/strongs-service\";\nimport { cardContextMenu } from \"../../libs/Common\";\nimport { ProfileService } from \"../../services/profile-service\";\nimport { ActionSheetController, AlertController } from \"ionic-angular\";\nimport { PagesService } from \"../../services/pages-service\";\n\n@Component({\n selector: \"strongs\",\n templateUrl: \"strongs.html\",\n providers: [StrongsService]\n})\nexport class Strongs implements AfterViewChecked, OnInit {\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n items: StrongsResult[];\n\n constructor(\n private _elementRef: ElementRef,\n private _strongsService: StrongsService,\n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController\n ) {}\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n onResize(evt) {\n $(\"strongs ion-scroll\").each((i, el) => {\n let len = $(el).find(\".scroll-content .scroll-zoom-wrapper dl span\").length;\n len += $(el).find(\".scroll-content .scroll-zoom-wrapper dl dd\").length;\n\n if (len < 20) $(el).css(\"height\", Math.ceil(len / 3) * 30 + 30);\n });\n }\n\n ngAfterViewChecked(): void {\n this.onResize(null);\n }\n\n async ngOnInit() {\n this.items = [];\n const numbers = this.cardItem.qry.split(\" \");\n for (const sn of numbers) {\n let data = await this._strongsService.getResultAsPromise(parseInt(sn), this.cardItem.dict);\n this.items.push(data);\n }\n }\n\n close(ev) {\n let translate = \"translate3d(110%, 0, 0)\";\n if (ev != null && ev.direction === 2) {\n translate = \"translate3d(-110%, 0, 0)\";\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate(\n {\n transform: [\"none\", translate]\n },\n {\n fill: \"forwards\",\n duration: d,\n iterations: 1,\n easing: \"ease-in-out\"\n }\n );\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n openItem(p: string) {\n this.onItemClicked.emit({ card: this.cardItem, qry: p, from_search_bar: false });\n }\n\n makePassage(p: string) {\n return Reference.bookName(parseInt(p.split(\";\")[0])).name + \" \" + p.split(\";\")[1] + \":\" + p.split(\";\")[2];\n }\n\n openPassage(p: string) {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/strongs/strongs.ts","/// \nimport { HostListener, EventEmitter, Component, Input, Output, AfterViewChecked, OnInit, ElementRef } from '@angular/core';\nimport { Reference } from '../../libs/Reference';\nimport { OpenData, CardItem } from '../../pages/search/search';\nimport { WordLookupResult, WordService } from '../../services/word-service';\nimport { cardContextMenu } from '../../libs/Common';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\n\n@Component({\n selector: 'words',\n templateUrl: 'words.html',\n providers: [WordService]\n})\nexport class Words implements AfterViewChecked, OnInit\n{\n @Output()\n onClose = new EventEmitter();\n\n @Output()\n onItemClicked = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n $: any;\n\n data: WordLookupResult;\n\n constructor(\n private _elementRef: ElementRef,\n private _wordService: WordService, \n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController)\n {\n }\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n \n @HostListener('window:resize', ['$event'])\n onResize(evt)\n {\n $('words ion-scroll').each((i, el) =>\n {\n const wr = $(el).find('.scroll-content .scroll-zoom-wrapper')[0];\n const len = $(el).find('.scroll-zoom-wrapper a').length;\n\n if (wr.scrollWidth < 500) // 1 col\n {\n // 5 rows\n len < 6 ? $(el).css('height', len * 44.4 + 25) : $(el).css('height', 250);\n }\n else if (wr.scrollWidth < 699) // 2 col\n {\n // 6 rows\n len < 13 ? $(el).css('height', Math.ceil(len / 2) * 44.4 + 25) : $(el).css('height', 300);\n }\n else if (wr.scrollWidth < 799) // 3 col\n {\n // 7 rows\n len < 22 ? $(el).css('height', Math.ceil(len / 3) * 44.4 + 25) : $(el).css('height', 350);\n }\n else if (wr.scrollWidth < 899) // 4 col\n {\n // 7 rows\n len < 29 ? $(el).css('height', Math.ceil(len / 4) * 44.4 + 25) : $(el).css('height', 375);\n }\n else if (wr.scrollWidth < 1199) // 5 col\n {\n // 8 rows\n len < 41 ? $(el).css('height', Math.ceil(len / 5) * 44.4 + 25) : $(el).css('height', 400);\n }\n else // 6 col\n {\n // 8 rows\n len < 49 ? $(el).css('height', Math.ceil(len / 6) * 44.4 + 25) : $(el).css('height', 425);\n }\n });\n }\n public ngAfterViewChecked(): void\n {\n this.onResize(null);\n }\n\n ngOnInit(): void\n {\n this._wordService.getResultAsPromise(this.cardItem.qry).then(data =>\n this.data = data\n );\n }\n\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n\n makePassage(p: string)\n {\n return Reference.bookName(parseInt(p.split(':')[0])).name + ' ' + p.split(':')[1] + ':' + p.split(':')[2];\n }\n\n openPassage(p: string)\n {\n const ref = this.makePassage(p);\n this.onItemClicked.emit({ card: this.cardItem, qry: ref, from_search_bar: false });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/words/words.ts","/// \r\nimport { stemmer } from '../libs/Stemmer';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class WordService\r\n{\r\n wordToStem: Map = {};\r\n\r\n constructor()\r\n {\r\n this.getStemWordIndex();\r\n }\r\n\r\n normalizeQueryString(qry: string): string[]\r\n {\r\n qry = qry.toLowerCase();\r\n return qry.replace(/'/g, '').replace(/\\s+/g, ' ').split(' ');\r\n }\r\n\r\n getResultAsPromise(qry: string): Promise\r\n {\r\n return new Promise((resolve) => { resolve(this.getResult(qry)); });\r\n }\r\n\r\n getResult(qry: string): WordLookupResult\r\n {\r\n const qs = this.normalizeQueryString(qry);\r\n const words = this.buildIndexArray().sort();\r\n const results = new Array();\r\n\r\n // Loop through each query term.\r\n for (let q of qs)\r\n {\r\n const stem = this.wordToStem[q];\r\n\r\n // For each query term, figure out which xml file it is in, and get it.\r\n // getSearchRefs returns an array of references.\r\n for (let w = 0; w < words.length; w++)\r\n {\r\n // If we are at the end of the array, we want to use a different test.\r\n if (w === 0)\r\n {\r\n if (stem <= words[w])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n if (stem <= words[w] && stem > words[w - 1])\r\n {\r\n results.unshift(this.getSearchReferences('data/index/' + words[w] + 'idx.json', stem));\r\n break;\r\n }\r\n }\r\n }\r\n } // End of loop through query terms\r\n\r\n // Now we need to test results. If there is more than one item in the array, we need to find the set\r\n // that is shared by all of them. IF not, we can just return those refs.\r\n if (results.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n let shared: string[];\r\n if (results.length === 1)\r\n {\r\n shared = results[0];\r\n }\r\n else\r\n {\r\n shared = this.findSharedSet(results);\r\n }\r\n\r\n if (shared == null || shared.length === 0)\r\n return { word: qry, refs: [], status: -1, msg: 'No passages found for query: ' + qry + '.' };\r\n\r\n return { word: qry, refs: shared, status: 0, msg: ':)' };\r\n }\r\n \r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getStemWordIndex()\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: WordToStem[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: 'data/index/word_to_stem_idx.json',\r\n dataType: 'json',\r\n success(d: WordToStem[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n for (let i of r)\r\n {\r\n this.wordToStem[i.w] = i.s;\r\n }\r\n }\r\n\r\n /**\r\n * Gets the references a given word is found in.\r\n * Returns a string[].\r\n * @param {string} url - The url of the word index\r\n * @param {string} query - The word to lookup.\r\n */\r\n private getSearchReferences(url, query): string[]\r\n {\r\n // getSearchRefs takes a url and uses ajax to retrieve the references and returns an array of references.\r\n let r: IndexResult[];\r\n\r\n $.ajax({\r\n async: false,\r\n type: 'GET',\r\n url: url,\r\n dataType: 'json',\r\n success(d: IndexResult[], t, x)\r\n {\r\n r = d;\r\n },\r\n error(request, status, error)\r\n {\r\n console.log(error);\r\n }\r\n });\r\n\r\n // find the right word\r\n const refs = $.grep(r, (o) => o.w === query);\r\n\r\n if (refs.length > 0)\r\n return refs[0].r;\r\n else\r\n return [];\r\n }\r\n\r\n private buildIndexArray()\r\n {\r\n const words = new Array();\r\n words.unshift('abishur');\r\n words.unshift('achor');\r\n words.unshift('adoni');\r\n words.unshift('afterward');\r\n words.unshift('ahishahar');\r\n words.unshift('alleg');\r\n words.unshift('ambush');\r\n words.unshift('ancestor');\r\n words.unshift('aphik');\r\n words.unshift('arbah');\r\n words.unshift('arodi');\r\n words.unshift('ashkenaz');\r\n words.unshift('ate');\r\n words.unshift('azaniah');\r\n words.unshift('backbiteth');\r\n words.unshift('barbarian');\r\n words.unshift('beard');\r\n words.unshift('begettest');\r\n words.unshift('benefactor');\r\n words.unshift('bethel');\r\n words.unshift('bilshan');\r\n words.unshift('blindeth');\r\n words.unshift('booti');\r\n words.unshift('breaketh');\r\n words.unshift('bucket');\r\n words.unshift('cabbon');\r\n words.unshift('caphtor');\r\n words.unshift('causeless');\r\n words.unshift('chapmen');\r\n words.unshift('chese');\r\n words.unshift('chrysoprasus');\r\n words.unshift('cloth');\r\n words.unshift('common');\r\n words.unshift('confess');\r\n words.unshift('contendeth');\r\n words.unshift('coucheth');\r\n words.unshift('crept');\r\n words.unshift('curseth');\r\n words.unshift('darius');\r\n words.unshift('decketh');\r\n words.unshift('dema');\r\n words.unshift('devil');\r\n words.unshift('directeth');\r\n words.unshift('disposit');\r\n words.unshift('doth');\r\n words.unshift('drowsi');\r\n words.unshift('ebe');\r\n words.unshift('elead');\r\n words.unshift('elkoshit');\r\n words.unshift('encourag');\r\n words.unshift('entreat');\r\n words.unshift('eschew');\r\n words.unshift('ever');\r\n words.unshift('expert');\r\n words.unshift('fallest');\r\n words.unshift('feedeth');\r\n words.unshift('filthi');\r\n words.unshift('fleeth');\r\n words.unshift('forborn');\r\n words.unshift('forsookest');\r\n words.unshift('fretteth');\r\n words.unshift('gahar');\r\n words.unshift('gazzam');\r\n words.unshift('gibea');\r\n words.unshift('glister');\r\n words.unshift('got');\r\n words.unshift('grope');\r\n words.unshift('hadlai');\r\n words.unshift('hammon');\r\n words.unshift('harbona');\r\n words.unshift('hasrah');\r\n words.unshift('hazezon');\r\n words.unshift('heinous');\r\n words.unshift('herebi');\r\n words.unshift('highest');\r\n words.unshift('holdeth');\r\n words.unshift('hosanna');\r\n words.unshift('huri');\r\n words.unshift('ill');\r\n words.unshift('inexcus');\r\n words.unshift('intend');\r\n words.unshift('ishui');\r\n words.unshift('jaazaniah');\r\n words.unshift('jaminit');\r\n words.unshift('jecoliah');\r\n words.unshift('jeopard');\r\n words.unshift('jethro');\r\n words.unshift('joiarib');\r\n words.unshift('juda');\r\n words.unshift('kelaiah');\r\n words.unshift('kishion');\r\n words.unshift('laden');\r\n words.unshift('laughter');\r\n words.unshift('lehi');\r\n words.unshift('lift');\r\n words.unshift('loatheth');\r\n words.unshift('lucius');\r\n words.unshift('madmen');\r\n words.unshift('malachi');\r\n words.unshift('march');\r\n words.unshift('maul');\r\n words.unshift('melchizedek');\r\n words.unshift('merrili');\r\n words.unshift('midianit');\r\n words.unshift('miri');\r\n words.unshift('modest');\r\n words.unshift('move');\r\n words.unshift('naashon');\r\n words.unshift('nazareth');\r\n words.unshift('nephishesim');\r\n words.unshift('nisan');\r\n words.unshift('obadiah');\r\n words.unshift('oliveyard');\r\n words.unshift('oren');\r\n words.unshift('overrun');\r\n words.unshift('pallu');\r\n words.unshift('pas');\r\n words.unshift('peel');\r\n words.unshift('pernici');\r\n words.unshift('philip');\r\n words.unshift('pison');\r\n words.unshift('plucketh');\r\n words.unshift('pour');\r\n words.unshift('price');\r\n words.unshift('proport');\r\n words.unshift('purg');\r\n words.unshift('rabboni');\r\n words.unshift('ravish');\r\n words.unshift('redeemedst');\r\n words.unshift('remainest');\r\n words.unshift('reput');\r\n words.unshift('revers');\r\n words.unshift('rissah');\r\n words.unshift('ruddi');\r\n words.unshift('said');\r\n words.unshift('sapphir');\r\n words.unshift('scepter');\r\n words.unshift('secundus');\r\n words.unshift('separ');\r\n words.unshift('shachia');\r\n words.unshift('sharar');\r\n words.unshift('sheepshear');\r\n words.unshift('sheva');\r\n words.unshift('shishak');\r\n words.unshift('shroud');\r\n words.unshift('signifi');\r\n words.unshift('sittest');\r\n words.unshift('slow');\r\n words.unshift('soft');\r\n words.unshift('sowedst');\r\n words.unshift('spoil');\r\n words.unshift('station');\r\n words.unshift('stoop');\r\n words.unshift('strongest');\r\n words.unshift('sum');\r\n words.unshift('sweep');\r\n words.unshift('tahapan');\r\n words.unshift('tast');\r\n words.unshift('ten');\r\n words.unshift('thereat');\r\n words.unshift('threaten');\r\n words.unshift('timbrel');\r\n words.unshift('tongu');\r\n words.unshift('travailest');\r\n words.unshift('trust');\r\n words.unshift('uncircumcis');\r\n words.unshift('unprepar');\r\n words.unshift('urg');\r\n words.unshift('vat');\r\n words.unshift('visiteth');\r\n words.unshift('wash');\r\n words.unshift('wed');\r\n words.unshift('wherewith');\r\n words.unshift('winepress');\r\n words.unshift('won');\r\n words.unshift('written');\r\n words.unshift('zalmonah');\r\n words.unshift('zenan');\r\n words.unshift('ziphim');\r\n words.unshift('zuzim');\r\n\r\n return words;\r\n }\r\n\r\n /*\r\n * Returns a list of references in string form as a string[] that are shared\r\n * given a list of lists of references in string form.\r\n */\r\n private findSharedSet(results)\r\n {\r\n // FindSharedSet takes an array of reference arrays, and figures out\r\n // which references are shared by all arrays/sets, then returns a single\r\n // array of references.\r\n for (let j in results)\r\n {\r\n if (results.hasOwnProperty(j))\r\n {\r\n const refs = results[j];\r\n if (refs != null)\r\n {\r\n for (let i = 0; i < refs.length; i++)\r\n {\r\n const r = refs[i].split(':');\r\n // convert references to single integers.\r\n // Book * 100000000, Chapter * 10000, Verse remains same, add all together.\r\n let ref = r[0] * 100000000;\r\n ref = ref + (r[1] * 10000);\r\n ref = ref + r[2] * 1;\r\n results[j][i] = ref;\r\n }\r\n } else\r\n return null;\r\n }\r\n }\r\n\r\n // get the first result\r\n let result = results[0];\r\n\r\n // for each additional result, get the shared set\r\n for (let i = 1; i < results.length; i++)\r\n result = this.returnSharedSet(results[i], result);\r\n\r\n // convert the references back into book, chapter and verse.\r\n for (let i = 0; i < result.length; i++)\r\n {\r\n const ref = result[i];\r\n result[i] = Math.floor(ref / 100000000) + ':' + Math.floor((ref % 100000000) / 10000) + ':' + Math.floor((ref % 100000000) % 10000);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private returnSharedSet(x, y)\r\n {\r\n /// \r\n /// Takes two javascript arrays and returns an array\r\n /// containing a set of values shared by arrays.\r\n /// \r\n // declare iterator\r\n let i = 0;\r\n // declare terminator\r\n let t = (x.length < y.length) ? x.length : y.length;\r\n // sort the arrays\r\n x.sort((a, b) => a - b);\r\n y.sort((a, b) => a - b);\r\n // in this loop, we remove from the arrays, the\r\n // values that aren't shared between them.\r\n while (i < t)\r\n {\r\n if (x[i] === y[i])\r\n i++;\r\n\r\n if (x[i] < y[i])\r\n x.splice(i, 1);\r\n\r\n if (x[i] > y[i])\r\n y.splice(i, 1);\r\n\r\n t = (x.length < y.length) ? x.length : y.length;\r\n // we have to make sure to remove any extra values\r\n // at the end of an array when we reach the end of\r\n // the other.\r\n if (t === i && t < x.length)\r\n x.splice(i, x.length - i);\r\n\r\n if (t === i && t < y.length)\r\n y.splice(i, x.length - i);\r\n }\r\n // we could return y, because at this time, both arrays\r\n // are identical.\r\n return x;\r\n }\r\n}\r\n\r\nexport type WordLookupResult = {\r\n refs: string[],\r\n word: string,\r\n status: number,\r\n msg: string,\r\n}\r\n\r\ntype IndexResult = {\r\n r: string[];\r\n w: string;\r\n}\r\n\r\ntype WordToStem = { w:string, s: string}\r\ninterface Map\r\n{\r\n [K: string]: T;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/word-service.ts","import { EventEmitter, Component, Input, Output, ElementRef } from '@angular/core';\nimport { CardItem } from '../../pages/search/search';\nimport { ProfileService } from '../../services/profile-service';\nimport { ActionSheetController, AlertController } from 'ionic-angular';\nimport { PagesService } from '../../services/pages-service';\nimport { cardContextMenu } from '../../libs/Common';\n\n@Component({\n selector: 'error',\n templateUrl: 'error.html'\n})\nexport class Error\n{\n @Output()\n onClose = new EventEmitter();\n\n @Input()\n cardItem: CardItem;\n\n constructor(\n private _elementRef: ElementRef,\n private _profileService: ProfileService,\n private _actionSheet: ActionSheetController,\n private _pagesSvc: PagesService,\n private _alertCtrl: AlertController)\n {\n }\n\n contextMenu() {\n cardContextMenu(this._profileService, this._actionSheet, this._pagesSvc, this._alertCtrl, this.cardItem);\n }\n close(ev) {\n let translate = 'translate3d(110%, 0, 0)';\n if (ev != null && ev.direction === 2) {\n translate = 'translate3d(-110%, 0, 0)';\n }\n let d = 250;\n this._elementRef.nativeElement.parentElement.animate({\n transform: ['none', translate]\n }, {\n fill: 'forwards',\n duration: d,\n iterations: 1,\n easing: 'ease-in-out'\n });\n setTimeout(() => {\n this.onClose.emit(this.cardItem);\n }, d);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error/error.ts","import { Component } from '@angular/core';\nimport { ProfileService } from '../../services/profile-service';\n\n@Component({\n selector: 'settings',\n templateUrl: 'settings.html'\n})\nexport class Settings {\n constructor(\n public profileService: ProfileService\n ) {}\n\n\n textSizeChanged()\n {\n this.profileService.textSizeChanged();\n this.profileService.localSave();\n }\n\n fontFamilyChanged()\n {\n this.profileService.fontFamilyChanged();\n this.profileService.localSave();\n }\n reset()\n {\n this.profileService.reset()\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/settings/settings.ts","import { Component, Input} from '@angular/core';\n\n@Component({\n selector: 'error-message',\n templateUrl: 'error-message.html'\n})\nexport class ErrorMessage\r\n{\n @Input()\n msg: string;\n\n constructor()\r\n {\n this.msg = '';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/components/error-message/error-message.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/DynamicBibleIonic/package-lock.json b/DynamicBibleIonic/package-lock.json index 7af64f26..8d0ba960 100644 --- a/DynamicBibleIonic/package-lock.json +++ b/DynamicBibleIonic/package-lock.json @@ -1,6 +1,6 @@ { "name": "dynamicbible", - "version": "3.2.0", + "version": "3.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -259,18 +259,18 @@ } }, "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { "@babel/highlight": "^7.0.0" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -374,48 +374,49 @@ "integrity": "sha1-2dKUy4aY3XW6Vo0Z0pmCnaoEYqY=" }, "@ionic/app-scripts": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.1.0.tgz", - "integrity": "sha512-GuStpBwkLhfAPlO1hrAWTQx1KQ+kq2grYVKd/oM+wulbiz9OG4HRjla9c4b1L/T6YeeSf19oVM/dFmdciZnEvQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.2.4.tgz", + "integrity": "sha512-Wt6bBnLtyknbTn6ikUTst2HLs5ww+BL9FpYv2dQWZwDODYqyWFkQQvdXj0IFibU2umXFOH5nQXJin2vvgtovzA==", "dev": true, "requires": { - "@angular-devkit/build-optimizer": "0.0.32", - "autoprefixer": "^7.1.6", - "chalk": "^2.3.0", - "chokidar": "^1.7.0", - "clean-css": "^4.1.9", + "@angular-devkit/build-optimizer": "0.0.35", + "autoprefixer": "^7.2.6", + "chalk": "^2.4.0", + "chokidar": "^2.0.4", + "clean-css": "^4.1.11", "cross-spawn": "^5.1.0", - "express": "^4.16.2", + "dotenv-webpack": "^1.5.7", + "express": "^4.16.3", "fs-extra": "^4.0.2", "glob": "^7.1.2", "json-loader": "^0.5.7", - "node-sass": "~4.5.3", + "node-sass": "^4.10.0", "os-name": "^2.0.1", - "postcss": "^6.0.13", + "postcss": "^6.0.21", "proxy-middleware": "^0.15.0", "reflect-metadata": "^0.1.10", "rollup": "0.50.0", "rollup-plugin-commonjs": "8.2.6", "rollup-plugin-node-resolve": "3.0.0", "source-map": "^0.6.1", - "tiny-lr": "^1.0.5", + "tiny-lr": "^1.1.1", "tslint": "^5.8.0", "tslint-eslint-rules": "^4.1.1", - "uglify-es": "^3.1.6", - "webpack": "^3.8.1", - "ws": "^3.2.0", + "uglify-es": "3.2.2", + "webpack": "3.12.0", + "ws": "3.3.2", "xml2js": "^0.4.19" }, "dependencies": { "@angular-devkit/build-optimizer": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.32.tgz", - "integrity": "sha512-j09JdaFoRukEllfmH+TUJpe2ujUzTSj/szqYGHWVBilajwnNQh7f0A9v1R27mX+2di4x8tXuvaBgwvdEZBv32w==", + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.35.tgz", + "integrity": "sha512-7JxZZAYFSCc0tP6+NrRn3b2Cd1b9d+a3+OfwVNyNsNd2unelqUMko2hm0KLbC8BXcXt/OILg1E/ZgLAXSS47nw==", "dev": true, "requires": { "loader-utils": "^1.1.0", "source-map": "^0.5.6", - "typescript": "^2.3.3", + "typescript": "~2.6.1", "webpack-sources": "^1.0.1" }, "dependencies": { @@ -427,10 +428,20 @@ } } }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -439,6 +450,12 @@ "uri-js": "^4.2.2" } }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -448,10 +465,43 @@ "color-convert": "^1.9.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "autoprefixer": { @@ -468,17 +518,52 @@ "postcss-value-parser": "^3.2.3" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } }, "browserslist": { "version": "2.11.3", @@ -490,15 +575,64 @@ "electron-to-chromium": "^1.3.30" } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -510,49 +644,805 @@ "which": "^1.2.9" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "diff": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, "has-flag": { @@ -561,188 +1451,215 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3" } }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", "dev": true }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "dev": true, "requires": { - "mime-db": "1.40.0" + "mime-db": "1.42.0" } }, - "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.3.2", - "node-gyp": "^3.3.1", - "npmlog": "^4.0.0", - "request": "^2.79.0", - "sass-graph": "^2.1.1", - "stdout-stream": "^1.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - } - } - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, - "performance-now": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "os-locale": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, "postcss": { "version": "6.0.23", "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", @@ -752,39 +1669,125 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } + } + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" } }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -794,38 +1797,17 @@ "has-flag": "^3.0.0" } }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" - } - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, "tslint": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.18.0.tgz", - "integrity": "sha512-Q3kXkuDEijQ37nXZZLKErssQVnwCV/+23gFEMROi8IlbaBG6tXqLPQJ5Wjcyt/yHPKBC+hD5SzuGaMora+ZS6w==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", "commander": "^2.12.1", - "diff": "^3.2.0", + "diff": "^4.0.1", "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", @@ -845,29 +1827,120 @@ "tslib": "^1.8.1" } }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { - "commander": "~2.13.0", + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typescript": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", + "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "dev": true + }, + "uglify-es": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.2.tgz", + "integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==", + "dev": true, + "requires": { + "commander": "~2.12.1", "source-map": "~0.6.1" + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" }, "dependencies": { - "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } } } }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } } } }, @@ -1023,9 +2096,9 @@ } }, "adm-zip": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", - "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", "dev": true }, "after": { @@ -1146,9 +2219,9 @@ } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -1173,6 +2246,12 @@ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -1249,9 +2328,12 @@ } }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } }, "asn1.js": { "version": "4.9.2", @@ -1276,7 +2358,14 @@ "assert-plus": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true }, "ast-types": { "version": "0.8.15", @@ -1313,6 +2402,12 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, "autoprefixer": { "version": "6.7.7", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", @@ -1330,12 +2425,14 @@ "aws-sign2": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true }, "babel-code-frame": { "version": "6.26.0", @@ -1471,6 +2568,79 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "base62": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz", @@ -1501,10 +2671,9 @@ "dev": true }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "requires": { "tweetnacl": "^0.14.3" } @@ -1650,6 +2819,7 @@ "version": "2.10.1", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, "requires": { "hoek": "2.x.x" } @@ -1845,6 +3015,37 @@ "y18n": "^3.2.1" } }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", @@ -1894,9 +3095,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000976", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000976.tgz", - "integrity": "sha512-tleNB1IwPRqZiod6nUNum63xQCMN96BUO2JTeiwuRM7p9d616EHsMBjBWJMudX39qCaPuWY8KEWzMZq7A9XQMQ==", + "version": "1.0.30001012", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001012.tgz", + "integrity": "sha512-7RR4Uh04t9K1uYRWzOJmzplgEOAXbfK72oVNokCdMzA67trrhPzy93ahKk1AWHiA0c58tD2P+NHqxrA8FZ+Trg==", "dev": true }, "caseless": { @@ -2027,10 +3228,39 @@ } } }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "clean-css": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", - "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, "requires": { "source-map": "0.5.x" @@ -2098,7 +3328,8 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "coa": { "version": "1.0.4", @@ -2204,6 +3435,16 @@ } } }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "color": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", @@ -2274,6 +3515,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2358,45 +3600,48 @@ } }, "connect": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz", - "integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { - "debug": "2.6.7", - "finalhandler": "1.0.3", - "parseurl": "~1.3.1", - "utils-merge": "1.0.0" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" }, "dependencies": { - "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true }, "finalhandler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { - "debug": "2.6.7", - "encodeurl": "~1.0.1", + "debug": "2.6.9", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.1", - "statuses": "~1.3.1", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" } }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true } } @@ -2477,6 +3722,12 @@ "run-queue": "^1.0.0" } }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, "copy-webpack-plugin": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz", @@ -3199,6 +4450,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, "requires": { "boom": "2.x.x" } @@ -3411,6 +4663,12 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -3436,6 +4694,59 @@ "object-keys": "^1.0.8" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -3720,6 +5031,30 @@ "domelementtype": "1" } }, + "dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true + }, + "dotenv-defaults": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-1.0.2.tgz", + "integrity": "sha512-iXFvHtXl/hZPiFj++1hBg4lbKwGM+t/GlvELDnRtOFdjXyWP7mubkVr+eZGWG62kdsbulXAef6v/j6kiWc/xGA==", + "dev": true, + "requires": { + "dotenv": "^6.2.0" + } + }, + "dotenv-webpack": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.7.0.tgz", + "integrity": "sha512-wwNtOBW/6gLQSkb8p43y0Wts970A3xtNiG/mpwj9MLUhtPCQG6i+/DSXXoNN7fbPCU/vQ7JjwGmgOeGZSSZnsw==", + "dev": true, + "requires": { + "dotenv-defaults": "^1.0.2" + } + }, "duplexify": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", @@ -3733,12 +5068,12 @@ } }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "requires": { - "jsbn": "~0.1.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ee-first": { @@ -3965,9 +5300,9 @@ "dev": true }, "env-paths": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==" }, "errno": { "version": "0.1.6", @@ -3979,13 +5314,12 @@ } }, "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", "dev": true, "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" + "string-template": "~0.2.1" } }, "error-ex": { @@ -4385,9 +5719,31 @@ } }, "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } }, "extglob": { "version": "0.3.2", @@ -4489,13 +5845,13 @@ } }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", "requires": { "is-number": "^2.1.0", "isobject": "^2.0.0", - "randomatic": "^1.1.3", + "randomatic": "^3.0.0", "repeat-element": "^1.1.2", "repeat-string": "^1.5.2" } @@ -4594,6 +5950,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.5", @@ -4606,6 +5963,15 @@ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", "dev": true }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -4643,11 +6009,11 @@ } }, "fs-minipass": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz", - "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs-write-stream-atomic": { @@ -4702,11 +6068,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4723,7 +6091,8 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", @@ -4852,6 +6221,7 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5196,10 +6566,13 @@ } }, "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } }, "generate-object-property": { "version": "1.2.0", @@ -5226,6 +6599,12 @@ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -5479,9 +6858,9 @@ "bundled": true }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "minimatch": { "version": "3.0.4", @@ -5741,15 +7120,37 @@ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, + "handlebars": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "har-schema": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true }, "har-validator": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, "requires": { "ajv": "^4.9.1", "har-schema": "^1.0.5" @@ -5759,6 +7160,7 @@ "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, "requires": { "co": "^4.6.0", "json-stable-stringify": "^1.0.1" @@ -5817,6 +7219,66 @@ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", @@ -5840,6 +7302,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, "requires": { "boom": "2.x.x", "cryptiles": "2.x.x", @@ -5867,7 +7330,8 @@ "hoek": { "version": "2.16.3", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true }, "hosted-git-info": { "version": "2.5.0", @@ -6063,6 +7527,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, "requires": { "assert-plus": "^0.2.0", "jsprim": "^1.2.2", @@ -6314,6 +7779,15 @@ "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", "dev": true }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -6346,12 +7820,40 @@ "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", "dev": true }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, "is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", @@ -6412,7 +7914,7 @@ "is-my-json-valid": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", - "integrity": "sha1-PamJFKcKIvCoVj7xURokbG/FVHE=", + "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==", "dev": true, "requires": { "generate-function": "^2.0.0", @@ -6532,6 +8034,12 @@ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -6685,113 +8193,6 @@ "dev": true, "requires": { "handlebars": "^4.0.3" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true, - "optional": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "optional": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true, - "optional": true - } - } - }, - "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", - "dev": true, - "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "optional": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "optional": true - } - } - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "optional": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } } }, "jasmine": { @@ -6847,20 +8248,27 @@ "dev": true }, "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", - "esprima": "^2.6.0" + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } } }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsesc": { "version": "0.5.0", @@ -6889,6 +8297,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "requires": { "jsonify": "~0.0.0" } @@ -6922,7 +8331,8 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsonpointer": { "version": "4.0.1", @@ -7265,14 +8675,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash.camelcase": { "version": "4.3.0", @@ -7283,7 +8688,8 @@ "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true }, "lodash.memoize": { "version": "4.1.2", @@ -7291,11 +8697,6 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.mergewith": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=" - }, "lodash.tail": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", @@ -7401,9 +8802,9 @@ } }, "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.9.tgz", + "integrity": "sha512-k4F1JUof6cQXxNFzx3thLby4oJzXTXQueAOOts944Vqizn+Rjc2QNFenT9FJSLU1CH3PmrHRSyZs2E+Cqw+P2w==", "dev": true }, "macos-release": { @@ -7444,17 +8845,37 @@ "integrity": "sha1-h2L/rSRE3Y/x98gZYp+ijiT+ocQ=", "dev": true }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", "dev": true }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", @@ -7570,12 +8991,14 @@ "mime-db": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true }, "mime-types": { "version": "2.1.17", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true, "requires": { "mime-db": "~1.30.0" } @@ -7612,32 +9035,32 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mississippi": { @@ -7670,6 +9093,27 @@ } } }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mixin-object": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", @@ -7749,6 +9193,45 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, "ncname": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", @@ -7764,6 +9247,12 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, "no-case": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", @@ -7780,27 +9269,27 @@ "dev": true }, "node-gyp": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.1.tgz", - "integrity": "sha512-D68549U6EDVJLrAkSOZCWX/nmlYo0eCX2dYZoTOOZJ7bEIFrSE/MQgsgMFBKjByJ323hNzkifw2OuT3A5bR5mA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.0.1.tgz", + "integrity": "sha512-udHG4hGe3Ji97AYJbJhaRwuSOuQO7KHnE4ZPH3Sox3tjRZ+bkBsDvfZ7eYA1qwD8eLWr//193x806ss3HFTPRw==", "requires": { - "env-paths": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^4.4.8", - "which": "1" + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" }, "dependencies": { "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -7819,9 +9308,9 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" }, "combined-stream": { "version": "1.0.8", @@ -7851,6 +9340,24 @@ "mime-types": "^2.1.12" } }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -7881,24 +9388,16 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "requires": { - "mime-db": "1.40.0" - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "requires": { - "abbrev": "1" + "mime-db": "1.42.0" } }, "oauth-sign": { @@ -7943,15 +9442,23 @@ "uuid": "^3.3.2" } }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "tough-cookie": { "version": "2.4.3", @@ -7963,9 +9470,17 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -8007,9 +9522,9 @@ "dev": true }, "node-sass": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz", - "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz", + "integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==", "requires": { "async-foreach": "^0.1.3", "chalk": "^1.1.1", @@ -8018,23 +9533,22 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", + "lodash": "^4.17.15", "meow": "^3.7.0", "mkdirp": "^0.5.1", - "nan": "^2.3.2", - "node-gyp": "^3.3.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", "npmlog": "^4.0.0", - "request": "^2.79.0", - "sass-graph": "^2.1.1", - "stdout-stream": "^1.4.0" + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -8053,9 +9567,9 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz", + "integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==" }, "chalk": { "version": "1.1.3", @@ -8119,6 +9633,24 @@ "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" + }, + "dependencies": { + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + } } }, "json-schema-traverse": { @@ -8126,19 +9658,29 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" }, "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "requires": { - "mime-db": "1.40.0" + "mime-db": "1.42.0" } }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -8156,35 +9698,6 @@ "semver": "~5.3.0", "tar": "^2.0.0", "which": "1" - }, - "dependencies": { - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - } } }, "nopt": { @@ -8210,10 +9723,37 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "semver": { "version": "5.3.0", @@ -8245,9 +9785,9 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" } } }, @@ -8260,7 +9800,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -8352,7 +9891,8 @@ "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -8365,11 +9905,50 @@ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -8379,6 +9958,23 @@ "is-extendable": "^0.1.1" } }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, "obuf": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", @@ -8417,6 +10013,24 @@ "is-wsl": "^1.1.0" } }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, "options": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", @@ -8429,24 +10043,12 @@ "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4=" }, "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "dev": true, "requires": { - "url-parse": "1.0.x" - }, - "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.x", - "requires-port": "1.0.x" - } - } + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -8619,12 +10221,24 @@ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", "dev": true }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -8693,7 +10307,8 @@ "performance-now": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true }, "pify": { "version": "2.3.0", @@ -8774,6 +10389,12 @@ } } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", @@ -9759,7 +11380,8 @@ "qs": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true }, "query-string": { "version": "4.3.4", @@ -9783,46 +11405,25 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", - "dev": true - }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -10001,6 +11602,16 @@ "is-equal-shallow": "^0.1.3" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, "regexpu-core": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", @@ -10081,6 +11692,7 @@ "version": "2.81.0", "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, "requires": { "aws-sign2": "~0.6.0", "aws4": "^1.2.1", @@ -10152,6 +11764,18 @@ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -10211,9 +11835,9 @@ } }, "rollup-pluginutils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz", - "integrity": "sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, "requires": { "estree-walker": "^0.6.1" @@ -10255,6 +11879,20 @@ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", "dev": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "sass-graph": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", @@ -10423,58 +12061,98 @@ } }, "serve-static": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", - "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "dev": true, "requires": { - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.1", - "send": "0.15.3" + "parseurl": "~1.3.3", + "send": "0.17.1" }, "dependencies": { - "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "fresh": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "send": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "dev": true, "requires": { - "debug": "2.6.7", - "depd": "~1.1.0", + "debug": "2.6.9", + "depd": "~1.1.2", "destroy": "~1.0.4", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "etag": "~1.8.0", - "fresh": "0.5.0", - "http-errors": "~1.6.1", - "mime": "1.3.4", - "ms": "2.0.0", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.3.1" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true } } }, @@ -10493,6 +12171,29 @@ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -10573,10 +12274,119 @@ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, "sntp": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, "requires": { "hoek": "2.x.x" } @@ -10817,6 +12627,19 @@ } } }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", @@ -10825,6 +12648,12 @@ "source-map": "^0.5.6" } }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", @@ -10872,6 +12701,15 @@ "wbuf": "^1.7.2" } }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -10879,9 +12717,9 @@ "dev": true }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -10890,6 +12728,7 @@ "ecc-jsbn": "~0.1.1", "getpass": "^0.1.1", "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, "dependencies": { @@ -10901,12 +12740,33 @@ } }, "ssri": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", - "integrity": "sha1-E8GTkLYGyCHyoQ0Cs1HBcpuU2M8=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "^5.1.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, "statuses": { @@ -11010,9 +12870,10 @@ } }, "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true }, "strip-ansi": { "version": "3.0.1", @@ -11137,6 +12998,18 @@ "mkdirp": "~0.5.1", "sax": "~1.2.1", "whet.extend": "~0.9.9" + }, + "dependencies": { + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + } } }, "sw-toolbox": { @@ -11175,13 +13048,13 @@ "dev": true }, "tar": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", - "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.5", + "minipass": "^2.8.6", "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", @@ -11189,19 +13062,19 @@ }, "dependencies": { "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, @@ -11321,6 +13194,54 @@ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", "dev": true }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, "toposort": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", @@ -11331,6 +13252,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, "requires": { "punycode": "^1.4.1" } @@ -11352,6 +13274,14 @@ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "requires": { + "glob": "^7.1.2" + } + }, "ts-node": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.0.4.tgz", @@ -11505,8 +13435,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "type-is": { "version": "1.6.15", @@ -11620,6 +13549,18 @@ "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=", "dev": true }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", @@ -11681,6 +13622,58 @@ "through2": "^0.6.2" } }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, "upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -11702,6 +13695,12 @@ } } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -11732,19 +13731,19 @@ } }, "url-parse": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", "dev": true, "requires": { - "querystringify": "~1.0.0", - "requires-port": "~1.0.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" }, "dependencies": { "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", "dev": true } } @@ -11755,6 +13754,12 @@ "integrity": "sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8=", "dev": true }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", @@ -11816,7 +13821,8 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=" + "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=", + "dev": true }, "v8flags": { "version": "2.1.1", @@ -11887,14 +13893,920 @@ "dev": true }, "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "async": "^2.1.2", - "chokidar": "^1.7.0", - "graceful-fs": "^4.1.2" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } } }, "wbuf": { diff --git a/DynamicBibleIonic/package.json b/DynamicBibleIonic/package.json index a0c04d55..9be40dcc 100644 --- a/DynamicBibleIonic/package.json +++ b/DynamicBibleIonic/package.json @@ -53,8 +53,8 @@ "ionic-plugin-keyboard": "^2.2.1", "ionic2-auto-complete": "^1.6.2-alpha", "ionicons": "3.0.0", - "node-gyp": "^5.0.1", - "node-sass": "^4.5.3", + "node-gyp": "6.0.1", + "node-sass": "4.13.0", "promise-polyfill": "^6.0.2", "rxjs": "5.5.2", "sw-toolbox": "3.6.0", @@ -62,11 +62,11 @@ }, "devDependencies": { "@angular/cli": "1.6.3", - "@ionic/app-scripts": "3.1.0", + "@ionic/app-scripts": "^3.2.4", "@types/jasmine": "2.5.41", "@types/node": "7.0.4", "codecov": "2.2.0", - "connect": "3.6.2", + "connect": "^3.7.0", "ionic-mocks": "0.10.1", "jasmine-core": "2.6.2", "jasmine-reporters": "2.2.1", @@ -78,7 +78,7 @@ "karma-jasmine-html-reporter": "0.2.2", "karma-junit-reporter": "1.2.0", "protractor": "5.1.2", - "serve-static": "1.12.3", + "serve-static": "^1.14.1", "ts-node": "3.0.4", "tslint": "5.3.2", "tslint-eslint-rules": "4.1.1", @@ -126,4 +126,4 @@ "android" ] } -} \ No newline at end of file +}