From e71484ad38b273bfb7d1b627cc473ba9ab12ab1e Mon Sep 17 00:00:00 2001 From: ChapelR Date: Sat, 22 Jun 2019 01:50:41 -0400 Subject: [PATCH 01/11] Create state.js TODO 1. get the IFID from Harlowe... I can pull this from the data-chunk. 2. Port IFID keys to user prefs. 3. Test Harlowe version (can pull from data chunk) to determine if session restoration is needed. 4. Serialize the menu API callbacks somehow to preserve their state as well. --- src/state.js | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/state.js diff --git a/src/state.js b/src/state.js new file mode 100644 index 0000000..c53d059 --- /dev/null +++ b/src/state.js @@ -0,0 +1,72 @@ +(function () { + 'use strict'; + + // save the state to reload it on restarts... + // load script just before setup.js + + var _key = '{ifid}_hal_restart_'; // need to get the story IFID for this + var _store = function () { + if (window.sessionStorage) { + save = function (key, data) { + window.sessionStorage.setItem(_key + 'key', data); + }; + load = function (key) { + return window.sessionStorage.getItem(_key + 'key'); + }; + } else { + save = function () { /* no op */ }; + load = function () { /* no op */ }; + console.warn('Session storage is unavailable...'); + } + return { + save : save, + load : load + }; + }; + + function saveTracks () { + var data; + try { + data = Chapel.Audio.classes.Track.list.map( function (track) { + return { + id : track.id, + sources : track.sources + }; + }); + data = JSON.stringify(data); + _store.save('tracks', data); + } catch (err) { + console.error(err.message); + } + } + + function loadTracks () { + // reprocess all track data + var data; + try { + data = _store.load('tracks'); + if (data) { + data = JSON.parse(data); + } + if (Array.isArray(data) && data.length) { + data.forEach( function (def) { + if (def.id && def.sources && !Chapel.Audio.classes.Track.has(def.id)) { + Chapel.Audio.newTrack(def.id, def.sources); + } else { + console.warn('Track reload failed...'); + } + }); + } + } catch (err) { + console.error(err.message); + } + } + + $(document).one('unload', function () { + // save tracks to session storage + saveTracks(); + }); + + // reload any tracks in session storage on start-up + loadTracks(); +}()); \ No newline at end of file From b35180cbf679271e024d2a479854f9fcc58fe10e Mon Sep 17 00:00:00 2001 From: ChapelR Date: Sat, 22 Jun 2019 02:24:34 -0400 Subject: [PATCH 02/11] v1.3.0pre1 --- dist/harlowe-audio.min.js | 2 +- docs/README.md | 2 +- docs/changelog.md | 4 ++++ package.json | 2 +- src/a-get.js | 40 ++++++++++++++++++++++++++++++++++++ src/{state.js => r-state.js} | 13 ++++++------ src/setup.js | 10 +++++++++ src/wrap/min.js | 2 +- 8 files changed, 64 insertions(+), 11 deletions(-) create mode 100644 src/a-get.js rename src/{state.js => r-state.js} (87%) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index 57cc95b..982aaad 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -25,6 +25,6 @@ } }; - !function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function p(t,e){if(!(this instanceof p))return new p(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},p.list={},p.is=function(t){return t instanceof p},p.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),p.list[t]=new p(t,e),p.list[t]},p.extend=function(t){i(p,t)},p.extendPrototype=function(t){i(p.prototype,t)},p.prototype={constructor:p,clone:function(){return new p(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=p,a.createPlaylist=p.add,a.playlist=function(t){return p.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=p.extend,a.extendPlaylistProto=p.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),u.toggleClass("closed")}),u=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&u.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:u,$volume:o,$mute:r,$user:t,close:function(){u.addClass("closed")},open:function(){u.removeClass("closed")},toggle:function(){u.toggleClass("closed")},hide:function(){u.css("display","none")},show:function(){u.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function u(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:u,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){u()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(u,i)}()}else setTimeout(u,i)}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume()}(),function(){"use strict";if(options.controls.show){var u=Engine,s=Chapel.Audio.controls.$user,t=function(){return"none"!==s.css("display")},c=function(){return t()||s.css("display","block"),s},e=function(){return t()&&s.css("display","none"),s};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&u.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(s);return c(),a},clear:function(){return s.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); + !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),3<=t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=d,a.createPlaylist=d.add,a.playlist=function(t){return d.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=d.extend,a.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var o=options.storagekey+"_hal_restart_",e=function(){return window.sessionStorage?(save=function(t,e){window.sessionStorage.setItem(o+"key",e)},load=function(t){return window.sessionStorage.getItem(o+"key")}):(save=function(){},load=function(){},console.warn("Session storage is unavailable...")),{save:save,load:load}};window.Chapel.Audio.state={_store:e,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),e.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{(t=e.load("tracks"))&&(t=JSON.parse(t)),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); }()); \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index f868b49..e83d9b9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -38,7 +38,7 @@ The best place to ask for help if the issue is on your end is [the Twine Q&A](ht ## Installation -All you need to install this library is the code. There are two ways to get it: [copy and pasting from GitHub](https://github.com/ChapelR/harlowe-audio/tree/master/dist), or [via a Google Drive download](https://drive.google.com/file/d/1ThjHsBDzAwYNLc0p8g_V1fC-dLhBc8EH/view?usp=sharing). If you download the code, be sure to open it and mess with it in a text editor, *not* a word processor. Once you've got the code, you'll need to put in in your project. +All you need to install this library is the code. Download the most recent version of HAL here, on the [releases page](https://github.com/ChapelR/harlowe-audio/releases). If you download the code, be sure to open it and mess with it in a text editor, *not* a word processor. Once you've got the code, you'll need to put in in your project. **In Twine 2 (online or standalone)**, copy and paste the code in `harlowe-audio.min.js` into your [Story JavaScript area](https://twinery.org/wiki/twine2:adding_custom_javascript_and_css), and the code in `harlowe-audio.min.css` into your Story Stylesheet area. diff --git a/docs/changelog.md b/docs/changelog.md index 3c01f32..9db9d6f 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,3 +1,7 @@ +## v1.3.0 + +This version of HAL should address most issues related to Harlowe v3's refresh/reload persistence for tracks. The Menu API calls still need to be set up in Story JavaScript; there's simply too much that can go wrong there. + ## v1.2.0 This version adds event handler methods to the `track` prototype and to the root `A` object. diff --git a/package.json b/package.json index da37871..7728d8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "harlowe-audio", - "version": "1.0.0", + "version": "1.3.0", "description": "Audio library for Twine2/Harlowe2.", "main": "gulpfile.js", "directories": { diff --git a/src/a-get.js b/src/a-get.js new file mode 100644 index 0000000..8bf9614 --- /dev/null +++ b/src/a-get.js @@ -0,0 +1,40 @@ +(function () { + 'use strict'; + + // pull data from the data chunk for use elsewhere + + var $dataChunk = $('tw-storydata'); + + function getHarloweVersion () { + var semVer = $dataChunk.attr('format-version'); + var major = semVer.split('.')[0]; + major = Number(major); + if (Number.isNaN(major)) { + major = 3; + } + if (major < 1) { + major = 3; + } + return major; + } + + function version3OrLater () { + return getHarloweVersion() >= 3; + } + + function getStoryTitle () { + return $dataChunk.attr('name'); + } + + function getStoryIFID () { + return $dataChunk.attr('ifid'); + } + + window.Chapel = window.Chapel || {}; + + window.Chapel.Get = { + isHarlowe3OrLater : version3OrLater(), + storyTitle : getStoryTitle(), + IFID : getStoryIFID() + }; +}()); \ No newline at end of file diff --git a/src/state.js b/src/r-state.js similarity index 87% rename from src/state.js rename to src/r-state.js index c53d059..62636e1 100644 --- a/src/state.js +++ b/src/r-state.js @@ -4,7 +4,7 @@ // save the state to reload it on restarts... // load script just before setup.js - var _key = '{ifid}_hal_restart_'; // need to get the story IFID for this + var _key = options.storagekey + '_hal_restart_'; var _store = function () { if (window.sessionStorage) { save = function (key, data) { @@ -62,11 +62,10 @@ } } - $(document).one('unload', function () { - // save tracks to session storage - saveTracks(); - }); + window.Chapel.Audio.state = { + _store : _store, + saveTracks : saveTracks, + loadTracks : loadTracks + }; - // reload any tracks in session storage on start-up - loadTracks(); }()); \ No newline at end of file diff --git a/src/setup.js b/src/setup.js index faf9a1a..e881069 100644 --- a/src/setup.js +++ b/src/setup.js @@ -14,4 +14,14 @@ Chapel.Audio.controls.updateVolume(); } + if (Chapel.Get.isHarlowe3OrLater) { + $(document).one('unload', function () { + // save tracks to session storage + Chapel.Audio.state.saveTracks(); + }); + + // reload any tracks in session storage on start-up + Chapel.Audio.state.loadTracks(); + } + }()); \ No newline at end of file diff --git a/src/wrap/min.js b/src/wrap/min.js index 81722bd..fa82b0d 100644 --- a/src/wrap/min.js +++ b/src/wrap/min.js @@ -1 +1 @@ -!function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function p(t,e){if(!(this instanceof p))return new p(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},p.list={},p.is=function(t){return t instanceof p},p.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),p.list[t]=new p(t,e),p.list[t]},p.extend=function(t){i(p,t)},p.extendPrototype=function(t){i(p.prototype,t)},p.prototype={constructor:p,clone:function(){return new p(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=p,a.createPlaylist=p.add,a.playlist=function(t){return p.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=p.extend,a.extendPlaylistProto=p.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),u.toggleClass("closed")}),u=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&u.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:u,$volume:o,$mute:r,$user:t,close:function(){u.addClass("closed")},open:function(){u.removeClass("closed")},toggle:function(){u.toggleClass("closed")},hide:function(){u.css("display","none")},show:function(){u.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function u(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:u,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){u()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(u,i)}()}else setTimeout(u,i)}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume()}(),function(){"use strict";if(options.controls.show){var u=Engine,s=Chapel.Audio.controls.$user,t=function(){return"none"!==s.css("display")},c=function(){return t()||s.css("display","block"),s},e=function(){return t()&&s.css("display","none"),s};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&u.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(s);return c(),a},clear:function(){return s.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); \ No newline at end of file +!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),3<=t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=d,a.createPlaylist=d.add,a.playlist=function(t){return d.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=d.extend,a.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var o=options.storagekey+"_hal_restart_",e=function(){return window.sessionStorage?(save=function(t,e){window.sessionStorage.setItem(o+"key",e)},load=function(t){return window.sessionStorage.getItem(o+"key")}):(save=function(){},load=function(){},console.warn("Session storage is unavailable...")),{save:save,load:load}};window.Chapel.Audio.state={_store:e,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),e.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{(t=e.load("tracks"))&&(t=JSON.parse(t)),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); \ No newline at end of file From dea20f7e81e8b382666c1814e1bf087137542aa3 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Sat, 22 Jun 2019 02:26:30 -0400 Subject: [PATCH 03/11] update deps --- package-lock.json | 1525 ++++++++++----------------------------------- package.json | 6 +- 2 files changed, 335 insertions(+), 1196 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b8cdb6..8ada861 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,9 @@ { "name": "harlowe-audio", - "version": "0.1.0", + "version": "1.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "optional": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -187,53 +175,26 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "optional": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", - "optional": true - }, "async-done": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.1.tgz", - "integrity": "sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.2", - "process-nextick-args": "^1.0.7", + "process-nextick-args": "^2.0.0", "stream-exhaust": "^1.0.1" - }, - "dependencies": { - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - } } }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, "async-settle": { "version": "1.0.0", @@ -243,16 +204,10 @@ "async-done": "^1.2.2" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "optional": true - }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { "version": "8.6.5", @@ -267,18 +222,6 @@ "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=", - "optional": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "optional": true - }, "bach": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", @@ -350,19 +293,10 @@ } } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" }, "binaryextensions": { "version": "2.1.1", @@ -424,11 +358,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -455,30 +384,30 @@ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000876.tgz", "integrity": "sha512-v+Q2afhJJ1oydQnEB4iHhxDz5x9lWPbRnQBQlM3FgtZxqLO8KDSdu4txUrFwC1Ws9I2kQi/QImkvj17NbVpNAg==" }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "optional": true - }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } } }, "class-utils": { @@ -524,29 +453,6 @@ "requires": { "exit": "0.1.2", "glob": "^7.1.1" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "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" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } } }, "cliui": { @@ -613,12 +519,6 @@ } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "optional": true - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -661,29 +561,15 @@ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "optional": true - }, - "combined-stream": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", - "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "concat-map": { "version": "0.0.1", @@ -699,35 +585,6 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "concat-with-sourcemaps": { @@ -754,9 +611,12 @@ } }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } }, "copy-descriptor": { "version": "0.1.1", @@ -777,27 +637,13 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", - "optional": true - }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "requires": { - "es5-ext": "^0.10.9" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "optional": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "assert-plus": "^1.0.0" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, "date-now": { @@ -844,12 +690,11 @@ "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=" }, "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "object-keys": "^1.0.12" } }, "define-property": { @@ -902,41 +747,31 @@ "rimraf": "^2.2.8" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" }, "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "^1.3.0", + "entities": "^1.1.1" }, "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" } } }, "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domhandler": { "version": "2.3.0", @@ -956,43 +791,14 @@ } }, "duplexify": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", - "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "each-props": { @@ -1004,16 +810,6 @@ "object.defaults": "^1.1.0" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "optional": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "editions": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", @@ -1056,13 +852,13 @@ } }, "es5-ext": { - "version": "0.10.46", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", - "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "version": "0.10.50", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", + "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", "requires": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.1", - "next-tick": "1" + "next-tick": "^1.0.0" } }, "es6-iterator": { @@ -1075,12 +871,6 @@ "es6-symbol": "^3.1.1" } }, - "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", - "optional": true - }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", @@ -1091,13 +881,13 @@ } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, @@ -1234,29 +1024,6 @@ } } }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", - "optional": true, - "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", - "optional": true - }, "fancy-log": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz", @@ -1267,27 +1034,6 @@ "time-stamp": "^1.0.0" } }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "optional": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "optional": true - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "optional": true, - "requires": { - "pend": "~1.2.0" - } - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -1319,30 +1065,20 @@ } }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", + "is-glob": "^4.0.0", "micromatch": "^3.0.4", "resolve-dir": "^1.0.1" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } } }, "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", "requires": { "expand-tilde": "^2.0.2", "is-plain-object": "^2.0.3", @@ -1352,46 +1088,17 @@ } }, "flagged-respawn": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz", - "integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" }, "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, "for-in": { @@ -1407,28 +1114,6 @@ "for-in": "^1.0.1" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "optional": true - }, - "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "1.0.6", - "mime-types": "^2.1.12" - } - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -1437,25 +1122,6 @@ "map-cache": "^0.2.2" } }, - "fs-extra": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", - "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", - "optional": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "optional": true - } - } - }, "fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", @@ -1471,13 +1137,13 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -1495,7 +1161,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "optional": true, "requires": { @@ -1516,7 +1182,7 @@ } }, "chownr": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "optional": true }, @@ -1538,15 +1204,15 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "optional": true }, @@ -1589,7 +1255,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "optional": true, "requires": { @@ -1607,11 +1273,11 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -1664,15 +1330,15 @@ "bundled": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.5", "bundled": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.2.1", "bundled": true, "optional": true, "requires": { @@ -1687,32 +1353,32 @@ } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.3.0", "bundled": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.12.0", "bundled": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" @@ -1728,12 +1394,12 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.0.6", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.1", "bundled": true, "optional": true, "requires": { @@ -1798,11 +1464,11 @@ "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -1830,15 +1496,15 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true }, "safer-buffer": { @@ -1852,7 +1518,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.0", "bundled": true, "optional": true }, @@ -1896,16 +1562,16 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.8", "bundled": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, @@ -1915,11 +1581,11 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -1927,7 +1593,7 @@ "bundled": true }, "yallist": { - "version": "3.0.2", + "version": "3.0.3", "bundled": true } } @@ -1947,15 +1613,6 @@ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -2003,44 +1660,17 @@ "remove-trailing-separator": "^1.0.1", "to-absolute-glob": "^2.0.0", "unique-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "glob-watcher": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.1.tgz", - "integrity": "sha512-fK92r2COMC199WCyGUblrZKhjra3cyVMDiypDdqg1vsSDmexnbYivK1kNR4QItiNXLKmGlqan469ks67RtNa2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", "requires": { + "anymatch": "^2.0.0", "async-done": "^1.2.0", "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", "just-debounce": "^1.0.0", "object.defaults": "^1.1.0" } @@ -2087,33 +1717,33 @@ } }, "glogg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz", - "integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", "requires": { "sparkles": "^1.0.0" } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "gulp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", - "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", "requires": { - "glob-watcher": "^5.0.0", - "gulp-cli": "^2.0.0", - "undertaker": "^1.0.0", + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", "vinyl-fs": "^3.0.0" }, "dependencies": { "gulp-cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", - "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", "requires": { "ansi-colors": "^1.0.1", "archy": "^1.0.0", @@ -2125,7 +1755,7 @@ "gulplog": "^1.0.0", "interpret": "^1.1.0", "isobject": "^3.0.1", - "liftoff": "^2.5.0", + "liftoff": "^3.1.0", "matchdep": "^2.0.0", "mute-stdout": "^1.0.0", "pretty-hrtime": "^1.0.0", @@ -2317,25 +1947,20 @@ } }, "gulp-uglify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.1.tgz", - "integrity": "sha512-KVffbGY9d4Wv90bW/B1KZJyunLMyfHTBbilpDvmcrj5Go0/a1G3uVpt+1gRBWSw/11dqR3coJ1oWNTt1AiXuWQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", + "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", "requires": { + "array-each": "^1.0.1", + "extend-shallow": "^3.0.2", "gulplog": "^1.0.0", "has-gulplog": "^0.1.0", - "lodash": "^4.13.1", + "isobject": "^3.0.1", "make-error-cause": "^1.1.1", "safe-buffer": "^5.1.2", "through2": "^2.0.0", "uglify-js": "^3.0.5", "vinyl-sourcemaps-apply": "^0.2.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - } } }, "gulplog": { @@ -2346,22 +1971,6 @@ "glogg": "^1.0.0" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "optional": true - }, - "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", - "optional": true, - "requires": { - "ajv": "^5.3.0", - "har-schema": "^2.0.0" - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2409,20 +2018,10 @@ } } }, - "hasha": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", - "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", - "optional": true, - "requires": { - "is-stream": "^1.0.1", - "pinkie-promise": "^2.0.0" - } - }, "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "requires": { "parse-passwd": "^1.0.0" } @@ -2442,17 +2041,29 @@ "domutils": "1.5", "entities": "1.0", "readable-stream": "1.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } } }, "inflight": { @@ -2475,9 +2086,9 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" }, "invert-kv": { "version": "1.0.0", @@ -2529,14 +2140,6 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -2591,9 +2194,9 @@ } }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { "is-extglob": "^2.1.1" } @@ -2658,18 +2261,6 @@ "is-unc-path": "^1.0.0" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "optional": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "optional": true - }, "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", @@ -2694,9 +2285,9 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -2708,11 +2299,6 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, "istextorbinary": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.2.1.tgz", @@ -2723,182 +2309,51 @@ "textextensions": "2" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, "jshint": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz", - "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==", + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.10.2.tgz", + "integrity": "sha512-e7KZgCSXMJxznE/4WULzybCMNXNAd/bf5TSrvVEq78Q/K8ZwFpmBqQeDtNiHc3l49nV4E/+YeHU/JZjSUIrLAA==", "requires": { "cli": "~1.0.0", "console-browserify": "1.1.x", "exit": "0.1.x", "htmlparser2": "3.8.x", - "lodash": "~4.17.10", + "lodash": "~4.17.11", "minimatch": "~3.0.2", - "phantom": "~4.0.1", - "phantomjs-prebuilt": "~2.1.7", "shelljs": "0.3.x", - "strip-json-comments": "1.0.x", - "unicode-5.2.0": "^0.7.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - } + "strip-json-comments": "1.0.x" } }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "optional": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "optional": true - }, - "json-stable-stringify": { + "json-stable-stringify-without-jsonify": { "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=", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "optional": true, - "requires": { - "graceful-fs": "^4.1.6" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "optional": true - } - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" }, "just-debounce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=" }, - "kew": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", - "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", - "optional": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "optional": true, - "requires": { - "graceful-fs": "^4.1.9" - }, - "dependencies": { - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "optional": true - } - } - }, - "last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", - "requires": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - } - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" } }, "lcid": { @@ -2918,12 +2373,12 @@ } }, "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", "requires": { "extend": "^3.0.0", - "findup-sync": "^2.0.0", + "findup-sync": "^3.0.0", "fined": "^1.0.1", "flagged-respawn": "^1.0.0", "is-plain-object": "^2.0.4", @@ -2951,6 +2406,11 @@ } } }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", @@ -2961,11 +2421,6 @@ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, "lodash.isobject": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz", @@ -2977,9 +2432,9 @@ "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" }, "make-error": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", - "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" }, "make-error-cause": { "version": "1.2.2", @@ -3019,6 +2474,27 @@ "micromatch": "^3.0.4", "resolve": "^1.4.0", "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } } }, "micromatch": { @@ -3041,19 +2517,6 @@ "to-regex": "^3.0.2" } }, - "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" - }, - "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", - "requires": { - "mime-db": "~1.35.0" - } - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -3081,37 +2544,20 @@ } } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "optional": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "optional": true - } - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "mute-stdout": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.0.tgz", - "integrity": "sha1-WzLqB+tDyd7WEwQ0z5JvRrKn/U0=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==" }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "optional": true }, "nanomatch": { @@ -3138,12 +2584,12 @@ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } @@ -3162,9 +2608,9 @@ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "now-and-later": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", - "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", "requires": { "once": "^1.3.2" } @@ -3179,12 +2625,6 @@ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "optional": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -3219,9 +2659,9 @@ } }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -3293,35 +2733,6 @@ "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", "requires": { "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "os-locale": { @@ -3423,46 +2834,6 @@ } } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "optional": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "optional": true - }, - "phantom": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz", - "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==", - "optional": true, - "requires": { - "phantomjs-prebuilt": "^2.1.16", - "split": "^1.0.1", - "winston": "^2.4.0" - } - }, - "phantomjs-prebuilt": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", - "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", - "optional": true, - "requires": { - "es6-promise": "^4.0.3", - "extract-zip": "^1.6.5", - "fs-extra": "^1.0.0", - "hasha": "^2.2.0", - "kew": "^0.7.0", - "progress": "^1.1.8", - "request": "^2.81.0", - "request-progress": "^2.0.1", - "which": "^1.2.10" - } - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -3555,18 +2926,6 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "optional": true - }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "optional": true - }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -3586,18 +2945,6 @@ "pump": "^2.0.0" } }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "optional": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "optional": true - }, "rcfinder": { "version": "0.1.9", "resolved": "https://registry.npmjs.org/rcfinder/-/rcfinder-0.1.9.tgz", @@ -3637,54 +2984,27 @@ } }, "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "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" } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "rechoir": { @@ -3729,9 +3049,9 @@ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" }, "repeat-string": { "version": "1.6.1", @@ -3797,43 +3117,6 @@ } } }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "optional": 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" - } - }, - "request-progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", - "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", - "optional": true, - "requires": { - "throttleit": "^1.0.0" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3845,11 +3128,11 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, "resolve-dir": { @@ -3923,15 +3206,10 @@ "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==" - }, "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" }, "semver-greatest-satisfied-range": { "version": "1.1.0", @@ -3946,11 +3224,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-immediate-shim": { - "version": "1.0.1", - "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.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -4102,18 +3375,18 @@ "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" }, "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" }, "spdx-expression-parse": { "version": "3.0.0", @@ -4125,18 +3398,9 @@ } }, "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "optional": true, - "requires": { - "through": "2" - } + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==" }, "split-string": { "version": "3.1.0", @@ -4146,23 +3410,6 @@ "extend-shallow": "^3.0.0" } }, - "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", - "optional": true, - "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" - } - }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -4208,9 +3455,12 @@ } }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } }, "strip-ansi": { "version": "3.0.1", @@ -4247,18 +3497,6 @@ "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.2.0.tgz", "integrity": "sha512-j5EMxnryTvKxwH2Cq+Pb43tsf6sdEgw6Pdwxk83mPaq0ToeFJt6WE4J3s5BqY7vmjlLgkgXvhtXUxo80FyBhCA==" }, - "throttleit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", - "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", - "optional": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "optional": true - }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", @@ -4298,9 +3536,9 @@ } }, "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", "requires": { "through2": "~2.0.0", "xtend": "~4.0.0" @@ -4366,30 +3604,10 @@ "through2": "^2.0.3" } }, - "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==", - "optional": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true + "type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/type/-/type-1.0.1.tgz", + "integrity": "sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw==" }, "typedarray": { "version": "0.0.6", @@ -4397,11 +3615,11 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "uglify-js": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz", - "integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "requires": { - "commander": "~2.16.0", + "commander": "~2.20.0", "source-map": "~0.6.1" }, "dependencies": { @@ -4418,9 +3636,9 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, "undertaker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", - "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", "requires": { "arr-flatten": "^1.0.1", "arr-map": "^2.0.0", @@ -4438,11 +3656,6 @@ "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=" }, - "unicode-5.2.0": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz", - "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==" - }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", @@ -4476,12 +3689,12 @@ } }, "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", "requires": { - "json-stable-stringify": "^1.0.0", - "through2-filter": "^2.0.0" + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" } }, "unset-value": { @@ -4517,18 +3730,13 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" }, "urix": { "version": "0.1.0", @@ -4545,16 +3753,10 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "optional": true - }, "v8flags": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", - "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", "requires": { "homedir-polyfill": "^1.0.1" } @@ -4573,17 +3775,6 @@ "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "vinyl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", @@ -4619,35 +3810,6 @@ "value-or-function": "^3.0.0", "vinyl": "^2.0.0", "vinyl-sourcemap": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "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" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "vinyl-sourcemap": { @@ -4685,20 +3847,6 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, - "winston": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.3.tgz", - "integrity": "sha512-GYKuysPz2pxYAVJD2NPsDLP5Z79SDEzPm9/j4tCjkF/n89iBNGBMJcR+dMUqxgPNgoSs6fVygPi+Vl2oxIpBuw==", - "optional": true, - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - } - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -4750,15 +3898,6 @@ "requires": { "camelcase": "^3.0.0" } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "optional": true, - "requires": { - "fd-slicer": "~1.0.1" - } } } } diff --git a/package.json b/package.json index 7728d8d..04cd139 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,15 @@ }, "dependencies": { "del": "^3.0.0", - "gulp": "^4.0.0", + "gulp": "^4.0.2", "gulp-autoprefixer": "^5.0.0", "gulp-clean-css": "^3.10.0", "gulp-concat": "^2.6.1", "gulp-jshint": "^2.1.0", "gulp-rename": "^1.4.0", "gulp-replace": "^1.0.0", - "gulp-uglify": "^3.0.1", - "jshint": "^2.9.6" + "gulp-uglify": "^3.0.2", + "jshint": "^2.10.2" }, "devDependencies": {}, "scripts": { From afe3114f6e4d613be4682c48d0b387a65c3a5862 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Mon, 24 Jun 2019 08:07:11 -0400 Subject: [PATCH 04/11] v1.3.0pre2 --- dist/harlowe-audio.min.js | 2 +- gulpfile.js | 23 +++++++++++++++++++++-- package.json | 2 +- src/{ => css}/overlay.css | 0 src/{ => css}/panel.css | 0 src/{ => js}/audio.js | 0 src/{ => js}/controlpanel.js | 0 src/{ => js}/detect.js | 0 src/{z-fixes.js => js/fixes.js} | 0 src/{a-get.js => js/get.js} | 0 src/{ => js}/preload.js | 0 src/{ => js}/setup.js | 0 src/{r-state.js => js/state.js} | 5 +++-- src/{ => js}/userland.js | 0 src/wrap/min.js | 2 +- 15 files changed, 27 insertions(+), 7 deletions(-) rename src/{ => css}/overlay.css (100%) rename src/{ => css}/panel.css (100%) rename src/{ => js}/audio.js (100%) rename src/{ => js}/controlpanel.js (100%) rename src/{ => js}/detect.js (100%) rename src/{z-fixes.js => js/fixes.js} (100%) rename src/{a-get.js => js/get.js} (100%) rename src/{ => js}/preload.js (100%) rename src/{ => js}/setup.js (100%) rename src/{r-state.js => js/state.js} (96%) rename src/{ => js}/userland.js (100%) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index 982aaad..2eaba44 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -25,6 +25,6 @@ } }; - !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),3<=t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=d,a.createPlaylist=d.add,a.playlist=function(t){return d.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=d.extend,a.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var o=options.storagekey+"_hal_restart_",e=function(){return window.sessionStorage?(save=function(t,e){window.sessionStorage.setItem(o+"key",e)},load=function(t){return window.sessionStorage.getItem(o+"key")}):(save=function(){},load=function(){},console.warn("Session storage is unavailable...")),{save:save,load:load}};window.Chapel.Audio.state={_store:e,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),e.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{(t=e.load("tracks"))&&(t=JSON.parse(t)),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); + !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),a.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); }()); \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js index ed833a6..a59dea5 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -43,11 +43,30 @@ function rimraf () { // build functions function buildScripts () { - return processScripts('./src/*.js', './src/wrap', 'min.js'); + var jsFiles = [ + 'get.js', + 'audio.js', + 'controlpanel.js', + 'detect.js', + 'preload.js', + 'state.js', + 'setup.js', + 'userland.js', + 'fixes.js' + ].map( function (file) { + return './src/js/' + file; + }); + return processScripts(jsFiles, './src/wrap', 'min.js'); } function buildStyles () { - return processStyles('./src/*.css', './dist', 'harlowe-audio.min.css'); + var cssFiles = [ + 'overlay.css', + 'panel.css' + ].map( function (file) { + return './src/css/' + file; + }); + return processStyles(cssFiles, './dist', 'harlowe-audio.min.css'); } // add js wrapper diff --git a/package.json b/package.json index 04cd139..f3a288d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "devDependencies": {}, "scripts": { - "test": "tweego -f harlowe-2 --head=test/head.html -o test/index.html dist test/twee && start test/index.html", + "test": "tweego -f harlowe-3 --head=test/head.html -o test/index.html dist test/twee && start test/index.html", "gulp": "gulp", "clean": "gulp clean", "build": "gulp build", diff --git a/src/overlay.css b/src/css/overlay.css similarity index 100% rename from src/overlay.css rename to src/css/overlay.css diff --git a/src/panel.css b/src/css/panel.css similarity index 100% rename from src/panel.css rename to src/css/panel.css diff --git a/src/audio.js b/src/js/audio.js similarity index 100% rename from src/audio.js rename to src/js/audio.js diff --git a/src/controlpanel.js b/src/js/controlpanel.js similarity index 100% rename from src/controlpanel.js rename to src/js/controlpanel.js diff --git a/src/detect.js b/src/js/detect.js similarity index 100% rename from src/detect.js rename to src/js/detect.js diff --git a/src/z-fixes.js b/src/js/fixes.js similarity index 100% rename from src/z-fixes.js rename to src/js/fixes.js diff --git a/src/a-get.js b/src/js/get.js similarity index 100% rename from src/a-get.js rename to src/js/get.js diff --git a/src/preload.js b/src/js/preload.js similarity index 100% rename from src/preload.js rename to src/js/preload.js diff --git a/src/setup.js b/src/js/setup.js similarity index 100% rename from src/setup.js rename to src/js/setup.js diff --git a/src/r-state.js b/src/js/state.js similarity index 96% rename from src/r-state.js rename to src/js/state.js index 62636e1..972e1ce 100644 --- a/src/r-state.js +++ b/src/js/state.js @@ -5,7 +5,8 @@ // load script just before setup.js var _key = options.storagekey + '_hal_restart_'; - var _store = function () { + var _store = (function () { + var save, load; if (window.sessionStorage) { save = function (key, data) { window.sessionStorage.setItem(_key + 'key', data); @@ -22,7 +23,7 @@ save : save, load : load }; - }; + }()); function saveTracks () { var data; diff --git a/src/userland.js b/src/js/userland.js similarity index 100% rename from src/userland.js rename to src/js/userland.js diff --git a/src/wrap/min.js b/src/wrap/min.js index fa82b0d..95d8448 100644 --- a/src/wrap/min.js +++ b/src/wrap/min.js @@ -1 +1 @@ -!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),3<=t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var a={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){a.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!a.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*a.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),r.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=r.track.concat(r.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}a.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},a.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},a.on(":master-mute",c.renew),a.on(":master-volume",c.renew),options.persistPrefs&&(a.on(":master-mute",a.savePrefs),a.on(":master-volume",a.savePrefs)),a.on(":play",function(t){t.track.addToGroup("playing")}),a.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){a.isMuted()||(a.mute(!0),$(window).one("focus",function(){a.mute(!1)}))}),a.classes.Track=c,a.newTrack=c.add,a.track=c.get,a.createGroup=function(t,e,o){var n,i,r;n=o?[].slice.call(arguments).slice(1):e,i=t,(r=n)&&Array.isArray(r)||(r=[]),a.groups.custom[i]=r.map(function(t){return c.get(t)})},a.group=function(t){if(!(this instanceof a.group))return new a.group(t);Object.keys(a.groups.custom).includes(t)?this.members=a.groups.custom[t]:this.members=a.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},a.group.is=function(t){return this instanceof a.group},a.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},a.group.extend=function(t){i(a.group,t)},a.group.extendPrototype=function(t){i(a.group.prototype,t)},a.group.prototype={constructor:a.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&a.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},a.classes.Playlist=d,a.createPlaylist=d.add,a.playlist=function(t){return d.list[t]||null},a.extend=function(t){i(a,t)},a.extendTrack=c.extend,a.extendTrackProto=c.extendPrototype,a.extendGroup=a.group.extend,a.extendGroupProto=a.group.extendPrototype,a.extendPlaylist=d.extend,a.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=a,options.persistPrefs&&a.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var o=options.storagekey+"_hal_restart_",e=function(){return window.sessionStorage?(save=function(t,e){window.sessionStorage.setItem(o+"key",e)},load=function(t){return window.sessionStorage.getItem(o+"key")}):(save=function(){},load=function(){},console.warn("Session storage is unavailable...")),{save:save,load:load}};window.Chapel.Audio.state={_store:e,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),e.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{(t=e.load("tracks"))&&(t=JSON.parse(t)),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var n=window.prompt;window.prompt=function(){var t,e,o=n.apply(null,[].slice.call(arguments));return t=o,e=(new DOMParser).parseFromString(t,"text/html"),Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})?o.replace(/[<>]/g,""):o}}(); \ No newline at end of file +!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),a.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file From 6017a680d94812fd8bd1493e7e2dc8011e8196b1 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Mon, 24 Jun 2019 08:08:23 -0400 Subject: [PATCH 05/11] bump version --- dist/harlowe-audio.min.js | 2 +- src/wrap/wrapper.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index 2eaba44..c1650c3 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -1,6 +1,6 @@ ;(function () { /** - * Harlowe Audio Library, by Chapel, v1.1.2 + * Harlowe Audio Library, by Chapel, v1.3.0 * * Released under the Unlicense, and dedicated to the public domain. **/ diff --git a/src/wrap/wrapper.js b/src/wrap/wrapper.js index 5743197..89503b4 100644 --- a/src/wrap/wrapper.js +++ b/src/wrap/wrapper.js @@ -1,6 +1,6 @@ ;(function () { /** - * Harlowe Audio Library, by Chapel, v1.1.2 + * Harlowe Audio Library, by Chapel, v1.3.0 * * Released under the Unlicense, and dedicated to the public domain. **/ From f6d8739161ae9080d79d92ffbd5cdd21e7999f43 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 09:26:47 -0400 Subject: [PATCH 06/11] v1.3.0pre3 --- dist/harlowe-audio.min.js | 2 +- src/js/audio.js | 2 +- src/js/setup.js | 4 ++ src/js/state.js | 88 ++++++++++++++++++++++++++++++++++++++- src/wrap/min.js | 2 +- 5 files changed, 94 insertions(+), 4 deletions(-) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index c1650c3..3ed6962 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -25,6 +25,6 @@ } }; - !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),a.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); + !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); }()); \ No newline at end of file diff --git a/src/js/audio.js b/src/js/audio.js index d533fc8..ec73d18 100644 --- a/src/js/audio.js +++ b/src/js/audio.js @@ -557,7 +557,7 @@ } this.$el.on(type, cb); }, - one : function () { + one : function (type, cb) { if (!cb || typeof cb !== 'function') { console.error('.one() -> invalid callback'); return this; diff --git a/src/js/setup.js b/src/js/setup.js index e881069..54c7ad0 100644 --- a/src/js/setup.js +++ b/src/js/setup.js @@ -18,10 +18,14 @@ $(document).one('unload', function () { // save tracks to session storage Chapel.Audio.state.saveTracks(); + Chapel.Audio.state.savePlaylists(); + Chapel.Audio.state.saveGroups(); }); // reload any tracks in session storage on start-up Chapel.Audio.state.loadTracks(); + Chapel.Audio.state.loadPlaylists(); + Chapel.Audio.state.loadGroups(); } }()); \ No newline at end of file diff --git a/src/js/state.js b/src/js/state.js index 972e1ce..160bc7e 100644 --- a/src/js/state.js +++ b/src/js/state.js @@ -25,6 +25,8 @@ }; }()); + // tracks + function saveTracks () { var data; try { @@ -63,10 +65,94 @@ } } + // playlists + + function savePlaylists () { + var data; + try { + data = Chapel.Audio.classes.Playlist.list.map( function (pl) { + var obj = {}; + obj.tracks = pl.tracks.map( function (tr) { + return tr.id; + }); + obj.id = pl.id; + return obj; + }); + data = JSON.stringify(data); + _store.save('playlists', data); + } catch (err) { + console.error(err.message); + } + } + + function loadPlaylists () { + var data; + try { + data = _store.load('playlists'); + if (data) { + data = JSON.parse(data); + } + if (data && Array.isArray(data) && data.length) { + data.forEach( function (def) { + if (def.id && def.tracks) { + Chapel.Audio.createPlaylist(def.id, def.tracks); + } + }); + } + } catch (err) { + console.error(err.message); + } + } + + // custom groups + + function saveGroups () { + var data; + try { + data = {}; + Object.keys(Chapel.Audio.groups.custom).forEach( function (gr) { + data[gr] = Chapel.Audio.groups.custom[gr].map( function (tr) { + if (typeof tr === 'string') { + return tr; + } + return tr.id; + }); + }); + data = JSON.stringify(data); + _store.save('groups', data); + } catch (err) { + console.error(err.message); + } + } + + function loadGroups () { + var data; + try { + data = _store.load('groups'); + if (data) { + data = JSON.parse(data); + } + if (data && typeof data === 'object') { + Object.keys(data).forEach( function (gr) { + data[gr].map( function (tr) { + return Chapel.Audio.classes.Track.get(tr); + }); + }); + Chapel.Audio.groups.custom = data; + } + } catch (err) { + console.error(err.message); + } + } + window.Chapel.Audio.state = { _store : _store, saveTracks : saveTracks, - loadTracks : loadTracks + loadTracks : loadTracks, + savePlaylists : savePlaylists, + loadPlaylists : loadPlaylists, + saveGroups : saveGroups, + loadGroups : loadGroups }; }()); \ No newline at end of file diff --git a/src/wrap/min.js b/src/wrap/min.js index 95d8448..4120d45 100644 --- a/src/wrap/min.js +++ b/src/wrap/min.js @@ -1 +1 @@ -!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(){return cb&&"function"==typeof cb?(type=type.trim().toLowerCase(),":"!==type[0]&&(type=":"+type),a.track.includes(type)?void this.$el.one(type,cb):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file +!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file From 8e15b65ece9ee40b45ff7c1a1e095ebf9b9524fd Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 10:09:49 -0400 Subject: [PATCH 07/11] v1.3.0pre4 --- dist/harlowe-audio.min.js | 2 +- src/js/setup.js | 2 +- src/js/state.js | 13 +++++++------ src/wrap/min.js | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index 3ed6962..2dbc1a9 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -25,6 +25,6 @@ } }; - !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); + !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+t,e)},e=function(t){return window.sessionStorage.getItem(o+t)}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack.apply(null,[t.id].concat(t.sources)):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}},savePlaylists:function(){var t;try{var o=Chapel.Audio.classes.Playlist.list;t=Object.keys(o).map(function(t){var e={};return e.tracks=o[t].tracks.map(function(t){return t.id}),e.id=o[t].id,e}),t=JSON.stringify(t),n.save("playlists",t)}catch(t){console.error(t.message)}},loadPlaylists:function(){var t;try{(t=(t=n.load("playlists"))&&JSON.parse(t))&&Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.tracks&&Chapel.Audio.createPlaylist(t.id,t.tracks)})}catch(t){console.error(t.message)}},saveGroups:function(){var e;try{e={},Object.keys(Chapel.Audio.groups.custom).forEach(function(t){e[t]=Chapel.Audio.groups.custom[t].map(function(t){return"string"==typeof t?t:t.id})}),e=JSON.stringify(e),n.save("groups",e)}catch(t){console.error(t.message)}},loadGroups:function(){var e;try{(e=(e=n.load("groups"))&&JSON.parse(e))&&"object"==typeof e&&(Object.keys(e).forEach(function(t){e[t].map(function(t){return Chapel.Audio.classes.Track.get(t)})}),Chapel.Audio.groups.custom=e)}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(window).on("unload",function(){Chapel.Audio.state.saveTracks(),Chapel.Audio.state.savePlaylists(),Chapel.Audio.state.saveGroups()}),Chapel.Audio.state.loadTracks(),Chapel.Audio.state.loadPlaylists(),Chapel.Audio.state.loadGroups())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); }()); \ No newline at end of file diff --git a/src/js/setup.js b/src/js/setup.js index 54c7ad0..b8a6c6a 100644 --- a/src/js/setup.js +++ b/src/js/setup.js @@ -15,7 +15,7 @@ } if (Chapel.Get.isHarlowe3OrLater) { - $(document).one('unload', function () { + $(window).on('unload', function () { // save tracks to session storage Chapel.Audio.state.saveTracks(); Chapel.Audio.state.savePlaylists(); diff --git a/src/js/state.js b/src/js/state.js index 160bc7e..04df2bc 100644 --- a/src/js/state.js +++ b/src/js/state.js @@ -9,10 +9,10 @@ var save, load; if (window.sessionStorage) { save = function (key, data) { - window.sessionStorage.setItem(_key + 'key', data); + window.sessionStorage.setItem(_key + key, data); }; load = function (key) { - return window.sessionStorage.getItem(_key + 'key'); + return window.sessionStorage.getItem(_key + key); }; } else { save = function () { /* no op */ }; @@ -54,7 +54,7 @@ if (Array.isArray(data) && data.length) { data.forEach( function (def) { if (def.id && def.sources && !Chapel.Audio.classes.Track.has(def.id)) { - Chapel.Audio.newTrack(def.id, def.sources); + Chapel.Audio.newTrack.apply(null, [def.id].concat(def.sources)); } else { console.warn('Track reload failed...'); } @@ -70,12 +70,13 @@ function savePlaylists () { var data; try { - data = Chapel.Audio.classes.Playlist.list.map( function (pl) { + var plList = Chapel.Audio.classes.Playlist.list; + data = Object.keys(plList).map( function (pl) { var obj = {}; - obj.tracks = pl.tracks.map( function (tr) { + obj.tracks = plList[pl].tracks.map( function (tr) { return tr.id; }); - obj.id = pl.id; + obj.id = plList[pl].id; return obj; }); data = JSON.stringify(data); diff --git a/src/wrap/min.js b/src/wrap/min.js index 4120d45..4eb23db 100644 --- a/src/wrap/min.js +++ b/src/wrap/min.js @@ -1 +1 @@ -!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+"key",e)},e=function(t){return window.sessionStorage.getItem(o+"key")}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack(t.id,t.sources):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(document).one("unload",function(){Chapel.Audio.state.saveTracks()}),Chapel.Audio.state.loadTracks())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file +!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+t,e)},e=function(t){return window.sessionStorage.getItem(o+t)}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack.apply(null,[t.id].concat(t.sources)):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}},savePlaylists:function(){var t;try{var o=Chapel.Audio.classes.Playlist.list;t=Object.keys(o).map(function(t){var e={};return e.tracks=o[t].tracks.map(function(t){return t.id}),e.id=o[t].id,e}),t=JSON.stringify(t),n.save("playlists",t)}catch(t){console.error(t.message)}},loadPlaylists:function(){var t;try{(t=(t=n.load("playlists"))&&JSON.parse(t))&&Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.tracks&&Chapel.Audio.createPlaylist(t.id,t.tracks)})}catch(t){console.error(t.message)}},saveGroups:function(){var e;try{e={},Object.keys(Chapel.Audio.groups.custom).forEach(function(t){e[t]=Chapel.Audio.groups.custom[t].map(function(t){return"string"==typeof t?t:t.id})}),e=JSON.stringify(e),n.save("groups",e)}catch(t){console.error(t.message)}},loadGroups:function(){var e;try{(e=(e=n.load("groups"))&&JSON.parse(e))&&"object"==typeof e&&(Object.keys(e).forEach(function(t){e[t].map(function(t){return Chapel.Audio.classes.Track.get(t)})}),Chapel.Audio.groups.custom=e)}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(window).on("unload",function(){Chapel.Audio.state.saveTracks(),Chapel.Audio.state.savePlaylists(),Chapel.Audio.state.saveGroups()}),Chapel.Audio.state.loadTracks(),Chapel.Audio.state.loadPlaylists(),Chapel.Audio.state.loadGroups())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file From d1105309889dd6f656f6d1874c3e674d1fdd912c Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 10:32:40 -0400 Subject: [PATCH 08/11] rem min.js --- .gitignore | 3 ++- src/wrap/min.js | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 src/wrap/min.js diff --git a/.gitignore b/.gitignore index cc1328d..5d0bbf3 100644 --- a/.gitignore +++ b/.gitignore @@ -63,4 +63,5 @@ typings/ **.sublime-* *.bat **.zip -test/ \ No newline at end of file +test/ +src/wrap/min.js \ No newline at end of file diff --git a/src/wrap/min.js b/src/wrap/min.js deleted file mode 100644 index 4eb23db..0000000 --- a/src/wrap/min.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+t,e)},e=function(t){return window.sessionStorage.getItem(o+t)}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack.apply(null,[t.id].concat(t.sources)):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}},savePlaylists:function(){var t;try{var o=Chapel.Audio.classes.Playlist.list;t=Object.keys(o).map(function(t){var e={};return e.tracks=o[t].tracks.map(function(t){return t.id}),e.id=o[t].id,e}),t=JSON.stringify(t),n.save("playlists",t)}catch(t){console.error(t.message)}},loadPlaylists:function(){var t;try{(t=(t=n.load("playlists"))&&JSON.parse(t))&&Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.tracks&&Chapel.Audio.createPlaylist(t.id,t.tracks)})}catch(t){console.error(t.message)}},saveGroups:function(){var e;try{e={},Object.keys(Chapel.Audio.groups.custom).forEach(function(t){e[t]=Chapel.Audio.groups.custom[t].map(function(t){return"string"==typeof t?t:t.id})}),e=JSON.stringify(e),n.save("groups",e)}catch(t){console.error(t.message)}},loadGroups:function(){var e;try{(e=(e=n.load("groups"))&&JSON.parse(e))&&"object"==typeof e&&(Object.keys(e).forEach(function(t){e[t].map(function(t){return Chapel.Audio.classes.Track.get(t)})}),Chapel.Audio.groups.custom=e)}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(window).on("unload",function(){Chapel.Audio.state.saveTracks(),Chapel.Audio.state.savePlaylists(),Chapel.Audio.state.saveGroups()}),Chapel.Audio.state.loadTracks(),Chapel.Audio.state.loadPlaylists(),Chapel.Audio.state.loadGroups())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); \ No newline at end of file From ca1be929f468bf9366a8eff7158db5790eb7b657 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 10:33:36 -0400 Subject: [PATCH 09/11] update demo --- docs/demo/audio/battle5.ogg | Bin 0 -> 348666 bytes docs/demo/audio/beep.ogg | Bin 13850 -> 8169 bytes docs/demo/index.html | 79 ++++++++++++++++++++++-------------- docs/demo/twee/start.twee | 50 ++++++++++++++++------- 4 files changed, 84 insertions(+), 45 deletions(-) create mode 100644 docs/demo/audio/battle5.ogg diff --git a/docs/demo/audio/battle5.ogg b/docs/demo/audio/battle5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d097abece380622a15e2c76239359e28b605151a GIT binary patch literal 348666 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
9#q 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℘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 literal 0 HcmV?d00001 diff --git a/docs/demo/audio/beep.ogg b/docs/demo/audio/beep.ogg index 10557c19e5b3949a3e465a0fd5f974b2950437d3..25c1c219363f297c50f0f01f4ca7421a1e489a5d 100644 GIT binary patch delta 3699 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 O*lmZTKA% Audio Test - @@ -12,11 +12,11 @@ - +[[Go back.|Start]]<span id='counter-test'>0</span> +(link-repeat: 'test')[ + <script> + A.track('beep').play(); + A.track('beep').one(':stop', function () { + var x = Number($('#counter-test').text()) + $('#counter-test').empty().append(++x); + }); + </script> +](link-repeat: 'test')[ + <script> + A.playlist('test').loop(true).play(); + </script> +] +function(e,t){"function"==typeof define&&define.amd?define("es6-shim",t):"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?module.exports=t():e.returnExports=t()}(this,function(){var e,t=Function.call.bind(Function.apply),n=Function.call.bind(Function.call),r=Array.isArray,i=Object.keys,o=function(e){try{return e(),!1}catch(e){return!0}},a=function(e){try{return e()}catch(e){return!1}},s=function(e){return function(){return!t(e,this,arguments)}}(o),c=!!Object.defineProperty&&function(){return!o(function(){Object.defineProperty({},"x",{get:function(){}})})}(),u="foo"===function(){}.name,l=Function.call.bind(Array.prototype.forEach),f=Function.call.bind(Array.prototype.reduce),p=Function.call.bind(Array.prototype.filter),d=Function.call.bind(Array.prototype.some),h=function(e,t,n,r){!r&&t in e||(c?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},y=function(e,t,n){l(i(t),function(r){var i=t[r];h(e,r,i,!!n)})},g=Function.call.bind(Object.prototype.toString),m="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===g(e)}:function(e){return"function"==typeof e},v={getter:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!c)throw new TypeError("getters require true ES5 support");var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:r.configurable,enumerable:r.enumerable,get:function(){return e[t]},set:function(n){e[t]=n}})},redefine:function(e,t,n){if(c){var r=Object.getOwnPropertyDescriptor(e,t);r.value=n,Object.defineProperty(e,t,r)}else e[t]=n},defineByDescriptor:function(e,t,n){c?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},preserveToString:function(e,t){t&&m(t.toString)&&h(e,"toString",t.toString.bind(t),!0)}},b=Object.create||function(e,t){var n=function(){};n.prototype=e;var r=new n;return void 0!==t&&i(t).forEach(function(e){v.defineByDescriptor(r,e,t[e])}),r},w=function(e,t){return!!Object.setPrototypeOf&&a(function(){var n=function t(n){var r=new e(n);return Object.setPrototypeOf(r,t.prototype),r};return Object.setPrototypeOf(n,e),n.prototype=b(e.prototype,{constructor:{value:n}}),t(n)})},x=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}(),T=x.isFinite,S=Function.call.bind(String.prototype.indexOf),O=Function.apply.bind(Array.prototype.indexOf),j=Function.call.bind(Array.prototype.concat),k=Function.call.bind(String.prototype.slice),A=Function.call.bind(Array.prototype.push),C=Function.apply.bind(Array.prototype.push),E=Function.call.bind(Array.prototype.shift),N=Math.max,_=Math.min,I=Math.floor,P=Math.abs,M=Math.exp,D=Math.log,L=Math.sqrt,q=Function.call.bind(Object.prototype.hasOwnProperty),R=function(){},F=x.Map,H=F&&F.prototype.delete,V=F&&F.prototype.get,$=F&&F.prototype.has,B=F&&F.prototype.set,z=x.Symbol||{},W=z.species||"@@species",U=Number.isNaN||function(e){return e!==e},G=Number.isFinite||function(e){return"number"==typeof e&&T(e)},X=m(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:U(t)?t:t<0?-1:1},Y=function(e){return"[object Arguments]"===g(e)},J=function(e){return null!==e&&"object"===(void 0===e?"undefined":_typeof(e))&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==g(e)&&"[object Function]"===g(e.callee)},Z=Y(arguments)?Y:J,Q={primitive:function(e){return null===e||"function"!=typeof e&&"object"!==(void 0===e?"undefined":_typeof(e))},string:function(e){return"[object String]"===g(e)},regex:function(e){return"[object RegExp]"===g(e)},symbol:function(e){return"function"==typeof x.Symbol&&"symbol"===(void 0===e?"undefined":_typeof(e))}},K=function(e,t,n){var r=e[t];h(e,t,n,!0),v.preserveToString(e[t],r)},ee="function"==typeof z&&"function"==typeof z.for&&Q.symbol(z()),te=Q.symbol(z.iterator)?z.iterator:"_es6-shim iterator_";x.Set&&"function"==typeof(new x.Set)["@@iterator"]&&(te="@@iterator"),x.Reflect||h(x,"Reflect",{},!0);var ne=x.Reflect,re=String,ie="undefined"!=typeof document&&document?document.all:null,oe=null==ie?function(e){return null==e}:function(e){return null==e&&e!==ie},ae={Call:function(e,n){var r=arguments.length>2?arguments[2]:[];if(!ae.IsCallable(e))throw new TypeError(e+" is not a function");return t(e,n,r)},RequireObjectCoercible:function(e,t){if(oe(e))throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return void 0!==e&&null!==e&&!0!==e&&!1!==e&&("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))||e===ie)},ToObject:function(e,t){return Object(ae.RequireObjectCoercible(e,t))},IsCallable:m,IsConstructor:function(e){return ae.IsCallable(e)},ToInt32:function(e){return ae.ToNumber(e)>>0},ToUint32:function(e){return ae.ToNumber(e)>>>0},ToNumber:function(e){if("[object Symbol]"===g(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=ae.ToNumber(e);return U(t)?0:0!==t&&G(t)?(t>0?1:-1)*I(P(t)):t},ToLength:function(e){var t=ae.ToInteger(e);return t<=0?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0!==e||1/e==1/t:U(e)&&U(t)},SameValueZero:function(e,t){return e===t||U(e)&&U(t)},IsIterable:function(e){return ae.TypeIsObject(e)&&(void 0!==e[te]||Z(e))},GetIterator:function(t){if(Z(t))return new e(t,"value");var n=ae.GetMethod(t,te);if(!ae.IsCallable(n))throw new TypeError("value is not an iterable");var r=ae.Call(n,t);if(!ae.TypeIsObject(r))throw new TypeError("bad iterator");return r},GetMethod:function(e,t){var n=ae.ToObject(e)[t];if(!oe(n)){if(!ae.IsCallable(n))throw new TypeError("Method not callable: "+t);return n}},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=ae.GetMethod(e,"return");if(void 0!==n){var r,i;try{r=ae.Call(n,e)}catch(e){i=e}if(!t){if(i)throw i;if(!ae.TypeIsObject(r))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ae.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=ae.IteratorNext(e);return!ae.IteratorComplete(t)&&t},Construct:function(e,t,n,r){var i=void 0===n?e:n;if(!r&&ne.construct)return ne.construct(e,t,i);var o=i.prototype;ae.TypeIsObject(o)||(o=Object.prototype);var a=b(o),s=ae.Call(e,a,t);return ae.TypeIsObject(s)?s:a},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!ae.TypeIsObject(n))throw new TypeError("Bad constructor");var r=n[W];if(oe(r))return t;if(!ae.IsConstructor(r))throw new TypeError("Bad @@species");return r},CreateHTML:function(e,t,n,r){var i=ae.ToString(e),o="<"+t;if(""!==n){o+=" "+n+'="'+ae.ToString(r).replace(/"/g,""")+'"'}return o+">"+i+""},IsRegExp:function(e){if(!ae.TypeIsObject(e))return!1;var t=e[z.match];return void 0!==t?!!t:Q.regex(e)},ToString:function(e){return re(e)}};if(c&&ee){var se=function(e){if(Q.symbol(z[e]))return z[e];var t=z.for("Symbol."+e);return Object.defineProperty(z,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!Q.symbol(z.search)){var ce=se("search"),ue=String.prototype.search;h(RegExp.prototype,ce,function(e){return ae.Call(ue,e,[this])});var le=function(e){var t=ae.RequireObjectCoercible(this);if(!oe(e)){var n=ae.GetMethod(e,ce);if(void 0!==n)return ae.Call(n,e,[t])}return ae.Call(ue,t,[ae.ToString(e)])};K(String.prototype,"search",le)}if(!Q.symbol(z.replace)){var fe=se("replace"),pe=String.prototype.replace;h(RegExp.prototype,fe,function(e,t){return ae.Call(pe,e,[this,t])});var de=function(e,t){var n=ae.RequireObjectCoercible(this);if(!oe(e)){var r=ae.GetMethod(e,fe);if(void 0!==r)return ae.Call(r,e,[n,t])}return ae.Call(pe,n,[ae.ToString(e),t])};K(String.prototype,"replace",de)}if(!Q.symbol(z.split)){var he=se("split"),ye=String.prototype.split;h(RegExp.prototype,he,function(e,t){return ae.Call(ye,e,[this,t])});var ge=function(e,t){var n=ae.RequireObjectCoercible(this);if(!oe(e)){var r=ae.GetMethod(e,he);if(void 0!==r)return ae.Call(r,e,[n,t])}return ae.Call(ye,n,[ae.ToString(e),t])};K(String.prototype,"split",ge)}var me=Q.symbol(z.match),ve=me&&function(){var e={};return e[z.match]=function(){return 42},42!=="a".match(e)}();if(!me||ve){var be=se("match"),we=String.prototype.match;h(RegExp.prototype,be,function(e){return ae.Call(we,e,[this])});var xe=function(e){var t=ae.RequireObjectCoercible(this);if(!oe(e)){var n=ae.GetMethod(e,be);if(void 0!==n)return ae.Call(n,e,[t])}return ae.Call(we,t,[ae.ToString(e)])};K(String.prototype,"match",xe)}}var Te=function(e,t,n){v.preserveToString(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),c?l(Object.getOwnPropertyNames(e),function(r){r in R||n[r]||v.proxy(e,r,t)}):l(Object.keys(e),function(r){r in R||n[r]||(t[r]=e[r])}),t.prototype=e.prototype,v.redefine(e.prototype,"constructor",t)},Se=function(){return this},Oe=function(e){c&&!q(e,W)&&v.getter(e,W,Se)},je=function(e,t){var n=t||function(){return this};h(e,te,n),!e[te]&&Q.symbol(te)&&(e[te]=n)},ke=function(e,t,n){c?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n},Ae=function(e,t,n){if(ke(e,t,n),!ae.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},Ce=function(e,t,n,r){if(!ae.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var i=t.prototype;ae.TypeIsObject(i)||(i=n);var o=b(i);for(var a in r)if(q(r,a)){var s=r[a];h(o,a,s,!0)}return o};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Ee=String.fromCodePoint;K(String,"fromCodePoint",function(e){return ae.Call(Ee,this,arguments)})}var Ne={fromCodePoint:function(e){for(var t,n=[],r=0,i=arguments.length;r1114111)throw new RangeError("Invalid code point "+t);t<65536?A(n,String.fromCharCode(t)):(t-=65536,A(n,String.fromCharCode(55296+(t>>10))),A(n,String.fromCharCode(t%1024+56320)))}return n.join("")},raw:function(e){var t=ae.ToObject(e,"bad callSite"),n=ae.ToObject(t.raw,"bad raw value"),r=n.length,i=ae.ToLength(r);if(i<=0)return"";for(var o,a,s,c,u=[],l=0;l=i));)a=l+1=1/0)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return _e(t,n)},startsWith:function(e){var t=ae.ToString(ae.RequireObjectCoercible(this));if(ae.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,r=ae.ToString(e);arguments.length>1&&(n=arguments[1]);var i=N(ae.ToInteger(n),0);return k(t,i,i+r.length)===r},endsWith:function(e){var t=ae.ToString(ae.RequireObjectCoercible(this));if(ae.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,r=ae.ToString(e),i=t.length;arguments.length>1&&(n=arguments[1]);var o=void 0===n?i:ae.ToInteger(n),a=_(N(o,0),i);return k(t,a-r.length,a)===r},includes:function(e){if(ae.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=ae.ToString(e);return arguments.length>1&&(t=arguments[1]),-1!==S(this,n,t)},codePointAt:function(e){var t=ae.ToString(ae.RequireObjectCoercible(this)),n=ae.ToInteger(e),r=t.length;if(n>=0&&n56319||o)return i;var a=t.charCodeAt(n+1);return a<56320||a>57343?i:1024*(i-55296)+(a-56320)+65536}}};if(String.prototype.includes&&!1!=="a".includes("a",1/0)&&K(String.prototype,"includes",Ie.includes),String.prototype.startsWith&&String.prototype.endsWith){var Pe=o(function(){"/a/".startsWith(/a/)}),Me=a(function(){return!1==="abc".startsWith("a",1/0)});Pe&&Me||(K(String.prototype,"startsWith",Ie.startsWith),K(String.prototype,"endsWith",Ie.endsWith))}if(ee){a(function(){var e=/a/;return e[z.match]=!1,"/a/".startsWith(e)})||K(String.prototype,"startsWith",Ie.startsWith);a(function(){var e=/a/;return e[z.match]=!1,"/a/".endsWith(e)})||K(String.prototype,"endsWith",Ie.endsWith);a(function(){var e=/a/;return e[z.match]=!1,"/a/".includes(e)})||K(String.prototype,"includes",Ie.includes)}y(String.prototype,Ie);var De=["\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join(""),Le=new RegExp("(^["+De+"]+)|(["+De+"]+$)","g"),qe=function(){return ae.ToString(ae.RequireObjectCoercible(this)).replace(Le,"")},Re=["\x85","\u200b","\ufffe"].join(""),Fe=new RegExp("["+Re+"]","g"),He=/^[-+]0x[0-9a-f]+$/i,Ve=Re.trim().length!==Re.length;h(String.prototype,"trim",qe,Ve);var $e=function(e){return{value:e,done:0===arguments.length}},Be=function(e){ae.RequireObjectCoercible(e),this._s=ae.ToString(e),this._i=0};Be.prototype.next=function(){var e=this._s,t=this._i;if(void 0===e||t>=e.length)return this._s=void 0,$e();var n,r,i=e.charCodeAt(t);return i<55296||i>56319||t+1===e.length?r=1:(n=e.charCodeAt(t+1),r=n<56320||n>57343?1:2),this._i=t+r,$e(e.substr(t,r))},je(Be.prototype),je(String.prototype,function(){return new Be(this)});var ze={from:function(e){var t,r=this;arguments.length>1&&(t=arguments[1]);var i,o;if(void 0===t)i=!1;else{if(!ae.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(o=arguments[2]),i=!0}var a,s,c,u=void 0!==(Z(e)||ae.GetMethod(e,te));if(u){s=ae.IsConstructor(r)?Object(new r):[];var l,f,p=ae.GetIterator(e);for(c=0;;){if(!1===(l=ae.IteratorStep(p)))break;f=l.value;try{i&&(f=void 0===o?t(f,c):n(t,o,f,c)),s[c]=f}catch(e){throw ae.IteratorClose(p,!0),e}c+=1}a=c}else{var d=ae.ToObject(e);a=ae.ToLength(d.length),s=ae.IsConstructor(r)?Object(new r(a)):new Array(a);var h;for(c=0;c2&&(n=arguments[2]);var u=void 0===n?i:ae.ToInteger(n),l=u<0?N(i+u,0):_(u,i),f=_(l-c,i-s),p=1;for(c0;)c in r?r[s]=r[c]:delete r[s],c+=p,s+=p,f-=1;return r},fill:function(e){var t;arguments.length>1&&(t=arguments[1]);var n;arguments.length>2&&(n=arguments[2]);var r=ae.ToObject(this),i=ae.ToLength(r.length);t=ae.ToInteger(void 0===t?0:t),n=ae.ToInteger(void 0===n?i:n);for(var o=t<0?N(i+t,0):_(t,i),a=n<0?i+n:n,s=o;s1?arguments[1]:null,a=0;a1?arguments[1]:null,o=0;o1&&void 0!==arguments[1]?ae.Call(Ye,this,arguments):n(Ye,this,e)})}var Je=-(Math.pow(2,32)-1),Ze=function(e,t){var r={length:Je};return r[t?(r.length>>>0)-1:0]=!0,a(function(){return n(e,r,function(){throw new RangeError("should not reach here")},[]),!0})};if(!Ze(Array.prototype.forEach)){var Qe=Array.prototype.forEach;K(Array.prototype,"forEach",function(e){return ae.Call(Qe,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.map)){var Ke=Array.prototype.map;K(Array.prototype,"map",function(e){return ae.Call(Ke,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.filter)){var et=Array.prototype.filter;K(Array.prototype,"filter",function(e){return ae.Call(et,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.some)){var tt=Array.prototype.some;K(Array.prototype,"some",function(e){return ae.Call(tt,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.every)){var nt=Array.prototype.every;K(Array.prototype,"every",function(e){return ae.Call(nt,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.reduce)){var rt=Array.prototype.reduce;K(Array.prototype,"reduce",function(e){return ae.Call(rt,this.length>=0?this:[],arguments)})}if(!Ze(Array.prototype.reduceRight,!0)){var it=Array.prototype.reduceRight;K(Array.prototype,"reduceRight",function(e){return ae.Call(it,this.length>=0?this:[],arguments)})}var ot=8!==Number("0o10"),at=2!==Number("0b10"),st=d(Re,function(e){return 0===Number(e+0+e)});if(ot||at||st){var ct=Number,ut=/^0b[01]+$/i,lt=/^0o[0-7]+$/i,ft=ut.test.bind(ut),pt=lt.test.bind(lt),dt=function(e){var t;if("function"==typeof e.valueOf&&(t=e.valueOf(),Q.primitive(t)))return t;if("function"==typeof e.toString&&(t=e.toString(),Q.primitive(t)))return t;throw new TypeError("No default value")},ht=Fe.test.bind(Fe),yt=He.test.bind(He),gt=function(){var e=function(t){var n;"string"==typeof(n=arguments.length>0?Q.primitive(t)?t:dt(t):0)&&(n=ae.Call(qe,n),ft(n)?n=parseInt(k(n,2),2):pt(n)?n=parseInt(k(n,2),8):(ht(n)||yt(n))&&(n=NaN));var r=this,i=a(function(){return ct.prototype.valueOf.call(r),!0});return r instanceof e&&!i?new ct(n):ct(n)};return e}();Te(ct,gt,{}),y(gt,{NaN:ct.NaN,MAX_VALUE:ct.MAX_VALUE,MIN_VALUE:ct.MIN_VALUE,NEGATIVE_INFINITY:ct.NEGATIVE_INFINITY,POSITIVE_INFINITY:ct.POSITIVE_INFINITY}),Number=gt,v.redefine(x,"Number",gt)}var mt=Math.pow(2,53)-1;y(Number,{MAX_SAFE_INTEGER:mt,MIN_SAFE_INTEGER:-mt,EPSILON:2.220446049250313e-16,parseInt:x.parseInt,parseFloat:x.parseFloat,isFinite:G,isInteger:function(e){return G(e)&&ae.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&P(e)<=Number.MAX_SAFE_INTEGER},isNaN:U}),h(Number,"parseInt",x.parseInt,Number.parseInt!==x.parseInt),1===[,1].find(function(){return!0})&&K(Array.prototype,"find",We.find),0!==[,1].findIndex(function(){return!0})&&K(Array.prototype,"findIndex",We.findIndex);var vt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),bt=function(e,t){c&&vt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},wt=function(){for(var e=Number(this),t=arguments.length,n=t-e,r=new Array(n<0?0:n),i=e;i1?NaN:-1===t?-1/0:1===t?1/0:0===t?t:.5*D((1+t)/(1-t))},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,r=t<0;return r&&(t=-t),t===1/0?n=1/0:(n=M(D(t)/3),n=(t/(n*n)+2*n)/3),r?-n:n},clz32:function(e){var t=Number(e),n=ae.ToUint32(t);return 0===n?32:an?ae.Call(an,n):31-I(D(n+.5)*rn)},cosh:function(e){var t=Number(e);return 0===t?1:U(t)?NaN:T(t)?(t<0&&(t=-t),t>21?M(t)/2:(M(t)+M(-t))/2):1/0},expm1:function(e){var t=Number(e);if(t===-1/0)return-1;if(!T(t)||0===t)return t;if(P(t)>.5)return M(t)-1;for(var n=t,r=0,i=1;r+n!==r;)r+=n,i+=1,n*=t/i;return r},hypot:function(e,t){for(var n=0,r=0,i=0;i0?o/r*(o/r):o}return r===1/0?1/0:r*L(n)},log2:function(e){return D(e)*rn},log10:function(e){return D(e)*on},log1p:function(e){var t=Number(e);return t<-1||U(t)?NaN:0===t||t===1/0?t:-1===t?-1/0:1+t-1==0?t:t*(D(1+t)/(1+t-1))},sign:X,sinh:function(e){var t=Number(e);return T(t)&&0!==t?P(t)<1?(Math.expm1(t)-Math.expm1(-t))/2:(M(t-1)-M(-t-1))*nn/2:t},tanh:function(e){var t=Number(e);return U(t)||0===t?t:t>=20?1:t<=-20?-1:(Math.expm1(t)-Math.expm1(-t))/(M(t)+M(-t))},trunc:function(e){var t=Number(e);return t<0?-I(-t):I(t)},imul:function(e,t){var n=ae.ToUint32(e),r=ae.ToUint32(t),i=n>>>16&65535,o=65535&n,a=r>>>16&65535,s=65535&r;return o*s+(i*s+o*a<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-1/0||U(t))return t;var n=X(t),r=P(t);if(ren||U(o)?n*(1/0):n*o}};y(Math,sn),h(Math,"log1p",sn.log1p,-1e-17!==Math.log1p(-1e-17)),h(Math,"asinh",sn.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),h(Math,"tanh",sn.tanh,-2e-17!==Math.tanh(-2e-17)),h(Math,"acosh",sn.acosh,Math.acosh(Number.MAX_VALUE)===1/0),h(Math,"cbrt",sn.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8),h(Math,"sinh",sn.sinh,-2e-17!==Math.sinh(-2e-17));var cn=Math.expm1(10);h(Math,"expm1",sn.expm1,cn>22025.465794806718||cn<22025.465794806718);var un=Math.round,ln=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(Number.EPSILON/3.99-.5),fn=Zt+1,pn=2*Zt-1,dn=[fn,pn].every(function(e){return Math.round(e)===e});h(Math,"round",function(e){var t=I(e),n=-1===t?-0:t+1;return e-t<.5?t:n},!ln||!dn),v.preserveToString(Math.round,un);var hn=Math.imul;-5!==Math.imul(4294967295,5)&&(Math.imul=sn.imul,v.preserveToString(Math.imul,hn)),2!==Math.imul.length&&K(Math,"imul",function(e,t){return ae.Call(hn,Math,arguments)});var yn=function(){var e=x.setTimeout;if("function"==typeof e||"object"===(void 0===e?"undefined":_typeof(e))){ae.IsPromise=function(e){return!!ae.TypeIsObject(e)&&void 0!==e._promise};var t,r=function(e){if(!ae.IsConstructor(e))throw new TypeError("Bad promise constructor");var t=this,n=function(e,n){if(void 0!==t.resolve||void 0!==t.reject)throw new TypeError("Bad Promise implementation!");t.resolve=e,t.reject=n};if(t.resolve=void 0,t.reject=void 0,t.promise=new e(n),!ae.IsCallable(t.resolve)||!ae.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&ae.IsCallable(window.postMessage)&&(t=function(){var e=[],t=function(t){A(e,t),window.postMessage("zero-timeout-message","*")},n=function(t){if(t.source===window&&"zero-timeout-message"===t.data){if(t.stopPropagation(),0===e.length)return;E(e)()}};return window.addEventListener("message",n,!0),t});var i,o,a=ae.IsCallable(x.setImmediate)?x.setImmediate:"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.nextTick?process.nextTick:function(){var e=x.Promise,t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}}()||(ae.IsCallable(t)?t():function(t){e(t,0)}),s=function(e){return e},c=function(e){throw e},u={},l=function(e,t,n){a(function(){f(e,t,n)})},f=function(e,t,n){var r,i;if(t===u)return e(n);try{r=e(n),i=t.resolve}catch(e){r=e,i=t.reject}i(r)},p=function(e,t){var n=e._promise,r=n.reactionLength;if(r>0&&(l(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;i0&&(l(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,r>1))for(var i=1,o=0;i2&&arguments[2]===u&&o===v?u:new r(o);var a,f=ae.IsCallable(e)?e:s,p=ae.IsCallable(t)?t:c,d=n._promise;if(0===d.state){if(0===d.reactionLength)d.fulfillReactionHandler0=f,d.rejectReactionHandler0=p,d.reactionCapability0=i;else{var h=3*(d.reactionLength-1);d[h+0]=f,d[h+1]=p,d[h+2]=i}d.reactionLength+=1}else if(1===d.state)a=d.result,l(f,i,a);else{if(2!==d.state)throw new TypeError("unexpected Promise state");a=d.result,l(p,i,a)}return i.promise}}),u=new r(v),o=i.then,v}}();if(x.Promise&&(delete x.Promise.accept,delete x.Promise.defer,delete x.Promise.prototype.chain),"function"==typeof yn){y(x,{Promise:yn});var gn=w(x.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),mn=!o(function(){x.Promise.reject(42).then(null,5).then(null,R)}),vn=o(function(){x.Promise.call(3,R)}),bn=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,R).then(null,R)}catch(e){return!0}return t===n}(x.Promise),wn=c&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),xn=function e(t){var n=new Promise(t);t(3,function(){}),this.then=n.then,this.constructor=e};xn.prototype=Promise.prototype,xn.all=Promise.all;var Tn=a(function(){return!!xn.all([1,2])});if(gn&&mn&&vn&&!bn&&wn&&!Tn||(Promise=yn,K(x,"Promise",yn)),1!==Promise.all.length){var Sn=Promise.all;K(Promise,"all",function(e){return ae.Call(Sn,this,arguments)})}if(1!==Promise.race.length){var On=Promise.race;K(Promise,"race",function(e){return ae.Call(On,this,arguments)})}if(1!==Promise.resolve.length){var jn=Promise.resolve;K(Promise,"resolve",function(e){return ae.Call(jn,this,arguments)})}if(1!==Promise.reject.length){var kn=Promise.reject;K(Promise,"reject",function(e){return ae.Call(kn,this,arguments)})}bt(Promise,"all"),bt(Promise,"race"),bt(Promise,"resolve"),bt(Promise,"reject"),Oe(Promise)}var An=function(e){var t=i(f(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},Cn=An(["z","a","bb"]),En=An(["z",1,"a","3",2]);if(c){var Nn=function(e,t){return t||Cn?oe(e)?"^"+ae.ToString(e):"string"==typeof e?"$"+e:"number"==typeof e?En?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},_n=function(){return Object.create?Object.create(null):{}},In=function(e,t,i){if(r(i)||Q.string(i))l(i,function(e){if(!ae.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(i instanceof e)n(e.prototype.forEach,i,function(e,n){t.set(n,e)});else{var o,a;if(!oe(i)){if(a=t.set,!ae.IsCallable(a))throw new TypeError("bad map");o=ae.GetIterator(i)}if(void 0!==o)for(;;){var s=ae.IteratorStep(o);if(!1===s)break;var c=s.value;try{if(!ae.TypeIsObject(c))throw new TypeError("Iterator value "+c+" is not an entry object");n(a,t,c[0],c[1])}catch(e){throw ae.IteratorClose(o,!0),e}}}},Pn=function(e,t,i){if(r(i)||Q.string(i))l(i,function(e){t.add(e)});else if(i instanceof e)n(e.prototype.forEach,i,function(e){t.add(e)});else{var o,a;if(!oe(i)){if(a=t.add,!ae.IsCallable(a))throw new TypeError("bad set");o=ae.GetIterator(i)}if(void 0!==o)for(;;){var s=ae.IteratorStep(o);if(!1===s)break;var c=s.value;try{n(a,t,c)}catch(e){throw ae.IteratorClose(o,!0),e}}}},Mn={Map:function(){var e={},t=function(e,t){this.key=e,this.value=t,this.next=null,this.prev=null};t.prototype.isRemoved=function(){return this.key===e};var r=function(e){return!!e._es6map},i=function(e,t){if(!ae.TypeIsObject(e)||!r(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ae.ToString(e))},o=function(e,t){i(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};o.prototype={next:function(){var e=this.i,t=this.kind,n=this.head;if(void 0===this.i)return $e();for(;e.isRemoved()&&e!==n;)e=e.prev;for(var r;e.next!==n;)if(e=e.next,!e.isRemoved())return r="key"===t?e.key:"value"===t?e.value:[e.key,e.value],this.i=e,$e(r);return this.i=void 0,$e()}},je(o.prototype);var a,s=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var n=Ce(this,e,a,{_es6map:!0,_head:null,_map:F?new F:null,_size:0,_storage:_n()}),r=new t(null,null);return r.next=r.prev=r,n._head=r,arguments.length>0&&In(e,n,arguments[0]),n};return a=s.prototype,v.getter(a,"size",function(){if(void 0===this._size)throw new TypeError("size method called on incompatible Map");return this._size}),y(a,{get:function(e){i(this,"get");var t,n=Nn(e,!0);if(null!==n)return t=this._storage[n],t?t.value:void 0;if(this._map)return t=V.call(this._map,e),t?t.value:void 0;for(var r=this._head,o=r;(o=o.next)!==r;)if(ae.SameValueZero(o.key,e))return o.value},has:function(e){i(this,"has");var t=Nn(e,!0);if(null!==t)return void 0!==this._storage[t];if(this._map)return $.call(this._map,e);for(var n=this._head,r=n;(r=r.next)!==n;)if(ae.SameValueZero(r.key,e))return!0;return!1},set:function(e,n){i(this,"set");var r,o=this._head,a=o,s=Nn(e,!0);if(null!==s){if(void 0!==this._storage[s])return this._storage[s].value=n,this;r=this._storage[s]=new t(e,n),a=o.prev}else this._map&&($.call(this._map,e)?V.call(this._map,e).value=n:(r=new t(e,n),B.call(this._map,e,r),a=o.prev));for(;(a=a.next)!==o;)if(ae.SameValueZero(a.key,e))return a.value=n,this;return r=r||new t(e,n),ae.SameValue(-0,e)&&(r.key=0),r.next=this._head,r.prev=this._head.prev,r.prev.next=r,r.next.prev=r,this._size+=1,this},delete:function(t){i(this,"delete");var n=this._head,r=n,o=Nn(t,!0);if(null!==o){if(void 0===this._storage[o])return!1;r=this._storage[o].prev,delete this._storage[o]}else if(this._map){if(!$.call(this._map,t))return!1;r=V.call(this._map,t).prev,H.call(this._map,t)}for(;(r=r.next)!==n;)if(ae.SameValueZero(r.key,t))return r.key=e,r.value=e,r.prev.next=r.next,r.next.prev=r.prev,this._size-=1,!0;return!1},clear:function(){i(this,"clear"),this._map=F?new F:null,this._size=0,this._storage=_n();for(var t=this._head,n=t,r=n.next;(n=r)!==t;)n.key=e,n.value=e,r=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return i(this,"keys"),new o(this,"key")},values:function(){return i(this,"values"),new o(this,"value")},entries:function(){return i(this,"entries"),new o(this,"key+value")},forEach:function(e){i(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,r=this.entries(),o=r.next();!o.done;o=r.next())t?n(e,t,o.value[1],o.value[0],this):e(o.value[1],o.value[0],this)}}),je(a,a.entries),s}(),Set:function(){var e,t=function(e){return e._es6set&&void 0!==e._storage},r=function(e,n){if(!ae.TypeIsObject(e)||!t(e))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+ae.ToString(e))},o=function t(){if(!(this instanceof t))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var n=Ce(this,t,e,{_es6set:!0,"[[SetData]]":null,_storage:_n()});if(!n._es6set)throw new TypeError("bad set");return arguments.length>0&&Pn(t,n,arguments[0]),n};e=o.prototype;var a=function(e){var t=e;if("^null"===t)return null;if("^undefined"!==t){var n=t.charAt(0);return"$"===n?k(t,1):"n"===n?+k(t,1):"b"===n?"btrue"===t:+t}},s=function(e){if(!e["[[SetData]]"]){var t=new Mn.Map;e["[[SetData]]"]=t,l(i(e._storage),function(e){var n=a(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};return v.getter(o.prototype,"size",function(){return r(this,"size"),this._storage?i(this._storage).length:(s(this),this["[[SetData]]"].size)}),y(o.prototype,{has:function(e){r(this,"has");var t;return this._storage&&null!==(t=Nn(e))?!!this._storage[t]:(s(this),this["[[SetData]]"].has(e))},add:function(e){r(this,"add");var t;return this._storage&&null!==(t=Nn(e))?(this._storage[t]=!0,this):(s(this),this["[[SetData]]"].set(e,e),this)},delete:function(e){r(this,"delete");var t;if(this._storage&&null!==(t=Nn(e))){var n=q(this._storage,t);return delete this._storage[t]&&n}return s(this),this["[[SetData]]"].delete(e)},clear:function(){r(this,"clear"),this._storage&&(this._storage=_n()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return r(this,"values"),s(this),this["[[SetData]]"].values()},entries:function(){return r(this,"entries"),s(this),this["[[SetData]]"].entries()},forEach:function(e){r(this,"forEach");var t=arguments.length>1?arguments[1]:null,i=this;s(i),this["[[SetData]]"].forEach(function(r,o){t?n(e,t,o,o,i):e(o,o,i)})}}),h(o.prototype,"keys",o.prototype.values,!0),je(o.prototype,o.prototype.values),o}()};if(x.Map||x.Set){a(function(){return 2===new Map([[1,2]]).get(1)})||(x.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new F;return arguments.length>0&&In(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,x.Map.prototype),t},x.Map.prototype=b(F.prototype),h(x.Map.prototype,"constructor",x.Map,!0),v.preserveToString(x.Map,F));var Dn=new Map,Ln=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);return e.set(-0,e),e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}(),qn=Dn.set(1,2)===Dn;Ln&&qn||K(Map.prototype,"set",function(e,t){return n(B,this,0===e?0:e,t),this}),Ln||(y(Map.prototype,{get:function(e){return n(V,this,0===e?0:e)},has:function(e){return n($,this,0===e?0:e)}},!0),v.preserveToString(Map.prototype.get,V),v.preserveToString(Map.prototype.has,$));var Rn=new Set,Fn=function(e){return e.delete(0),e.add(-0),!e.has(0)}(Rn),Hn=Rn.add(1)===Rn;if(!Fn||!Hn){var Vn=Set.prototype.add;Set.prototype.add=function(e){return n(Vn,this,0===e?0:e),this},v.preserveToString(Set.prototype.add,Vn)}if(!Fn){var $n=Set.prototype.has;Set.prototype.has=function(e){return n($n,this,0===e?0:e)},v.preserveToString(Set.prototype.has,$n);var Bn=Set.prototype.delete;Set.prototype.delete=function(e){return n(Bn,this,0===e?0:e)},v.preserveToString(Set.prototype.delete,Bn)}var zn=w(x.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}),Wn=Object.setPrototypeOf&&!zn,Un=function(){try{return!(x.Map()instanceof x.Map)}catch(e){return e instanceof TypeError}}();0===x.Map.length&&!Wn&&Un||(x.Map=function e(){if(!(this instanceof e))throw new TypeError('Constructor Map requires "new"');var t=new F;return arguments.length>0&&In(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},x.Map.prototype=F.prototype,h(x.Map.prototype,"constructor",x.Map,!0),v.preserveToString(x.Map,F));var Gn=w(x.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),Xn=Object.setPrototypeOf&&!Gn,Yn=function(){try{return!(x.Set()instanceof x.Set)}catch(e){return e instanceof TypeError}}();if(0!==x.Set.length||Xn||!Yn){var Jn=x.Set;x.Set=function e(){if(!(this instanceof e))throw new TypeError('Constructor Set requires "new"');var t=new Jn;return arguments.length>0&&Pn(e,t,arguments[0]),delete t.constructor,Object.setPrototypeOf(t,e.prototype),t},x.Set.prototype=Jn.prototype,h(x.Set.prototype,"constructor",x.Set,!0),v.preserveToString(x.Set,Jn)}var Zn=new x.Map,Qn=!a(function(){return Zn.keys().next().done});if(("function"!=typeof x.Map.prototype.clear||0!==(new x.Set).size||0!==Zn.size||"function"!=typeof x.Map.prototype.keys||"function"!=typeof x.Set.prototype.keys||"function"!=typeof x.Map.prototype.forEach||"function"!=typeof x.Set.prototype.forEach||s(x.Map)||s(x.Set)||"function"!=typeof Zn.keys().next||Qn||!zn)&&y(x,{Map:Mn.Map,Set:Mn.Set},!0),x.Set.prototype.keys!==x.Set.prototype.values&&h(x.Set.prototype,"keys",x.Set.prototype.values,!0),je(Object.getPrototypeOf((new x.Map).keys())),je(Object.getPrototypeOf((new x.Set).keys())),u&&"has"!==x.Set.prototype.has.name){var Kn=x.Set.prototype.has;K(x.Set.prototype,"has",function(e){return n(Kn,this,e)})}}y(x,Mn),Oe(x.Map),Oe(x.Set)}var er=function(e){if(!ae.TypeIsObject(e))throw new TypeError("target must be an object")},tr={apply:function(){return ae.Call(ae.Call,null,arguments)},construct:function(e,t){if(!ae.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!ae.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return ae.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(er(e),c){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return er(e),t in e}};Object.getOwnPropertyNames&&Object.assign(tr,{ownKeys:function(e){er(e);var t=Object.getOwnPropertyNames(e);return ae.IsCallable(Object.getOwnPropertySymbols)&&C(t,Object.getOwnPropertySymbols(e)),t}});var nr=function(e){return!o(e)};if(Object.preventExtensions&&Object.assign(tr,{isExtensible:function(e){return er(e),Object.isExtensible(e)},preventExtensions:function(e){return er(e),nr(function(){Object.preventExtensions(e)})}}),c){var rr=function(e,t,n){var r=Object.getOwnPropertyDescriptor(e,t);if(!r){var i=Object.getPrototypeOf(e);if(null===i)return;return rr(i,t,n)}return"value"in r?r.value:r.get?ae.Call(r.get,n):void 0},ir=function(e,t,r,i){var o=Object.getOwnPropertyDescriptor(e,t);if(!o){var a=Object.getPrototypeOf(e);if(null!==a)return ir(a,t,r,i);o={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in o){if(!o.writable)return!1;if(!ae.TypeIsObject(i))return!1;return Object.getOwnPropertyDescriptor(i,t)?ne.defineProperty(i,t,{value:r}):ne.defineProperty(i,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}return!!o.set&&(n(o.set,i,r),!0)};Object.assign(tr,{defineProperty:function(e,t,n){return er(e),nr(function(){Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return er(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){er(e);var n=arguments.length>2?arguments[2]:e;return rr(e,t,n)},set:function(e,t,n){er(e);var r=arguments.length>3?arguments[3]:e;return ir(e,t,n,r)}})}if(Object.getPrototypeOf){var or=Object.getPrototypeOf;tr.getPrototypeOf=function(e){return er(e),or(e)}}if(Object.setPrototypeOf&&tr.getPrototypeOf){var ar=function(e,t){for(var n=t;n;){if(e===n)return!0;n=tr.getPrototypeOf(n)}return!1};Object.assign(tr,{setPrototypeOf:function(e,t){if(er(e),null!==t&&!ae.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===ne.getPrototypeOf(e)||!(ne.isExtensible&&!ne.isExtensible(e))&&(!ar(e,t)&&(Object.setPrototypeOf(e,t),!0))}})}var sr=function(e,t){if(ae.IsCallable(x.Reflect[e])){a(function(){return x.Reflect[e](1),x.Reflect[e](NaN),x.Reflect[e](!0),!0})&&K(x.Reflect,e,t)}else h(x.Reflect,e,t)};Object.keys(tr).forEach(function(e){sr(e,tr[e])});var cr=x.Reflect.getPrototypeOf;if(u&&cr&&"getPrototypeOf"!==cr.name&&K(x.Reflect,"getPrototypeOf",function(e){return n(cr,x.Reflect,e)}),x.Reflect.setPrototypeOf&&a(function(){return x.Reflect.setPrototypeOf(1,{}),!0})&&K(x.Reflect,"setPrototypeOf",tr.setPrototypeOf),x.Reflect.defineProperty&&(a(function(){var e=!x.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!x.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||K(x.Reflect,"defineProperty",tr.defineProperty)),x.Reflect.construct&&(a(function(){var e=function(){};return x.Reflect.construct(function(){},[],e)instanceof e})||K(x.Reflect,"construct",tr.construct)),"Invalid Date"!==String(new Date(NaN))){var ur=Date.prototype.toString,lr=function(){var e=+this;return e!==e?"Invalid Date":ae.Call(ur,this)};K(Date.prototype,"toString",lr)}var fr={anchor:function(e){return ae.CreateHTML(this,"a","name",e)},big:function(){return ae.CreateHTML(this,"big","","")},blink:function(){return ae.CreateHTML(this,"blink","","")},bold:function(){return ae.CreateHTML(this,"b","","")},fixed:function(){return ae.CreateHTML(this,"tt","","")},fontcolor:function(e){return ae.CreateHTML(this,"font","color",e)},fontsize:function(e){return ae.CreateHTML(this,"font","size",e)},italics:function(){return ae.CreateHTML(this,"i","","")},link:function(e){return ae.CreateHTML(this,"a","href",e)},small:function(){return ae.CreateHTML(this,"small","","")},strike:function(){return ae.CreateHTML(this,"strike","","")},sub:function(){return ae.CreateHTML(this,"sub","","")},sup:function(){return ae.CreateHTML(this,"sup","","")}};l(Object.keys(fr),function(e){var t=String.prototype[e],r=!1;if(ae.IsCallable(t)){var i=n(t,"",' " '),o=j([],i.match(/"/g)).length;r=i!==i.toLowerCase()||o>2}else r=!0;r&&K(String.prototype,e,fr[e])});var pr=function(){if(!ee)return!1;var e="object"===("undefined"==typeof JSON?"undefined":_typeof(JSON))&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if(void 0!==e(z()))return!0;if("[null]"!==e([z()]))return!0;var t={a:z()};return t[z()]=!0,"{}"!==e(t)}(),dr=a(function(){return!ee||"{}"===JSON.stringify(Object(z()))&&"[{}]"===JSON.stringify([Object(z())])});if(pr||!dr){var hr=JSON.stringify;K(JSON,"stringify",function(e){if("symbol"!==(void 0===e?"undefined":_typeof(e))){var t;arguments.length>1&&(t=arguments[1]);var i=[e];if(r(t))i.push(t);else{var o=ae.IsCallable(t)?t:null,a=function(e,t){var r=o?n(o,this,e,t):t;if("symbol"!==(void 0===r?"undefined":_typeof(r)))return Q.symbol(r)?xt({})(r):r};i.push(a)}return arguments.length>2&&i.push(arguments[2]),hr.apply(this,i)}})}return x}),define("jqueryplugins",["jquery"],function(e){e.prototype.extend({popAttr:function(e){var t=this.attr(e);return this.removeAttr(e),t},popData:function(e){var t=this.data(e);return this.removeData(e),t},tag:function(){return this[0]&&this[0].tagName&&this[0].tagName.toLowerCase()},textNodes:function(){return 1===this.length&&this[0]instanceof Text?[this[0]]:Array.from(this.add(this.contents().add(this.find("*").contents())).filter(function(){return this instanceof Text})).sort(function(e,t){return 2&e.compareDocumentPosition(t)?1:-1})},findAndFilter:function(e){return this.filter(e).add(this.find(e))}})}),function(){function e(){for(var e=0;e-1)||e.cannotFollow&&(-1!==e.cannotFollow.indexOf(n&&n.type)||e.cannotFollow.indexOf("text")>-1&&r)||e.peek&&e.peek.toLowerCase()!==t.slice(0,e.peek.length).toLowerCase())}function r(e){for(var t=e.innerText,r=[],o=0,s=o,c=t.length,u=null;o-1&&(v=r.length-1)}if(v>=r.length&&!g.isFront)continue}s0;)r.shift().demote();return e}function i(e,n,r){var i=e.children.indexOf(n),o=e.children.indexOf(r);n.children=e.children.splice(o+1,i-(o+1)),n.children.forEach(function(e){t(n,e)}),n.type=n.matches[r.type],n.innerText="";for(var a=0,s=n.children.length;a=this.end)return null;if(this.childAt)return this.childAt[e]&&this.childAt[e].tokenAt(e)||this;if(this.children.length)for(var t=0;t=this.end)return[];if(this.childAt)return(this.childAt[e]&&this.childAt[e].pathAt(e)||[]).concat(this);var t=[];if(this.children.length)for(var n=0;n=this.end?null:this.children?this.children.reduce(function(t,n){return t||(e>=n.start&&e0&&(e+="["+this.children+"]"),e}},o={lex:function(t,n){return r(new e({type:"root",start:n||0,end:t.length,text:t,innerText:t,children:[],childAt:{},innerMode:o.modes.start}))},rules:a,modes:{}},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=o:"function"==typeof define&&define.amd?define("lexer",[],function(){return o}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Lexer=o):this.TwineLexer=o}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function e(t){return t&&"object"===(void 0===t?"undefined":_typeof(t))?(Object.keys(t).forEach(function(n){t[n]=e(t[n])}),t):(t+"").replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function t(e){return function(){return"("+e+Array.apply(0,arguments).join("|")+")"}}var n=void 0,r=t("?:"),i=t("?!"),o=t("?="),a="[ \\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]*",s=a.replace("*","+"),c="\\b",u="[\\w\\-\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",l=u.replace("\\-",""),f=r("\\n","$"),p="("+r("\\\\\\n\\\\?|\\n\\\\","[^\\n]")+"+)",d=a+"(\\*+)"+s+p+f,h=a+"((?:0\\.)+)"+s+p+f,y=a+"-{3,}"+a+f,g=a+"(#{1,6})"+a+p+f,m=a+"(==+>|<=+|=+><=+|<==+>)"+a+f,v=a+"(=+\\|+|\\|+=+|=+\\|+=+|\\|=+\\|)"+a+f,b={opener:"\\[\\[(?!\\[)",text:"("+function(){return"[^"+Array.apply(0,arguments).map(e).join("")+"]*"}("]")+")",rightSeparator:r("\\->","\\|"),leftSeparator:"<\\-",closer:"\\]\\]",legacySeparator:"\\|",legacyText:"("+r("[^\\|\\]]","\\]"+i("\\]"))+"+)"},w=l+"*"+l.replace("\\w","a-zA-Z")+l+"*",x="\\$("+w+")",T="'s"+s+"("+w+")",S="("+w+")"+s+"of"+c+i("it\\b"),O="'s"+s,j=r("it","time")+c,k="its"+s+"("+w+")",A="its"+s,C="("+w+")"+s+"of"+s+"it"+c,E="of\\b"+s+"it"+c,N={opener:"\\(",name:"("+r(u+"+",x)+"):"+i("\\/"),closer:"\\)"},_=r("=<","=>","[gl]te?\\b","n?eq\\b","isnot\\b","are\\b","x\\b","isa\\b","or"+s+"a"+c),I={name:"[a-zA-Z][\\w\\-]*",attrs:"(?:\"[^\"]*\"|'[^']*'|[^'\">])*?"},P="\\|("+u+"+)(>|\\))",M="(<|\\()("+u+"+)\\|",D="_("+w+")"+c,L="\\b(\\d+(?:\\.\\d+)?(?:[eE][+\\-]?\\d+)?)"+i("m?s")+c;b.main=b.opener+r(b.text+b.rightSeparator,b.text.replace("*","*?")+b.leftSeparator)+b.text,n={upperLetter:"[A-Z\\u00c0-\\u00de\\u0150\\u0170]",lowerLetter:"[a-z0-9_\\-\\u00df-\\u00ff\\u0151\\u0171]",anyLetter:u,anyLetterStrict:l,whitespace:s,escapedLine:"\\\\\\n\\\\?|\\n\\\\",br:"\\n(?!\\\\)",commentFront:"\x3c!--",commentBack:"--\x3e",tag:"<\\/?"+I.name+I.attrs+">",tagPeek:"<",scriptStyleTag:"<("+r("script","style")+")"+I.attrs+">[^]*?<\\/\\1>",scriptStyleTagOpener:"<",url:"("+r("https?","mailto","javascript","ftp","data")+":\\/\\/[^\\s<]+[^<.,:;\"')\\]\\s])",bullet:"\\*",hr:y,heading:g,align:m,column:v,bulleted:d,numbered:h,strikeOpener:e("~~"),italicOpener:e("//"),boldOpener:e("''"),supOpener:e("^^"),strongFront:e("**"),strongBack:e("**"),emFront:e("*"),emBack:e("*"),verbatimOpener:"`+",collapsedFront:"{",collapsedBack:"}",hookAppendedFront:"\\[",hookPrependedFront:P+"\\[",hookFront:"\\[",hookBack:"\\]"+i(M),hookAppendedBack:"\\]"+M,passageLink:b.main+b.closer,passageLinkPeek:"[[",legacyLink:b.opener+b.legacyText+b.legacySeparator+b.legacyText+b.closer,legacyLinkPeek:"[[",simpleLink:b.opener+b.legacyText+b.closer,simpleLinkPeek:"[[",macroFront:N.opener+o(N.name),macroFrontPeek:"(",macroName:N.name,groupingFront:"\\("+i(N.name),groupingFrontPeek:"(",groupingBack:"\\)",twine1Macro:"<<[^>\\s]+\\s*(?:\\\\.|'(?:[^'\\\\]*\\\\.)*[^'\\\\]*'|\"(?:[^\"\\\\]*\\\\.)*[^\"\\\\]*\"|[^'\"\\\\>]|>(?!>))*>>",twine1MacroPeek:"<<",property:T,propertyPeek:"'s",belongingProperty:S,possessiveOperator:O,belongingOperator:"of\\b",belongingOperatorPeek:"of",itsOperator:A,itsOperatorPeek:"its",belongingItOperator:E,belongingItOperatorPeek:"of",variable:x,variablePeek:"$",tempVariable:D,tempVariablePeek:"_",hookRef:"\\?("+u+"+)\\b",hookRefPeek:"?",cssTime:"(\\d+\\.?\\d*|\\d*\\.?\\d+)(m?s)\\b",colour:r(r("Red","Orange","Yellow","Lime","Green","Cyan","Aqua","Blue","Navy","Purple","Fuchsia","Magenta","White","Gray","Grey","Black"),"#[\\dA-Fa-f]{3}(?:[\\dA-Fa-f]{3})?"),datatype:r("array","boolean","changer","colour","color","command","dm","datamap","ds","dataset","number","num","string","str"),number:L,boolean:r("true","false")+c,identifier:j,itsProperty:k,itsPropertyPeek:"its",belongingItProperty:C,escapedStringChar:"\\\\[^\\n]",singleStringOpener:"'",doubleStringOpener:'"',is:"is"+i(s+"not"+c,s+"an?"+c,s+"in"+c,s+"<",s+">")+c,isNot:"is"+s+"not"+i(s+"a"+c)+c,isA:"is"+s+"an?"+c,isNotA:"is"+s+"not"+s+"an?"+c,matches:"matches"+s,and:"and\\b",or:"or\\b",not:"not\\b",inequality:"((?:is(?:"+s+"not)?"+a+")*)("+r("<(?!=)","<=",">(?!=)",">=")+")",isIn:"is"+s+"in"+c,contains:"contains\\b",addition:e("+")+i("="),subtraction:e("-")+i("="),multiplication:e("*")+i("="),division:r("/","%")+i("="),comma:",",spread:"\\.\\.\\."+i("\\."),to:r("to\\b","="),into:"into\\b",making:"making\\b",where:"where\\b",when:"when\\b",via:"via\\b",with:"with\\b",each:"each\\b",augmentedAssign:r("\\+","\\-","\\*","\\/","%")+"=",bind:"bind\\b",incorrectOperator:_},"object"===("undefined"==typeof module?"undefined":_typeof(module))?module.exports=n:"function"==typeof define&&define.amd?define("patterns",[],function(){return n}):this&&this.loaded?(this.modules||(this.modules={}),this.modules.Patterns=n):this.Patterns=n}.call(eval("this")||("undefined"!=typeof global?global:window)),function(){function e(e){function t(e){return e=e||"innerText",function(t){var n=t.reduceRight(function(e,t,n){return e||(n?t:"")},""),r={};return r[e]=n,r}}function r(e,t){var n={};return n[e]=t,function(){return{isFront:!0,matches:n,cannotCross:["verbatimOpener"]}}}function i(e,t){return Object.keys(t).forEach(function(n){var r=t[n].fn;t[n].fn=function(t){var i=r(t);return i.text||(i.text=t[0]),i.type||(i.type=n),i.innerMode||(i.innerMode=e),i}}),t}var o=Object.bind(0,null),a=[],s=[],c=i(a,{hr:{fn:o},bulleted:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},numbered:{fn:function(e){return{depth:e[1].length/2,innerText:e[2]}}},heading:{fn:function(e){return{depth:e[1].length,innerText:e[2]}}},align:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("><");return~r?25===(t=Math.round(r/(n.length-2)*50))&&(t="center"):"<"===n[0]&&">"===n.slice(-1)?t="justify":n.indexOf(">")>-1?t="right":n.indexOf("<")>-1&&(t="left"),{align:t}}},column:{fn:function(e){var t=void 0,n=e[1],r=n.indexOf("|");return r&&r-1}}},augmentedAssign:{fn:function(e){return{operator:e[0][0]}}},identifier:{fn:t("name"),cannotFollow:["text"]},whitespace:{fn:o,cannotFollow:"text"},incorrectOperator:{fn:function(e){var t={"=>":">=","=<":"<=",gte:">=",lte:"<=",gt:">",lt:"<",eq:"is",isnot:"is not",neq:"is not",isa:"is a",are:"is",x:"*","or a":"or"}[e[0].toLowerCase().replace(/\s+/g," ")];return{type:"error",message:"Please say "+(t?"'"+t+"'":"something else")+" instead of '"+e[0]+"'.",explanation:"In the interests of readability, I want certain operators to be in a specific form."}},cannotFollow:"text"}},["boolean","is","to","into","where","when","via","with","making","each","and","or","not","isNot","contains","isIn","isA","isNotA","matches","bind"].reduce(function(e,t){return e[t]={fn:o,cannotFollow:["text"]},e},{}),["comma","spread","addition","subtraction","multiplication","division"].reduce(function(e,t){return e[t]={fn:o},e},{})));a.push.apply(a,_toConsumableArray(Object.keys(c)).concat(_toConsumableArray(Object.keys(l)),_toConsumableArray(Object.keys(u)))),s.push.apply(s,_toConsumableArray(Object.keys(l)).concat(_toConsumableArray(Object.keys(f))));var p=Object.assign({},c,u,l,f);return Object.keys(p).forEach(function(e){var t=n[e];p[e].pattern="string"!=typeof t?t:new RegExp("^(?:"+t+")","i"),n[e+"Peek"]&&(p[e].peek=n[e+"Peek"])}),Object.assign(e.rules,p),e.modes.start=e.modes.markup=a,e.modes.macro=s,e}function t(t){return Object.freeze({lex:e(t).lex,Patterns:n})}var n=void 0;Object.assign=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:0;if(!Number.isNaN(t)&&Number.isFinite(n)&&void 0!==t)return e.indexOf.call(this,t,n)>-1;var r=Object(this),i=parseInt(r.length);if(i<=0)return!1;for(var o=n>=0?n:Math.max(0,i+n);o").appendTo(document.body).attr("data-t8n",t).addClass(n);r[t]=u.cssTimeUnit(i.css("animation-duration"))+u.cssTimeUnit(i.css("animation-delay")),i.remove()}return r[t]}var i={configurable:0,writable:0},o={"transition-in":Object.create(null),"transition-out":Object.create(null)},a="audio,blockquote,canvas,div,h1,h2,h3,h4,h5,hr,ol,p,pre,table,ul,video,tw-align,tw-story,tw-passage".split(","),s="a,b,i,em,strong,sup,sub,abbr,acronym,s,strike,del,big,small,script,img,button,input,tw-link,tw-broken-link,tw-verbatim,tw-collapsed,tw-error".split(","),c=["audio"],u=void 0,l=void 0,f=[];return u={lockProperty:function(e,t,n){var r=Object.create(i);return n&&(r.value=n),Object.defineProperty(e,t,r),e},permutations:function(){for(var e=arguments.length,t=Array(e),n=0;n1?"s":"")},andList:function(e){return 1===e.length?e[0]:e.slice(0,-1).join(", ")+" and "+e[e.length-1]},realWhitespace:"[ \\n\\r\\f\\t\\v\\u00a0\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]",anyRealLetter:"[\\dA-Za-z\\u00c0-\\u00de\\u00df-\\u00ff\\u0150\\u0170\\u0151\\u0171\\uD800-\\uDFFF]",unescape:function(e){return e.replace(/&(?:amp|lt|gt|quot|nbsp|zwnj|#39|#96);/g,function(e){return{"&":"&",">":">","<":"<",""":'"',"'":"'"," ":String.fromCharCode(160),"‌":String.fromCharCode(8204)}[e]})},escape:function(e){return e.replace(/[&><"']/g,function(e){return{"&":"&",">":">","<":"<",'"':""","'":"'"}[e]})},insensitiveName:function(e){return(e+"").toLowerCase().replace(/-|_/g,"")},childrenProbablyInline:function(e){var t=[];return Array.prototype.every.call(e.find("*"),function(e){return!(!e.hidden&&!/none|inline/.test(e.style.display))||!a.includes(e.tagName.toLowerCase())&&!/none|inline/.test(e.style.display)&&(!!s.includes(e.tagName.toLowerCase())||(t.push(e),!0))})&&t.every(function(e){return/none|inline/.test(e.style.display)})},transitionReplace:function(t,r,i){var o=t.closest(n.hook);o.length>0&&(t=o);var a=e("").css("position","relative");a.insertBefore(t.first());var s=void 0;r&&(s=e("").appendTo(a),r.appendTo(s));var c=e("").css("position","absolute").prependTo(a);t.detach().appendTo(c),u.transitionOut(c,i),r&&u.transitionIn(s,i,function(){s.unwrap().children().first().unwrap()})},transitionOut:function(e,t,n){function i(){e.remove()}var o=u.childrenProbablyInline(e);(e.length>1||!o||!["tw-hook","tw-passage"].includes(e.tag()))&&(e=e.wrapAll("").parent()),e.attr("data-t8n",t).addClass("transition-out"),u.childrenProbablyInline(e)&&e.css("display","inline-block"),"number"==typeof n&&e.css("animation-duration",n+"ms");var a=n||r(t,"transition-out");a?window.setTimeout(i,a):i()},transitionIn:function(e,t,n){function i(){var t=0===e.findAndFilter(c.join(",")).length;a&&t?e.contents().unwrap():e.removeClass("transition-in").removeAttr("data-t8n")}var o=u.childrenProbablyInline(e),a=e.length>1||!o||!["tw-hook","tw-passage"].includes(e.tag());a&&(e=e.wrapAll("").parent()),e.attr("data-t8n",t).addClass("transition-in"),"number"==typeof n&&e.css("animation-duration",n+"ms"),u.childrenProbablyInline(e)&&e.css("display","inline-block");var s=n||r(t,"transition-in");s?window.setTimeout(i,s):i()},$:function(t,n){return e(t,n||u.storyElement).not(".transition-out, .transition-out *")},impossible:function(e,t){window.console&&console.error(e+"(): "+t)},assertMustHave:function(e,t){if(window.console)for(var n=0;nt.get("name")})},hasValid:function(e){var t=this.get(e);return t&&t instanceof Map&&t.has("source")},create:r});return o(function(){Array.from(e(n.storyData+" > "+n.passageData)).forEach(function(t){t=e(t),a.set(t.attr("name"),new r(t))})}),a}),define("datatypes/hookset",["jquery","utils","utils/selectors","markup"],function(e,t,n,r){function i(e,t,n){var r=e.textContent.length;if(!(t>=r)){var i=void 0,o=[i=0===t?e:e.splitText(t)];return n&&(n<=0&&(n=r-n),n0;){n.push(e[0]),r+=e[0].textContent,e.shift();var s=r.indexOf(t);if(s>-1){for(var c,u=r.length-(s+t.length);s>=n[0].textContent.length;)s-=n[0].textContent.length,n.shift();if(1===n.length){var l=i(n[0],s,s+t.length);a.push(l[0]),l[1]&&e.unshift(l[1]);break}a.push(i(n[0],s,n[0].length)[0]),(c=a).push.apply(c,_toConsumableArray(n.slice(1,-1)));var f=i(n[n.length-1],0,n[n.length-1].textContent.length-u);a.push(f[0]),f[1]&&e.unshift(f[1]),a=a.filter(Boolean);break}}return[a].concat(_toConsumableArray(o(e,t)))}function a(t,n,r){var i=o(n.textNodes(),t),a=e();return i.forEach(function(t){a=a.add(e(t).wrapAll(r))}),a.parent()}function s(e){e=t.insensitiveName(e).replace(/\?/g,"").replace(/"/g,""");var r=n.hook+'[name="'+e+'"]';return r+={page:", tw-story",passage:", tw-passage",sidebar:", tw-sidebar",link:", tw-link, .enchantment-link"}[e]||""}function c(n){var r=n.dom,i=e();this.prev&&(i=i.add(c.call(this.prev,{dom:r})));var o=function(t,n){return Array.isArray(n)?n.reduce(function(e,n){return e.add(t.get(n))},e()):e(t.get(n))};if(this.selector){var u=void 0;u=this.selector.match("^"+f.hookRef+"$")?r.add(r.parentsUntil(t.storyElement.parent())).findAndFilter(s(this.selector)):a(this.selector,r,""),i=this.properties.length?i.add(this.properties.reduce(o,u)):i.add(u)}return this.base&&(i=i.add(this.properties.reduce(o,c.call(this.base,{dom:r})))),i}function u(e){var n=e.dom;t.$("tw-pseudo-hook",n).contents().unwrap().parent().each(function(){this.normalize()})}function l(e){if(!e)return[];var n=e.selector,r=e.base,i=e.properties,o=e.prev;return[JSON.stringify([t.insensitiveName(n)||"",l(r),[].concat(_toConsumableArray(i)).sort()])].concat(_toConsumableArray(l(o))).sort()}var f=r.Patterns,p=Object.freeze({forEach:function(t,n){var r=c.call(this,t).each(function(t){n(e(this),t)});return u.call(this,t),r},get TwineScript_ObjectName(){return this.properties.length>0||this.prev?"a complex hook name":this.selector+" (a hook name)"},TwineScript_TypeName:"a hook name (like ?this)",TwineScript_Unstorable:!0,"TwineScript_+":function(e){var t=e.TwineScript_Clone();return t.prev=this,t},TwineScript_is:function(e){return l(this)+""==l(e)+""},TwineScript_GetElement:function(e){return p.create(void 0,this,[e],void 0)},TwineScript_Clone:function(){return p.create(this.selector,this.base,this.properties,this.prev)},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;return Object.assign(Object.create(this||p),{selector:e,base:t,properties:n,prev:r})},from:function(e){return p.isPrototypeOf(e)?e:p.create(e)}});return p}),define("internaltypes/twineerror",["jquery","utils"],function(e,t){var n=t.impossible,r=t.escape,i={syntax:"The markup seems to contain a mistake.",saving:"I tried to save or load the game, but I couldn't do it.",operation:"I tried to perform an operation on some data, but the data's type was incorrect.",macrocall:"I tried to use a macro, but its call wasn't written correctly.",datatype:"I tried to use a macro, but was given the wrong type of data to it.",infinite:"I almost ended up doing the same thing over and over, forever.",property:"I tried to access a value in a string/array/datamap, but I couldn't find it.",unimplemented:"I currently don't have this particular feature. I'm sorry.",javascript:"This error message was reported by your browser's Javascript engine. I don't understand it either, but it usually means that an expression was badly written."},o={create:function(e,t,r){return t||n("TwineError.create","called with only 1 string."),r||e in i||n("TwineError.create","no error explanation given"),Object.assign(Object.create(this),{type:e,message:t,explanation:r})},fromError:function(e){return o.create("javascript","\u2615 "+e.message)},containsError:function(){for(var e=arguments.length,t=Array(e),n=0;n"+r(this.message)+""),o=e("").text(this.explanation||i[this.type]).hide(),a=e("").html("");return a.on("click",function(){o.toggle(),a.children(".folddown-arrowhead").css("transform","rotate("+(o.is(":visible")?"90deg":"0deg")+")")}),n.append(a).append(o),n.data("TwineError",this),n}};return o}),define("utils/operationutils",["jquery","utils","datatypes/hookset","internaltypes/twineerror"],function(e,t,n,r){function i(e){return!!e&&("object"===(void 0===e?"undefined":_typeof(e))||"function"==typeof e)}function o(e){return Array.isArray(e)?"array":e instanceof Map?"datamap":e instanceof Set?"dataset":"string"==typeof e?"string":e&&"object"===(void 0===e?"undefined":_typeof(e))?"object":""}function a(e,t){if(e instanceof Map||v("isValidDatamapName","called with non-Map"),"string"!=typeof t&&"number"!=typeof t)return r.create("property","Only strings and numbers can be used as data names for "+l(e)+", not "+l(t)+".");var n="string"==typeof t?+t:""+t;return!(!Number.isNaN(n)&&e.has(n))||r.create("property","You mustn't use both "+l(t)+" and "+l(n)+" as data names in the same datamap.")}function s(e,t){if(null===t)return void 0===e;if(t.innerType){if("optional"===t.pattern||"zero or more"===t.pattern)return void 0===e||s(e,t.innerType);if("either"===t.pattern)return t.innerType.some(function(t){return s(e,t)});if("lambda"===t.pattern&&s(e,t.innerType))return"string"!=typeof t.clauses&&v("singleTypeCheck","lambda signature had non-string clauses"),t.clauses.includes("where")==="where"in e&&t.clauses.includes("making")==="making"in e&&t.clauses.includes("via")==="via"in e&&t.clauses.includes("with")==="with"in e;if("wrapped"===t.pattern)return s(e,t.innerType)}return(void 0===t||void 0!==e)&&("anything"===t.TwineScript_TypeName&&void 0!==e&&!e.TwineScript_Unstorable||(t===String?"string"==typeof e:t===Boolean?"boolean"==typeof e:t===parseInt?"number"==typeof e&&!Number.isNaN(e)&&!(e+"").includes("."):t===Number?"number"==typeof e&&!Number.isNaN(e):t===Array?Array.isArray(e):t===Map||t===Set?e instanceof t:Object.isPrototypeOf.call(t,e)))}function c(e){return"string"==typeof e||Array.isArray(e)||n.isPrototypeOf(e)}function u(e){if(!i(e))return e;if("function"==typeof e.TwineScript_Clone)return e.TwineScript_Clone();if(Array.isArray(e))return[].concat(_toConsumableArray(e));if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if("function"==typeof e)return Object.assign(e.bind(),e);switch(Object.getPrototypeOf(e)){case Object.prototype:return Object.assign({},e);case null:return Object.assign(Object.create(null),e)}return v("OperationUtils.clone","The value "+(e.toSource?e.toSource():e)+" cannot be cloned!"),e}function l(e){return i(e)&&"TwineScript_ObjectName"in e?e.TwineScript_ObjectName:Array.isArray(e)?"an array":e instanceof Map?"a datamap":e instanceof Set?"a dataset":"boolean"==typeof e?"the boolean value '"+e+"'":"string"==typeof e||"number"==typeof e?"the "+(void 0===e?"undefined":_typeof(e))+" "+w(e):void 0===e?"an empty variable":"...whatever this is"}function f(e){return Object.getPrototypeOf(e)===Object.prototype&&e.innerType?e.typeName?e.typeName:"either"===e.pattern?(Array.isArray(e.innerType)||v("typeName",'"either" pattern had non-array inner type'),e.innerType.map(f).join(" or ")):"optional"===e.pattern?"(an optional) "+f(e.innerType):f(e.innerType):e===String||e===Number||e===Boolean?"a "+_typeof(e()):e===parseInt?"a whole number":e===Map?"a datamap":e===Set?"a dataset":e===Array?"an array":i(e)&&"TwineScript_TypeName"in e?e.TwineScript_TypeName:l(e)}function p(e,t){return"object"!==(void 0===e?"undefined":_typeof(e))&&"object"!==(void 0===t?"undefined":_typeof(t))?e===t:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return p(t[n],e)}):e instanceof Map&&t instanceof Map?p(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?p([].concat(_toConsumableArray(e)),[].concat(_toConsumableArray(t))):e&&"function"==typeof e.TwineScript_is?e.TwineScript_is(t):e&&"object"===(void 0===e?"undefined":_typeof(e))&&t&&"object"===(void 0===t?"undefined":_typeof(t))&&Object.getPrototypeOf(e)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype?p(Object.getOwnPropertyNames(e).map(function(t){return[t,e[t]]}),Object.getOwnPropertyNames(t).map(function(e){return[e,t[e]]})):Object.is(e,t)}function d(e,t){if(e||""===e){if("string"==typeof e)return e.includes(t);if(Array.isArray(e))return e.some(function(e){return p(e,t)});if(e instanceof Set||e instanceof Map)return Array.from(e.keys()).some(function(e){return p(e,t)})}return r.create("operation",l(e)+" cannot contain any values, let alone "+l(t))}function h(e,t){return"function"==typeof t.TwineScript_IsTypeOf?t.TwineScript_IsTypeOf(e):r.create("operation",'"is a" should only be used to compare type names, not '+l(t)+".")}function y(e,t){return e&&"function"==typeof e.TwineScript_IsTypeOf?e.TwineScript_IsTypeOf(t):t&&"function"==typeof t.TwineScript_IsTypeOf?t.TwineScript_IsTypeOf(e):Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every(function(e,n){return y(e,t[n])}):e instanceof Map&&t instanceof Map?y(Array.from(e.entries()).sort(),Array.from(t.entries()).sort()):e instanceof Set&&t instanceof Set?(e=[].concat(_toConsumableArray(e)),b.apply(void 0,_toConsumableArray(t)).some(function(t){return y(e,t)})):p(e,t)}function g(e,t,n){if(!t||!n)return r.create("macrocall","The sub"+o(e)+" index values must not be 0 or NaN.");if(t<0&&(t=e.length+t+1),n<0&&(n=e.length+n+1),t>n)return g(e,n,t);var i="string"==typeof e;i&&(e=Array.from(e));var a=e.slice(t>0?t-1:t,n).map(u);return i?a.join(""):a}function m(t){return r.containsError(t)?t:t&&"function"==typeof t.TwineScript_Print?t.TwineScript_Print():t instanceof Map?(t=Array.from(t.entries()),r.containsError(t)?t:t.reduce(function(e,t){var n=_slicedToArray(t,2),r=n[0],i=n[1];return e+"`"+m(r)+"``"+m(i)+"`"},"")+"
"):t instanceof Set?Array.from(t.values()).map(m)+"":Array.isArray(t)?t.map(m)+"":t instanceof e?t:i(t)?r.create("unimplemented","I don't know how to print this value yet."):t+""}var v=t.impossible,b=t.permutations,w=t.toJSLiteral;return Object.freeze({isObject:i,singleTypeCheck:s,isValidDatamapName:a,collectionType:o,isSequential:c,clone:u,objectName:l,typeName:f,is:p,contains:d,isA:h,matches:y,subset:g,printBuiltinValue:m,numericIndex:/^(?:[1-9]\d*|0)$/,unique:function(e,t,n){return!n.slice(t+1).some(function(t){return p(e,t)})}})}),define("twinescript/compiler",["utils"],function(e){function t(e,t){for(var n=0;n-1)return i=[e[o],o],!0}),i):i}function i(e){if("inequality"===e.type){var t=e.operator;return e.negate?{">":"<=","<":">=",">=":"<","<=":">"}[t]:t}return e.type}function o(e){var t=i(e);return{">":"<","<":">",">=":"<=","<=":">=",contains:"isIn",isIn:"contains",isA:"typifies",typifies:"isA",isNotA:"untypifies",untypifies:"isNotA"}[t]||t}function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isVarRef,u=t.whitespaceError,l=t.elidedComparison,f=t.testNeedsRight;if(e=[].concat(e),!e.length)return n&&u?"TwineError.create('operation',"+s(u)+")":"";var p=e[0];if(1===e.length){if("identifier"===p.type)return n?"VarRef.create(Operations.Identifiers,"+s(p.text)+")":" Operations.Identifiers."+p.text.toLowerCase()+" ";if("variable"===p.type)return"VarRef.create(State.variables,"+s(p.name)+")"+(n?"":".get()");if("tempVariable"===p.type)return"VarRef.create(section.stack[0].tempVariables,"+s(p.name)+")"+(n?"":".get()");if("hookRef"===p.type)return" HookSet.create('?"+p.name+"') ";if("string"===p.type)return p.text.replace(/\n/g,"\\n");if("colour"===p.type)return"Colour.create("+s(p.colour)+")";if("datatype"===p.type)return"Datatype.create("+s(p.name)+")";if("root"===p.type)return a(p.children);if("whitespace"===p.type&&n&&u)return"TwineError.create('operation',"+s(u)+")"}var d=void 0,h=r(e,"least"),y=_slicedToArray(h,2);p=y[0],d=y[1];var g=(p||{}).type,m=function(e){return{isVarRef:!0,whitespaceError:"I need usable data to be on the "+e+' of "'+p.text+'".'}},v=void 0,b=void 0,w=void 0,x=void 0,T=void 0,S=void 0,O=!0,j=!0,k=!1;if(g){if("error"===g)return"TwineError.create('syntax',"+s(p.message)+")";if("comma"===g)w=",",j=!1;else if("spread"===g)w="Operations.makeSpreader(",b=a(e.slice(d+1))+")",O=!1;else if("bind"===g)w="VarBind.create(",b=a(e.slice(d+1),m("right"))+")",O=!1;else if("to"===g)T="to",b=a(e.slice(d+1),m("right")),v="Operations.setIt("+a(e.slice(0,d),m("left"))+")";else if("into"===g)T="into",b=a(e.slice(0,d),m("left")),v="Operations.setIt("+a(e.slice(d+1),m("right"))+")";else if("where"===g||"when"===g||"via"===g)v="Lambda.create("+(a(e.slice(0,d),{isVarRef:!0,whitespaceError:null}).trim()||"undefined")+",",w=s(p.type)+",",b=s(a(e.slice(d+1)))+")";else if("with"===g||"making"===g||"each"===g){var A=e.slice(d+1);![2,3].includes(A.length)||"whitespace"!==A[0].type||"tempVariable"!==A[1].type||A[2]&&"whitespace"!==A[2].type?(v="TwineError.create('operation','I need a temporary variable to the right of \\'",w=p.type,b="\\'.')"):"each"===g?(v="Lambda.create(",w=a(A,m("right")).trim(),b=",'where','true')"):(v="Lambda.create("+(a(e.slice(0,d),{isVarRef:!0,whitespaceError:null}).trim()||"undefined")+",",w=s(p.type)+",",b=s(A[1].name)+")")}else if("augmentedAssign"===g)T=p.operator,v=a(e.slice(0,d),m("left")),b="Operations['"+T+"']("+a(e.slice(0,d))+","+a(e.slice(d+1))+")";else if("and"===g||"or"===g){var C=function e(t){var n=r(t,"least"),i=_slicedToArray(n,2),o=i[0],a=i[1];if(o)return["inequality","is","isNot","isIn","contains","isA","typifies","isNotA","untypifies","matches"].includes(o.type)?o:["and","or"].includes(o.type)?e(t.slice(0,a))||e(t.slice(a+1)):void 0},E=C(e.slice(0,d)),N=C(e.slice(d+1)),_="TwineError.create('operation', 'This use of \"is not\" and \""+g+"\" is grammatically ambiguous','Maybe try rewriting this as \"__ is not __ "+g+" __ is not __\"') ";if(x=p.type,l===p.type)x="",v=a(e.slice(0,d),{isVarRef:n,elidedComparison:l}).trim(),w=",",b=a(e.slice(d+1),{elidedComparison:l}).trim();else if(E&&!N){var I=E,P=s(i(I));if("isNot"===I.type||"isNotA"===I.type||"untypifies"===I.type)return _;b="Operations.elidedComparisonOperator("+s(p.type)+","+P+","+a(e.slice(d+1),{elidedComparison:g})+")"}else if(!E&&N){var M=N,D=e.indexOf(M),L=s(o(M));if("isNot"===M.type||"isNotA"===M.type||"untypifies"===M.type)return _;b="Operations.elidedComparisonOperator("+s(p.type)+","+L+","+a(e.slice(0,d),{elidedComparison:g})+")",v=a([].concat(_toConsumableArray(e.slice(D+1)),[Object.assign(Object.create(M),_defineProperty({},"inequality"===M.type?"operator":"type",o(M)))],_toConsumableArray(e.slice(d+1,D))))}}else if("is"===g||"isNot"===g||"contains"===g||"isIn"===g||"inequality"===g||"isA"===g||"typifies"===g||"isNotA"===g||"untypifies"===g||"matches"===g)k=!0,x=i(p);else if("addition"===g||"subtraction"===g){var q=a(e.slice(0,d),{testNeedsRight:!0}).trim();if(!q)return p.type={addition:"positive",subtraction:"negative"}[g],a(e,{isVarRef:n,whitespaceError:u,elidedComparison:l,testNeedsRight:f});x=p.text}else if("multiplication"===g||"division"===g)x=p.text;else if("positive"===g||"negative"===g)x="*",v="negative"===g?"-1":"1";else if("not"===g)w=" ",b="Operations.not("+a(e.slice(d+1))+")",O=!1;else if("belongingProperty"===g)b="VarRef.create("+a(e.slice(d+1),m("right"))+","+s(p.name)+")"+(n?"":".get()"),w=" ",O=j=!1;else if("belongingOperator"===g||"belongingItOperator"===g)p.type.includes("It")?(b="Operations.Identifiers.it",j=!1):b=a(e.slice(d+1),m("right")),S="belonging";else if("property"===g)v="VarRef.create("+a(e.slice(0,d),m("left"))+","+s(p.name)+")"+(n?"":".get()"),w=" ",O=j=!1;else if("itsProperty"===g||"belongingItProperty"===g)v="VarRef.create(Operations.Identifiers.it,"+s(p.name)+").get()",w=" ",O=j=!1;else if("possessiveOperator"===g||"itsOperator"===g)p.type.includes("it")&&(v="Operations.Identifiers.it",O=!1),S="possessive";else if("twineLink"===g)w='Macros.run("link-goto", [section,'+s(p.innerText)+","+s(p.passage)+"])",O=j=!1;else if("macro"===g){var R=p.children[0];"macroName"!==R.type&&c("Compiler.compile","macro token had no macroName child token"),w="Macros.run("+(R.isMethodCall?a(R.children):'"'+p.name+'"')+", [section,"+a(p.children.slice(1))+"])",O=j=!1}else"grouping"===g&&(w="("+a(p.children,{isVarRef:n})+")",O=j=!1)}else;return d>-1?(x&&(n=!1),v=v||a(e.slice(0,d),{isVarRef:n}).trim(),b=b||a(e.slice(d+1)).trim(),k&&!v&&(v=" Operations.Identifiers.it "),O&&!v||j&&!b?f&&j&&!b?"":"TwineError.create('operation','I need some code to be "+(O?"left ":"")+(O&&j?"and ":"")+(j?"right ":"")+'of "'+p.text+"\"')":w?v+w+b:T?"Operations.makeAssignmentRequest("+[v,b,s(T)]+")":S?"VarRef.create("+("belonging"===S?b:v)+",{computed:true,value:"+("belonging"===S?v:b)+"})"+(n?"":".get()"):x?" Operations["+s(x)+"]("+v+","+b+") ":""):1===e.length?(("value"in e[0]?e[0].value:e[0].text)+"").trim()||" ":e.reduce(function(e,t){return e+a(t,{isVarRef:n})},"")}var s=e.toJSLiteral,c=e.impossible;return a}),define("renderer",["utils","markup","twinescript/compiler","internaltypes/twineerror"],function(e,t,n,r){function i(e,t){return"<"+t+">"+e+""}function o(e,t){var n=l.render(e.children);return n&&i(n,t)}var a=e.escape,s=e.impossible,c=e.toJSLiteral,u=e.insensitiveName,l=void 0,f="text-align: center; max-width:50%; ";return l={options:{},exec:function(){var e=void 0,n=void 0;return function(r){return"string"!=typeof r?(s("Renderer.exec","source was not a string, but "+(void 0===r?"undefined":_typeof(r))),""):r===e?n:(e=r,n=l.render(t.lex(r).children))}}(),render:function e(s){var p="",d=[];if(!s)return p;for(var h=s.length,y=0;y";for(var v=1;y").repeat(Math.max(0,s[y].depth-v)),p+=("").repeat(Math.max(0,v-s[y].depth)),v=s[y].depth,p+=o(s[y],"li"),y+=1;y-=1,p+=("").repeat(v+1);break;case"align":for(;g&&"align"===g.type;){var b=g,w=b.align,x=y+=1;if("left"===w){y-=1;break}for(;y"+T+"\n",g=s[y]}break;case"column":for(var O=[];g&&"column"===g.type;){var j=g,k=j.column,A=y+=1;if("none"===k){y-=1;break}for(;y"+t.body+"\n"}).join("")+""}();break;case"heading":p+=o(g,"h"+g.depth);break;case"br":d.length&&!/td|th/.test(d[0])||(p+="
");break;case"hr":p+="
";break;case"escapedLine":case"comment":break;case"inlineUrl":p+='
'+g.text+"";break;case"scriptStyleTag":case"tag":var C=g.text.toLowerCase();/^<\/?(?:table|thead|tbody|tr|tfoot|td|th)\b/.test(C)&&d[g.text.startsWith("$/," data-raw>");break;case"sub":case"sup":case"strong":case"em":p+=o(g,g.type);break;case"strike":p+=o(g,"s");break;case"bold":p+=o(g,"b");break;case"italic":p+=o(g,"i");break;case"twineLink":var E=_slicedToArray(t.lex("(link-goto:"+c(g.innerText)+","+c(g.passage)+")").children,1),N=E[0];p+='';break;case"hook":p+="';break;case"verbatim":p+=i(a(g.innerText).replace(/\n/g,"
"),"tw-verbatim");break;case"collapsed":p+=o(g,"tw-collapsed");break;case"variable":case"tempVariable":case"macro":p+='';break;default:p+=g.children&&g.children.length?e(g.children):g.text}}return p}},Object.freeze(l)}),define("internaltypes/changedescriptor",["jquery","utils","renderer","datatypes/hookset"],function(e,t,n,r){ +var i=t.assertOnlyHas,o=t.impossible,a=t.transitionIn,s=n.exec,c=void 0,u={source:"",innerSource:"",enabled:!0,target:null,append:"append",newTargets:null,transition:"instant",transitionTime:null,transitionDeferred:!1,loopVars:null,styles:null,attr:null,data:null,section:null,earlyExit:!1,summary:function(){var e=this;return["source","innerSource","enabled","target","append","newTargets","transition","transitionTime"].filter(function(t){return e.hasOwnProperty(t)}).concat([this.attr.length&&"attr",this.styles.length&&"styles",Object.keys(this.loopVars).length&&"loopVars",Object.keys(this.data).length&&"data"].filter(Boolean))},create:function(e,t){var n=Object.assign(Object.create(this),{attr:[].concat(this.attr||[]),styles:[].concat(this.styles||[]),loopVars:this.loopVars||{},data:this.data||{}},e);return t&&t.run(n),n},update:function(){var e=this,t=this.section,n=this.newTargets,i=this.target,o=function(t){Array.isArray(e.styles)&&e.styles.length>0&&setTimeout(function(){return t.css(Object.assign.apply(Object,_toConsumableArray([{}].concat(e.styles))))}),e.attr&&e.attr.forEach(function(e){return t.attr(e)}),e.data&&t.data(e.data)};Array.isArray(n)&&n.length&&(i=n.map(function(e){return e.target})),[].concat(i).forEach(function(e){r.isPrototypeOf(e)?e.forEach(t,o):o(e)})},render:function(){var t=this,n=this.source,l=this.transition,f=this.transitionTime,p=this.transitionDeferred,d=this.enabled,h=this.data,y=this.section,g=this.newTargets,m=this.target,v=this.target,b=this.append;if(i(this,c),!d||void 0!==m.popAttr("hidden"))return u.create({target:m,data:Object.assign({},h,{hiddenSource:n})}).update(),e();if(Array.isArray(g)&&g.length&&(m=g),!m)return o("ChangeDescriptor.render","ChangeDescriptor has source but not a target!"),e();var w=e(),x=function(e,n){return function(r){n&&1&r[0].compareDocumentPosition(document)&&2&r[0].compareDocumentPosition(v[0])||(w=w.add(t.create({target:r,append:e,newTargets:null}).render()))}};if([].concat(m).forEach(function t(n,i,o){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:b,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0;r.isPrototypeOf(n)?n.forEach(y,x(a,s)):n.jquery&&n.length>1?Array.from(n).map(e).forEach(x(a)):n.target&&n.append&&t(n.target,i,o,n.append,n.before)}),w.length||Array.isArray(m)||r.isPrototypeOf(m))return w;if(!(b in m)){if("replace"!==b)return o("Section.render","The target doesn't have a '"+b+"' method."),e();m.empty(),b="append"}return w=e(n&&e.parseHTML(s(n),document,!0)),m[b](w.length?w:void 0),this.update(),l&&!p&&a("replace"===b?m:w,l,f),w}};return c=Object.keys(u),Object.seal(u)}),define("datatypes/changercommand",["utils","utils/operationutils","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r){var i=e.impossible,o=t.is,a={},s={changer:!0,TwineScript_TypeName:"a changer command",TwineScript_Print:function(){return"`[A ('"+this.macroName+"':) command]`"},summary:function(){var e=n.create();return this.run(e),e.summary()},create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return Array.isArray(t)||i("ChangerCommand.create","params was not an array"),Object.assign(Object.create(this),{macroName:e,params:t,next:n,TwineScript_ObjectName:"a ("+e+":) command"})},"TwineScript_+":function(e){for(var t=this.TwineScript_Clone(),n=t;n.next;)n=n.next;return n.next=e,t},TwineScript_is:function(e){if(s.isPrototypeOf(e))return this.macroName===e.macroName&&o(this.params,e.params)&&o(this.next,e.next)},TwineScript_Clone:function(){return this.create(this.macroName,this.params,this.next)},run:function(e){var t=a[this.macroName].apply(a,[e].concat(_toConsumableArray(this.params)));if(r.containsError(t))return t;this.next&&this.next.run(e)},register:function(e,t){a[e]=t}};return Object.freeze(s)}),define("state",["utils","passages","datatypes/changercommand","internaltypes/twineerror","utils/operationutils"],function(e,t,n,r,i){function o(){if(m.hasSessionStorage){var e=m.serialise();if("string"==typeof e)try{sessionStorage.setItem("Saved Session",e)}catch(e){return}}}function a(e){h=(p[d]||f).create(e),o()}var s=e.impossible,c=i.objectName,u=["localStorage","sessionStorage"].map(function(e){try{return!!window[e]&&function(){return window[e].setItem("test","1"),window[e].removeItem("test"),!0}()}catch(e){return!1}}),l={TwineScript_ObjectName:"this story's variables",TwineScript_VariableStore:!0},f={passage:"",variables:l,create:function(e,t){var n=Object.create(f);return n.passage=e||"",n.variables=Object.assign(Object.create(this.variables),t),n}},p=[],d=-1,h=f.create(),y=void 0,g={forward:[],back:[],load:[]},m=void 0;return m=Object.assign({get passage(){return h.passage},get variables(){return h.variables},get pastLength(){return d},get futureLength(){return p.length-1-d},passageNameVisited:function(e){var n=0;if(!t.get(e))return 0;for(var r=0;r<=d;r++)n+=+(e===p[r].passage);return n},passageNameLastVisited:function(e){if(!t.get(e))return 1/0;if(e===h.passage)return 0;for(var n=d;n>0;n--)if(p[n].passage===e)return d-n+1;return 1/0},pastPassageNames:function(){for(var e=[],t=d-1;t>=0;t--)e.unshift(p[t].passage);return e},play:function(e){h||s("State.play","present is undefined!"),h.passage=e,p=p.slice(0,d+1).concat(h),d+=1,a(e),g.forward.forEach(function(t){return t(e)})},rewind:function(e){var t=1,n=!1;if(e)if("string"==typeof e){if((t=this.passageNameLastVisited(e))===1/0)return}else"number"==typeof e&&(t=e);for(;t>0&&d>0;t--)n=!0,d-=1;return n&&(a(p[d].passage),g.back.forEach(function(e){return e()})),n},fastForward:function(e){var t=1,n=!1;for("number"==typeof e&&(t=e);t>0&&p.length>0;t--)n=!0,d+=1;return n&&(a(p[d].passage),g.forward.forEach(function(e){return e(p[d].passage,"fastForward")})),n},on:function(e,t){return e in g?("function"!=typeof t||g[e].includes(t)||g[e].push(t),m):void s("State.on","invalid event name")},reset:function(){window.jasmine&&(p=[],d=-1,h=f.create(),y=void 0,g.load.forEach(function(e){return e(p)}))},hasStorage:u[0],hasSessionStorage:u[1]},function(){function e(t){return"number"==typeof t||"boolean"==typeof t||"string"==typeof t||null===t||Array.isArray(t)&&t.every(e)||t instanceof Set&&Array.from(t).every(e)||t instanceof Map&&Array.from(t.values()).every(e)||n.isPrototypeOf(t)}function i(e,t){return t instanceof Set?{"(dataset:)":Array.from(t)}:t instanceof Map?{"(datamap:)":Array.from(t)}:n.isPrototypeOf(t)?{changer:{name:t.macroName,params:t.params,next:t.next}}:t}function o(e,t){if(t&&"object"===(void 0===t?"undefined":_typeof(t))){if(Array.isArray(t["(dataset:)"]))return new Set(t["(dataset:)"]);if(Array.isArray(t["(datamap:)"]))return new Map(t["(datamap:)"]);if(t.changer&&"object"===_typeof(t.changer)){var r=t.changer,i=r.name,o=r.params,a=r.next;return n.create(i,o,a)}}return t}function s(){var t=p.slice(0,d+1),n=t.map(function(t){return Object.keys(t.variables).filter(function(n){return t.variables[n]&&!e(t.variables[n])}).map(function(e){return[e,t.variables[e]]})});if(y||(y=n.reduce(function(e,t,n){var r=_slicedToArray(t,2),i=r[0],o=r[1];return e||i&&[i,o,n+1]},void 0)),y){var o=y,a=_slicedToArray(o,3),s=a[0],u=a[1],l=a[2];return r.create("saving","The variable $"+s+" holds "+c(u)+" (which is, or contains, a complex data value) on turn "+l+"; the game can no longer be saved.")}try{return JSON.stringify(t,i)}catch(e){return!1}}function u(e){var n=void 0,r=l,i="The save data is unintelligible.";try{n=JSON.parse(e,o)}catch(e){return Error(i)}if(!Array.isArray(n))return Error(i);var s=void 0;return(s=(n=n.map(function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&e.hasOwnProperty("passage")&&e.hasOwnProperty("variables")?t.hasValid(e.passage)?(e.variables=Object.assign(Object.create(r),e.variables),r=e.variables,Object.assign(Object.create(f),e)):Error("The data refers to a passage named '"+e.passage+"', but it isn't in this story."):Error(i)})).find(function(e){return e instanceof Error}))?s:(p=n,g.load.forEach(function(e){return e(p)}),d=p.length-1,a(p[d].passage),!0)}return{serialise:s,deserialise:u}}()),Object.seal(f),Object.freeze(m)}),define("datatypes/colour",["jquery"],function(e){function t(t){if(t in s)return s[t];var n=e("

").css("background-color",t).css("background-color");return n=n.startsWith("rgb")?n.match(/\d+/g).reduce(function(e,t,n){return e["rgb"[n]]=+t,e},{}):{r:192,g:192,b:192},s[t]=n,n}function n(e){return"string"!=typeof e?e:(e=e.replace("#",""),e=e.replace(o,"$1$1$2$2$3$3"),{r:parseInt(e.slice(0,2),16),g:parseInt(e.slice(2,4),16),b:parseInt(e.slice(4,6),16)})}function r(e){var t=e.r,n=e.g,r=e.b,i=e.a;t/=255,n/=255,r/=255;var o=Math.max(t,n,r),a=Math.min(t,n,r),s=(o+a)/2,c=o-a;if(o===a)return{h:0,s:0,l:s};var u=void 0;switch(o){case t:u=(n-r)/c+(n.5?c/(2-o-a):c/(o+a),l:s,a:i}}function i(e){function t(e){return e<0&&(e+=1),e>1&&(e-=1),e<1/6?c+6*(s-c)*e:e<.5?s:e<2/3?c+(s-c)*(2/3-e)*6:c}var n=e.h,r=e.s,i=e.l,o=e.a;if(0===r){var a=Math.floor(255*i);return{r:a,g:a,b:a}}n/=360;var s=i<.5?i*(1+r):i+r-i*r,c=2*i-s;return{r:Math.floor(255*t(n+1/3)),g:Math.floor(255*t(n)),b:Math.floor(255*t(n-1/3)),a:o}}var o=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,a=/^([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])([\da-fA-F])$/,s=Object.create(null),c=Object.freeze({TwineScript_TypeName:"a colour",TwineScript_ObjectName:"a colour","TwineScript_+":function(e){var t=this,n=e;return c.create({r:Math.min(Math.round(.6*(t.r+n.r)),255),g:Math.min(Math.round(.6*(t.g+n.g)),255),b:Math.min(Math.round(.6*(t.b+n.b)),255),a:(t.a+n.a)/2})},TwineScript_Print:function(){return""},TwineScript_is:function(e){return c.isPrototypeOf(e)&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a},TwineScript_Clone:function(){return c.create(this)},toRGBAString:function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.a+")"},get h(){return r(this).h},get s(){return r(this).s},get l(){return r(this).l},create:function(e){return"string"==typeof e?c.isHexString(e)?this.create(n(e)):this.create(t(e)):!("h"in e&&"s"in e&&"l"in e)||"r"in e||"g"in e||"b"in e?("a"in e&&"number"==typeof e.a||(e.a=1),Object.assign(Object.create(this),e)):this.create(i(e))},isHexString:function(e){return"string"==typeof e&&"#"===e[0]&&(e.slice(1).match(o)||e.slice(1).match(a))},isCSS3Function:function(e){return"string"==typeof e&&/^(?:rgb|hsl)a?\(\s*\d+\s*,\s*\d+%?\s*,\s*\d+%?(?:,\s*\d+(?:\.\d+)?\s*)?\)$/.test(e)}});return c}),define("internaltypes/varref",["state","internaltypes/twineerror","utils","utils/operationutils","datatypes/hookset","datatypes/colour"],function(e,t,n,r,i,o){function a(e,n){var r=void 0;if(e instanceof Map&&(r=t.containsError(j(e,n))))return r;if(w(e)){var o=void 0;if("number"==typeof n){if(0===n)return t.create("property","You can't access elements at position 0 of "+x(e)+".","Only positive and negative position values exist.");n>0&&(n-=1)}else if("string"==typeof n&&(o=/(\d+)(?:st|[nr]d|th)last/i.exec(n)))n=-o[1];else if("string"==typeof n&&(o=/(\d+)(?:st|[nr]d|th)/i.exec(n)))n=o[1]-1;else if("last"===n)n=-1;else if(!["length","any","all"].includes(n)||i.isPrototypeOf(e))return t.create("property","You can only access position strings/numbers ('4th', 'last', '2ndlast', (2), etc.)"+(i.isPrototypeOf(e)?"":", 'length', 'any' and 'all'")+" of "+x(e)+", not "+x(n)+".")}else if(e instanceof Set){if(!["length","any","all"].includes(n))return t.create("property","You can only get the 'length', 'any' and 'all' of a "+x(e)+".","To check contained values, use the 'contains' operator.");"length"===n&&(n="size")}else if("number"==typeof e||"boolean"==typeof e)return t.create("property","You can't get data values from "+x(e)+".");return n}function s(e,n){return{compiledPropertyChain:n.reduce(function(r,i,o){i.computed&&(i=i.value),k.isPrototypeOf(i)&&(i=i.get()),i=Array.isArray(i)?i.map(function(t){return a(e,t)}):a(e,i);var s=void 0;return(s=t.containsError(r,i))?s:(o0&&(o=S(o)),"string"==typeof o){if("string"!=typeof e||e.length!==(Array.isArray(a)?a.length:1))return t.create("datatype","I can't put this non-string value, "+x(e)+", in a string.");o=[].concat(_toConsumableArray(o));var c=[].concat(_toConsumableArray(e));[].concat(a).forEach(function(e){0+e<0&&(e=o.length+(0+e)),o=[].concat(_toConsumableArray(o.slice(0,e)),[c.shift()],_toConsumableArray(o.slice(e+1)))}),o=o.join("")}else b(o)&&(Array.isArray(a)&&w(e)?("string"==typeof e&&(e=[].concat(_toConsumableArray(e))),a.map(function(t,n){return[t,e[n]]}).forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return d(o,n,r)})):d(o,a,e));return o},e):t.create("macrocall","I can't (set:) "+x(this)+", if the "+(x(this.object).match(/ (.+$)/)||["","value"])[1]+" isn't stored in a variable.","Modifying data structures that aren't in variables won't change the game state at all.")},delete:function(){return m.call(this,function(e,n,r){var i=_slicedToArray(n,2),o=i[0],a=i[1],s=void 0;if(s=t.containsError(e,o,a)||t.containsError(p(o,a)))return s;if(r>0&&(o=S(o)),null===e){var u="string"==typeof o;u&&(o=[].concat(_toConsumableArray(o))),Array.isArray(a)?(w(o)&&(a=[].concat(_toConsumableArray(new Set(a))),a.sort(function(e,t){return c(o,t)-c(o,e)})),a.forEach(function(e){return h(o,e)})):h(o,a),u&&(o=o.join(""))}else d(o,a,e);return o},null)},create:function(e,n){var r=void 0;if(r=t.containsError(e))return y(r);n=[].concat(n),k.isPrototypeOf(e)&&(n=e.propertyChain.concat(n),e=e.object);var i=s(e,n),o=i.compiledPropertyChain,a=i.deepestObject;return(r=t.containsError(o,a))?y(r):Object.assign(Object.create(k),{object:e,propertyChain:n,compiledPropertyChain:o,deepestObject:a})},get TwineScript_ObjectName(){var t=this,n=function(n,r){return r||t.object!==e.variables&&!t.object.TwineScript_VariableStore?f(n):n};return(this.object===e.variables?"$":this.object.TwineScript_VariableStore?"_":x(this.object)+"'s ")+(1===this.propertyChain.length?n(this.propertyChain[0]):this.propertyChain.reduce(function(e,t,r){return e+"'s "+n(t,r)}))+(this.object.TwineScript_VariableStoreName?" in "+this.object.TwineScript_VariableStoreName:"")},on:function(e,t){return e in C?("function"!=typeof t||C[e].includes(t)||C[e].push(t),k):void v("VarRef.on","invalid event name")}})}),define("utils/naturalsort",[],function(){return function(e){return function t(n,r){var i,o,a,s,c=/(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,u=/(^[ ]*|[ ]*$)/g,l=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,f=/^0x[0-9a-f]+$/i,p=/^0/,d=function(e){return t.insensitive&&(""+e).toLowerCase()||""+e},h=d(n).replace(u,"")||"",y=d(r).replace(u,"")||"",g=h.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),m=y.replace(c,"\0$1\0").replace(/\0$/,"").replace(/^\0/,"").split("\0"),v=parseInt(h.match(f))||1!==g.length&&h.match(l)&&Date.parse(h),b=parseInt(y.match(f))||v&&y.match(l)&&Date.parse(y)||null;if(e&&window.Intl&&window.Intl.Collator&&(a=window.Intl.Collator(e)),b){if(vb)return 1}for(var w=0,x=Math.max(g.length,m.length);wo)return 1}return 0}}}),define("internaltypes/varscope",[],function(){return{TwineScript_ObjectName:"the temporary variables",TwineScript_VariableStore:!0}}),define("datatypes/lambda",["utils","utils/operationutils","internaltypes/varscope","internaltypes/twineerror"],function(e,t,n,r){var i=e.toJSLiteral,o=e.insensitiveName,a=(e.plural,t.typeName,t.objectName,t.singleTypeCheck,Object.freeze({lambda:!0,TwineScript_TypeName:"a lambda",TwineScript_ObjectName:function(){return'a "'+("making"in this?"making ... ":"")+("with"in this?"with ... ":"")+("where"in this?"where ... ":"")+("when"in this?"when ... ":"")+("via"in this?"via ... ":"")+'" lambda'},TwineScript_Print:function(){return"`[A lambda]`"},TwineScript_is:function(e){return e===this},TypeSignature:function(e){return{pattern:"lambda",innerType:a,clauses:e,typeName:'a "'+e.split().concat("").join(" ...")+'" lambda'}},create:function(e,t,i){var s=void 0;if(r.containsError(e))return e;if(a.isPrototypeOf(e)){if("when"===t||"when"in e)return r.create("syntax","A 'when' lambda cannot have any other clauses, such as '"+t+"'.");if(t in e&&("where"!==t||"true"!==e[t]))return r.create("syntax","This lambda has two '"+t+"' clauses.");s=e}else{if("when"===t&&void 0!==e)return r.create("syntax","A 'when' lambda shouldn't begin with a temporary variable (just use 'when' followed by the condition).");if(void 0!==e&&(!e||!e.varref||!n.isPrototypeOf(e.object)||e.propertyChain.length>1))return r.create("syntax","This lambda needs to start with a single temporary variable.");s=Object.create(this),s.loop=e?e.propertyChain[0]:""}s[t]=i;var c=[s.making,s.with,s.loop].filter(function(e,t,n){return e&&n.indexOf(o(e))!==t});return c.length?r.create("syntax","This lambda has two variables named '"+c[0]+"'.","Lambdas should have all-unique parameter names."):s},apply:function(e,t){var o=t.loop,a=t.with,s=t.making,c=t.fail,u=t.pass,l=t.ignoreVia,f=t.tempVariables;f=f||Object.create(e.stack[0]||n),[[this.loop,o],[this.with,a],[this.making,s]].forEach(function(e){var t=_slicedToArray(e,2),n=t[0],r=t[1];return n&&(f[n]=r)}),e.stack.unshift(Object.assign(Object.create(null),{tempVariables:f})),!o||this.with||this.making||this.when?e.eval("Operations").initialiseIt(r.create("operation","I can't use 'it', or an implied 'it', in "+this.TwineScript_ObjectName())):e.eval("Operations").initialiseIt(o);var p=!l&&this.via,d=e.eval("where"in this||"when"in this?"Operations.where("+(this.where||this.when)+","+(p||i(u))+","+i(c)+")":p||i(u));return e.stack.shift(),d},filter:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=void 0,a=t.reduce(function(t,a){if(o=r.containsError(t))return o;var s=n.apply(e,{loop:a,pass:!0,fail:!1,ignoreVia:!0,tempVariables:i});return(o=r.containsError(s))?o:t.concat(s?[a]:[])},[]);return(o=r.containsError(a))?o:a}}));return a}),define("macros",["jquery","utils/naturalsort","utils","utils/operationutils","datatypes/changercommand","datatypes/lambda","datatypes/hookset","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c){function u(e){return function(n){n=n.reduce(function(e,n){if(n&&!0===n.spreader){var r=n.value;if(Array.isArray(r)||"string"==typeof r)for(var i=0;i1?e[0]:e)+":)";var r=void 0;return r=n.length>0?"The "+e+" macro must only be given "+n.map(v).reduce(function(e,t,n,r){return e+(0===n?"":n1?", in that order":"."):"The macro must not be given any data - just write "+e+".",function(i){for(var a=arguments.length,s=Array(a>1?a-1:0),u=1;u=n.length&&!l?{v:c.create("datatype",s.length-n.length+" too many values were given to this "+e+" macro.",r)}:(a||(a=l),!a.innerType||"rest"!==a.pattern&&"zero or more"!==a.pattern||(l=a.innerType,"rest"===a.pattern&&(a=a.innerType)),b(u,a)?void 0:void 0===u?{v:c.create("datatype","The "+e+" macro needs "+h(n.length-t,"more value")+".",r)}:u&&u.TwineScript_Unstorable&&(a===w.TypeSignature.Any||a.innerType&&a.innerType===w.TypeSignature.Any)?{v:c.create("datatype",e+"'s "+d(t+1)+" value, "+m(u)+", is not valid data for this macro.",r)}:u&&o.isPrototypeOf(u)&&"lambda"===a.pattern?{v:c.create("datatype",e+"'s "+d(t+1)+" value (a lambda) should have "+y(["where","making","via","with"].filter(function(e){return a.clauses.includes(e)}).map(function(e){return"a '"+e+"' clause"}))+", not "+y(["where","making","via","with"].filter(function(e){return e in u}).map(function(e){return"a '"+e+"' clause"}))+".")}:{v:c.create("datatype",e+"'s "+d(t+1)+" value is "+m(u)+", but should be "+v(a)+".",a.message||r)})}(f);if("object"===(void 0===g?"undefined":_typeof(g)))return g.v}return t.apply(void 0,[i].concat(s))}}function f(e,t){Array.isArray(e)?e.forEach(function(e){return g(x,p(e),t)}):g(x,p(e),t)}var p=n.insensitiveName,d=n.nth,h=n.plural,y=n.andList,g=n.lockProperty,m=r.objectName,v=r.typeName,b=r.singleTypeCheck,w=void 0,x={},T=function(e,t,n,r){return function(){for(var i=arguments.length,o=Array(i),a=0;a4&&void 0!==arguments[4])||arguments[4],a=[].concat(t)[0];return f(t,u(l(t,T(a,n,r,o),i))),e},TypeSignature:{optional:function(e){return{pattern:"optional",innerType:e}},zeroOrMore:function(e){return{pattern:"zero or more",innerType:e}},either:function(){for(var e=arguments.length,t=Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:"one way";return n.isPrototypeOf(e)||e.varref?Object.assign(Object.create(this),{varRef:e,bind:t}):r.create("operation","I can only 'bind' a variable, not "+i(e)+".")}})}),define("datatypes/assignmentrequest",["utils"],function(e){var t=e.assertMustHave;return Object.freeze({assignmentRequest:!0,TwineScript_TypeName:"a 'to' or 'into' expression",TwineScript_ObjectName:"a 'to' or 'into' expression",TwineScript_Unstorable:!0,create:function(e,n,r){return t(e,["varref"]),Object.assign(Object.create(this),{dest:e,src:n,operator:r})}})}),define("twinescript/operations",["state","datatypes/assignmentrequest","utils/operationutils","internaltypes/twineerror"],function(e,t,n,r){function i(e,t,n,i){return n=n||"do this to",function(o,a){1===t.length&&(a=o);var s=void 0;return(s=r.containsError(o,a))?s:(void 0===o?"undefined":_typeof(o))!==e||(void 0===a?"undefined":_typeof(a))!==e?r.create("operation","I can only "+n+" "+e+"s, not "+y((void 0===o?"undefined":_typeof(o))!==e?o:a)+".",i):t(o,a)}}function o(e){return function(t,n){var i=void 0;return(i=r.containsError(t,n))?i:t&&t.varref?r.create("operation","I can't give an expression a new value."):(void 0===t?"undefined":_typeof(t))!==(void 0===n?"undefined":_typeof(n))||s(t)&&"TwineScript_TypeName"in t&&s(n)&&"TwineScript_TypeName"in n&&t.TwineScript_TypeName!==n.TwineScript_TypeName||c(t)!==c(n)?r.create("operation",y(t)+" isn't the same type of data as "+y(n)):e(t,n)}}function a(e){return function t(n,i){var o=void 0;if(o=r.containsError(n,i))return o;if(m=n,n.determiner){var a="all"===n.determiner;return n.array.reduce(function(e,n){var o=void 0,s=t(n,i);return(o=r.containsError(e,s))?o:a?e&&s:e||s},a)}if(i.determiner){var s="all"===i.determiner;return i.array.reduce(function(e,i){var o=void 0,a=t(n,i);return(o=r.containsError(e,a))?o:s?e&&a:e||a},s)}return e(n,i)}}var s=n.isObject,c=n.collectionType,u=n.is,l=n.isA,f=n.clone,p=n.unique,d=n.contains,h=n.matches,y=(n.typeName,n.objectName),g=void 0,m=0,v="If one of these values is a number, you may want to write a check that it 'is not 0'. Also, if one is a string, you may want to write a check that it 'is not \"\" '.";return g={create:function(e){var t=Object.create(this);return t.Identifiers={TwineScript_Identifiers:!0,get it(){return m},get time(){return Date.now()-e.timestamp}},t},elidedComparisonOperator:function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i":a(i("number",o(function(e,t){return e>t}),"do > to")),"<=":a(i("number",o(function(e,t){return e<=t}),"do <= to")),">=":a(i("number",o(function(e,t){return e>=t}),"do >= to")),is:a(u),isNot:a(function(e,t){return!g.is(e,t)}),contains:a(d),isIn:a(function(e,t){ +return d(t,e)}),isA:a(l),isNotA:a(function(e,t){return!l(e,t)}),typifies:a(function(e,t){return l(t,e)}),untypifies:a(function(e,t){return!l(t,e)}),matches:a(h),where:function(e,t,n){var i=void 0;return(i=r.containsError(e))?i:"boolean"!=typeof e?r.create("operation","This lambda's 'where' clause must evaluate to true or false, not "+y(e)+"."):e?t:n},makeSpreader:function(e){return{value:e,spreader:!0}},makeAssignmentRequest:function(e,n,i){var o=r.containsError(e,n);return o||(s(e)&&"varref"in e?t.create(e,n,i):r.create("operation","I can't store a new value inside "+y(e)+"."))},setIt:function(e){return r.containsError(e)?e:e.varref?(m=e.get(),e):r.create("operation","I can't put a new value into "+y(e)+".")},initialiseIt:function(e){m=e}},Object.freeze(g)}),define("twinescript/environ",["macros","state","utils","datatypes/colour","datatypes/hookset","datatypes/lambda","datatypes/datatype","datatypes/varbind","internaltypes/varref","internaltypes/twineerror","twinescript/operations"],function(Macros,State,Utils,Colour,HookSet,Lambda,Datatype,VarBind,VarRef,TwineError,OperationsProto){return function(section){"object"===(void 0===section?"undefined":_typeof(section))&§ion||Utils.impossible("TwineScript.environ","no Section argument was given!");var Operations=OperationsProto.create(section);return section.eval=function(){try{for(var _len7=arguments.length,args=Array(_len7),_key7=0;_key7<_len7;_key7++)args[_key7]=arguments[_key7];return eval(args.join(""))}catch(e){return e}},section}}),define("internaltypes/twinenotifier",["jquery","utils"],function(e,t){var n=t.impossible,r={create:function(e){return e||n("TwineNotifier.create","called with only 1 string."),Object.assign(Object.create(r),{message:e})},render:function(){return e("").attr("message",this.message)}};return r}),define("section",["jquery","utils","utils/selectors","renderer","twinescript/environ","twinescript/operations","state","utils/operationutils","datatypes/changercommand","datatypes/hookset","datatypes/colour","internaltypes/changedescriptor","internaltypes/varscope","internaltypes/twineerror","internaltypes/twinenotifier"],function(e,t,n,r,i,o,a,s,c,u,l,f,p,d,h){function y(e,n,r){if(n&&"object"===(void 0===n?"undefined":_typeof(n))&&c.isPrototypeOf(n)){if(!this.renderInto(r.popAttr("source"),r,n)){var i=t.insensitiveName(e.attr("name"));if(["if","elseif","unless","else"].includes(i)&&(e.addClass("false"),"elseif"!==i&&(this.stack[0].lastHookShown=!1)),r.data("live")){var o=r.data("live"),a=o.delay,s=o.event;x.call(this,e,r,a,s)}return}}else{if(!1===n)return r.attr("source")&&r.data("hiddenSource",r.popAttr("source")),e.addClass("false"),void(this.stack[0].lastHookShown=!1);!0!==n&&e.replaceWith(d.create("datatype",S(n)+" cannot be attached to this hook.","Only Booleans, changer commands, and the (live:) macro can be attached to hooks.").render(e.attr("title")))}this.stack[0].lastHookShown=!0}function g(t){var n=t instanceof e?t[0]:t,r=n.nextSibling;if(r&&(r instanceof Text&&!r.textContent.trim()||"br"===(r.tagName||"").toLowerCase())){var i=g(r),o=i.whitespace,a=i.nextElem;return{whitespace:e(r).add(o),nextElem:a}}return{whitespace:e(),nextElem:e(r)}}function m(r){var i=this.eval(r.popAttr("js")||""),a=void 0,s=void 0,u=e();for(s=r;c.isPrototypeOf(i);){var p=g(s);if(a=p.whitespace,s=p.nextElem,s[0]instanceof Text&&"+"===s[0].textContent.trim()){var m=void 0,v=s,b=g(v);if(m=b.whitespace,s=b.nextElem,s.is(n.expression)){var w=this.eval(s.popAttr("js"));if(d.containsError(w)){i=w;break}var x=o["+"](i,w);e(a).add(v).add(m).remove(),i=d.containsError(x)?d.create("operation","I can't combine "+S(i)+" with "+S(w)+".","function"==typeof w.TwineScript_Run?"If you want to attach this changer to "+S(w)+", remove the + between them.":"Changers can only be added to other changers."):x;continue}}if(s.is(n.expression)){var O=this.eval(s.popAttr("js"));if(d.containsError(O)){i=O;break}if(O&&"object"===(void 0===O?"undefined":_typeof(O))&&"function"==typeof O.TwineScript_Attach){i=O.TwineScript_Attach(i);break}return c.isPrototypeOf(O)?void r.replaceWith(d.create("operation","Changers like ("+i.macroName+":) need to be combined using + between them.","Place the + between the changer macros, or the variables holding them. The + is absent only between a changer and its attached hook or command.").render(r.attr("title"))):void r.replaceWith(d.create("operation",S(O)+" can't have changers like ("+i.macroName+":) attached.","Changers placed just before hooks, links and commands will attempt to attach, but in this case it didn't work.").render(r.attr("title")))}if(s.is(n.hook)){a.remove(),u=s;break}i.macroName||t.impossible("Section.runExpression","changer has no macroName");var j=r.attr("title")||"("+i.macroName+": ...)";return void r.replaceWith(d.create("syntax","The ("+i.macroName+":) changer should be stored in a variable or attached to a hook.","Macros like this should appear to the left of a hook: "+j+"[Some text]").render(r.attr("title")))}u=u.length?u:g(r).nextElem.filter(n.hook);var k=void 0;if(k=d.containsError(i))k instanceof Error&&(k=d.fromError(k)),r.replaceWith(k.render(r.attr("title"),r));else if(h.isPrototypeOf(i))r.append(i.render());else if(i&&"function"==typeof i.TwineScript_Run)if(i=i.TwineScript_Run(),d.containsError(i))r.replaceWith(i.render(r.attr("title")));else if(f.isPrototypeOf(i)){if(i.data&&i.data.live)return void r.replaceWith(d.create("unimplemented","I currently can't attach (live:) or (event:) macros to commands - only hooks.").render(r.attr("title")));if(i.section=this,i.target=s,this.renderInto("",s,i),i.earlyExit)return"earlyexit"}else i&&t.impossible("Section.runExpression","TwineScript_Run() returned a non-ChangeDescriptor "+(void 0===i?"undefined":_typeof(i))+': "'+i+'"');else!u.length&&("string"==typeof i||"number"==typeof i||i instanceof Map||i instanceof Set||Array.isArray(i)||l.isPrototypeOf(i))||i&&"function"==typeof i.TwineScript_Print&&!c.isPrototypeOf(i)?(i=T(i),"string"!=typeof i&&t.impossible("printBuiltinValue() produced a non-string "+(void 0===i?"undefined":_typeof(i))),d.containsError(i)?(i instanceof Error&&(i=d.fromError(i)),r.replaceWith(i.render(r.attr("title")))):this.renderInto(i,r)):u.length?y.call(this,r,i,u):c.isPrototypeOf(i)||"boolean"==typeof i||t.impossible("Section.runExpression","The expression evaluated to an unknown value: "+i.toSource())}function v(e){var t=e.first()[0],n=e.parent();if(!n.length)return null;var r=n.textNodes().filter(function(e){var n=e.compareDocumentPosition(t);return 4&n&&!(8&n)});return(r=r[r.length-1])||v(n)}function b(e){var t=e.last()[0],n=e.parent();if(!n.length)return null;var r=n.textNodes().filter(function(e){var n=e.compareDocumentPosition(t);return 2&n&&!(8&n)})[0];return r||b(n)}function w(t){function n(t){return 0===e(this||t).parentsUntil("tw-collapsed").filter("tw-verbatim, tw-expression, [collapsing=false]").length}var r=v(t);e(r).parents("tw-collapsed").length||(r=null);var i=b(t);e(i).parents("tw-collapsed").length||(i=null),t.findAndFilter("br:not([data-raw])").filter(n).replaceWith(document.createTextNode(" "));var o=t.textNodes(),a=0;o.reduce(function(e,t){return n(t)?(t.textContent=t.textContent.replace(/\s+/g," ")," "!==t.textContent[0]||e&&e.textContent&&!(e.textContent.search(/\s$/)>-1)||(t.textContent=t.textContent.slice(1)),t):document.createTextNode("A")},r),[].concat(_toConsumableArray(o)).reverse().every(function(e){return!!n(e)&&(e.textContent.match(/^\s*$/)?(a+=e.textContent.length,e.textContent="",!0):(e.textContent=e.textContent.replace(/\s+$/,function(e){return a+=e.length,""}),!1))}),a>0&&i&&(o[o.length-1].textContent+=" "),t[0]&&j()&&t[0].normalize()}function x(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0;a&&t.assertMustHave(a,["when"]);var s=r.data("hiddenSource")||"",c=_slicedToArray(this.stack,1),u=c[0].tempVariables,l=function t(){if(i.inDOM()){var c=a&&a.filter(i,[!0],u);if(d.containsError(c))return void c.render(e.attr("title")).replaceAll(e);if(a&&!c[0])return void setTimeout(t,o);i.renderInto(s,r,{append:"replace"}),c||r.find(n.expression+"[name='stop']").length||i.inDOM()&&setTimeout(t,o)}};setTimeout(l,o)}var T=s.printBuiltinValue,S=s.objectName,O=void 0,j=function(){var t=void 0;return function(){if(void 0!==t)return t;var n=e("

");return n[0].normalize?(n.append(document.createTextNode("0-"),document.createTextNode("2"),document.createTextNode(""))[0].normalize(),t=1===n.contents().length):t=!1}}();return O={create:function(n){n instanceof e&&1===n.length||t.impossible("Section.create","called with no DOM element");var r=Object.assign(Object.create(this),{timestamp:Date.now(),dom:n||t.storyElement,stack:[],enchantments:[]});return r=i(r)},inDOM:function(){return e(t.storyElement).find(this.dom).length>0},evaluateTwineMarkup:function(t){var n=e("

");this.renderInto(t,n);var r=void 0;return(r=n.find("tw-error")).length>0?r:n.text()},renderInto:function(t,r,i){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=f.create({target:r,source:t,section:this});if(i)if(c.isPrototypeOf(i)){var u=i.run(s);if(d.containsError(u))return u.render(r.attr("title")).replaceAll(r),!1}else Object.assign(s,i);if(r=s.target,this.stack.length>=50)return d.create("infinite","Printing this expression may have trapped me in an infinite loop.").render(r.attr("title")).replaceAll(r),!1;var l=function(t,i){var a=t.render();o.stack.unshift(i);var s=o;a.findAndFilter(n.hook+","+n.expression).each(function(){var t=e(this);switch(t.tag()){case n.hook:if(t.attr("hidden")&&(t.removeAttr("hidden"),t.data("hiddenSource",t.popAttr("source"))),t.attr("source")&&s.renderInto(t.popAttr("source"),t),t.find("[earlyexit]").length)return!1;break;case n.expression:if(t.attr("js")){if("earlyexit"===m.call(s,t))return a.attr("earlyexit",!0),!1;return}}}),a.length&&r instanceof e&&r.is(n.hook)&&r.parents("tw-collapsed").length>0&&w(a),a.findAndFilter(n.collapsed).each(function(){w(e(this))}),o.stack.shift()};if(!a){a=Object.create(this.stack.length?this.stack[0].tempVariables:p);var h=r&&r.tag();a.TwineScript_VariableStoreName=h===n.hook?r.attr("name")?"?"+r.attr("name"):"an unnamed hook":h===n.expression?"a "+r.attr("type")+" expression":h===n.passage?"this passage":"an unknown scope"}return Object.keys(s.loopVars).length?function(){for(var e=Object.assign({},s.loopVars),t=Math.min.apply(Math,_toConsumableArray(Object.keys(e).map(function(t){return e[t].length})));t>0;t-=1)l(s,{tempVariables:Object.keys(e).reduce(function(t,n){return t[n]=e[n].shift(),t},Object.create(a))})}():l(s,{tempVariables:a}),0===this.stack.length&&this.updateEnchantments(),s.enabled},updateEnchantments:function(){this.enchantments.forEach(function(e){e.disenchant(),e.enchantScope()})}},Object.preventExtensions(O)}),define("engine",["jquery","utils","utils/selectors","state","section","passages"],function(e,t,n,r,i,o){function a(){var t=e(""),i=t.children(n.sidebar);h.permalink&&r.save&&i.append('§');var o=e('').click(function(){return d.goBack()}),a=e('').click(function(){return d.goForward()});return r.pastLength<=0&&o.css("visibility","hidden"),r.futureLength<=0&&a.css("visibility","hidden"),i.append(o).append(a),t}function s(e,t){return""+t.get("source")+""}function c(c){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.assertOnlyHas(u,["stretch","transitionIn","transitionOut","transitionTime"]);var d=o.get(c),y=t.storyElement,g=y.parent(),m=u.stretch,v=u.transitionOut,b=u.transitionIn,w=u.transitionTime;if(v=v||"instant",b=b||"dissolve",g.is(n.enchantment)){var x=g.data("enchantedProperties");x&&y.css(x.reduce(function(e,t){return e[t]="",e},{})),g=y.unwrap().parent()}o.hasValid(c)||l("Engine.showPassage","There's no passage with the name \""+c+'"!'),y.detach();var T=t.$(y.children(f));!m&&v&&(p(T,v,w),T.css("position","absolute"));var S=(d.get("tags")||[]).join(" "),O=a().appendTo(y).attr({tags:S});y.attr({tags:S});var j=i.create(O),k=d.get("source");k=o.getTagged("header").map(s.bind(0,"header")).join("")+(h.debug?o.getTagged("debug-header").map(s.bind(0,"debug-header")).join(""):"")+k+o.getTagged("footer").map(s.bind(0,"footer")).join("")+(h.debug?o.getTagged("debug-footer").map(s.bind(0,"debug-footer")).join(""):""),r.pastLength<=0&&(h.debug&&(k=o.getTagged("debug-startup").map(s.bind(0,"debug-startup")).join("")+k),k=o.getTagged("startup").map(s.bind(0,"startup")).join("")+k),j.renderInto(k,O,{transition:b,transitionTime:w}),g.append(y.parents().length?y.parents().last():y),scroll(0,m?O.offset().top-.05*e(window).height():y.offset().top)}var u=t.escape,l=t.impossible,f=t.passageSelector,p=t.transitionOut,d=void 0,h=Object.create(null);return d={goBack:function(e){r.rewind()&&c(r.passage,e)},goForward:function(e){r.fastForward()&&c(r.passage,e)},goToPassage:function(e,t){r.play(e),c(e,t)},showPassage:c,options:h},Object.freeze(d)}),define("debugmode",["jquery","utils","state","internaltypes/varref","utils/operationutils","engine"],function(e,t,n,r,i,o){var a=i.objectName;i.typeName;return function(){function t(t,n,r){var i=l.children('[data-name="'+t+'"]'),o=a(n);i.length||(i=e('

').appendTo(l)),i.empty().append(""+t+(r?""+r+"":"")+""+a(n)+"");var s=l.children();u.text(s.length+" Variable"+(1!==s.length?"s":""))}function i(){var r=[];l.children().each(function(i,o){o=e(o);var s=o.attr("data-name"),c=o.attr("data-value");s.startsWith("TwineScript")||(s in n.variables?(r.push(s),a(n.variables[s])!==c&&t(s,n.variables[s])):o.remove())});for(var i in n.variables)i.startsWith("TwineScript")||r.includes(i)||t(i,n.variables[i])}var s=e("
Turns:
"),c=s.find(".show-invisibles");c.click(function(){e(document.documentElement).toggleClass("debug-mode"),c.toggleClass("enabled")});var u=s.find(".show-variables"),l=s.find(".variables");u.click(function(){l[u.is(".enabled")?"attr":"removeAttr"]("hidden",""),u.toggleClass("enabled")});var f=s.find("select");f.change(function(e){var t=e.target.value,r=t-n.pastLength;0!==r&&(n[r<0?"rewind":"fastForward"](Math.abs(r)),o.showPassage(n.passage))}),n.on("forward",function(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=n.pastLength;i>1&&f.removeAttr("disabled"),r||(f.children().each(function(t,n){t>=i&&e(n).remove()}),f.append("").val(i))}).on("back",function(){n.pastLength<=1&&f.attr("disabled"),f.find("[selected]").removeAttr("selected"),f.val(n.pastLength)}).on("load",function(e){f.empty(),f[e.length<=1?"attr":"removeAttr"]("disabled"),e.forEach(function(e,t){return f.append("")})}),n.on("forward",i).on("back",i),r.on("set",function(e,r,i){(e===n.variables||e.TwineScript_VariableStore)&&t(r,i,e===n.variables?"":e.TwineScript_VariableStoreName)}).on("delete",function(e,t){e===n.variables&&l.find('[data-name="'+t+'"]:not(.temporary)').remove()}),e(document.body).append(s)}}),define("macrolib/values",["macros","utils","utils/operationutils","datatypes/colour","internaltypes/twineerror"],function(e,t,n,r,i){function o(e){return function(){var t=e.apply(void 0,arguments);return"number"!=typeof t||isNaN(t)?i.create("macrocall","This mathematical expression doesn't compute!"):t}}var a=t.realWhitespace,s=t.anyRealLetter,c=n.subset,u=n.objectName,l=e.TypeSignature,f=l.rest,p=l.zeroOrMore,d=l.Any;e.add(["text","string","str"],function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r255)return i.create("macrocall","RGB values must be whole numbers between 0 and 255, not "+u(t)+".");return r.create({r:arguments.length<=1?void 0:arguments[1],g:arguments.length<=2?void 0:arguments[2],b:arguments.length<=3?void 0:arguments[3]})},[parseInt,parseInt,parseInt])("rgba",function(e){for(var t,n=0;n<3;n+=1)if((t=arguments.length<=n+1?void 0:arguments[n+1])<0||t>255)return i.create("macrocall","RGB values must be whole numbers between 0 and 255, not "+u(t)+".");return(arguments.length<=4?void 0:arguments[4])<0||(arguments.length<=4?void 0:arguments[4])>1?i.create("macrocall","Alpha values must be numbers between 0 and 1 inclusive, not "+u(arguments.length<=4?void 0:arguments[4])+"."):r.create({r:arguments.length<=1?void 0:arguments[1],g:arguments.length<=2?void 0:arguments[2],b:arguments.length<=3?void 0:arguments[3],a:arguments.length<=4?void 0:arguments[4]})},[parseInt,parseInt,parseInt,Number])("hsl",function(e,t,n,o){var a=" values must be numbers between 0 and 1 inclusive, not ";return n<0||n>1?i.create("macrocall","Saturation"+a+u(n)+"."):o<0||o>1?i.create("macrocall","Lightness"+a+u(o)+"."):(t=Math.round(t)%360,t<0&&(t+=360),r.create({h:t,s:n,l:o}))},[Number,Number,Number])("hsla",function(e,t,n,o,a){var s=" values must be numbers between 0 and 1 inclusive, not ";return n<0||n>1?i.create("macrocall","Saturation"+s+u(n)+"."):o<0||o>1?i.create("macrocall","Lightness"+s+u(o)+"."):a<0||a>1?i.create("macrocall","Alpha"+s+u(o)+"."):(t=Math.round(t)%360,t<0&&(t+=360),r.create({h:t,s:n,l:o,a:a}))},[Number,Number,Number,Number]),{weekday:[function(){return["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date).getDay()]+"day"},null],monthday:[function(){return(new Date).getDate()},null],currenttime:[function(){var e=new Date,t=e.getHours()<12;return(e.getHours()%12||12)+":"+(e.getMinutes()<10?"0":"")+e.getMinutes()+" "+(t?"A":"P")+"M"},null],currentdate:[function(){return(new Date).toDateString()},null],min:[Math.min,f(Number)],max:[Math.max,f(Number)],abs:[Math.abs,Number],sign:[Math.sign,Number],sin:[Math.sin,Number],cos:[Math.cos,Number],tan:[Math.tan,Number],floor:[Math.floor,Number],round:[Math.round,Number],ceil:[Math.ceil,Number],pow:[o(Math.pow),[Number,Number]],exp:[Math.exp,Number],sqrt:[o(Math.sqrt),Number],log:[o(Math.log),Number],log10:[o(Math.log10),Number],log2:[o(Math.log2),Number],random:[function(e,t){var n=void 0,r=void 0;return t?(n=Math.min(e,t),r=Math.max(e,t)):(n=0,r=e),r+=1,~~(Math.random()*(r-n))+n},[parseInt,e.TypeSignature.optional(parseInt)]],either:[function(){var e;return e=~~(Math.random()*arguments.length),arguments.length<=e?void 0:arguments[e]},f(d)],"":function(){var t=this;Object.keys(this).forEach(function(n){if(n){var r=t[n][0],i=t[n][1];e.add(n,function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i2?n-2:0),i=2;i"+r[a]+"";if(o){var i=o.set(r[a]);if(c.containsError(i))return void t.replaceWith(i.render(r[a]))}var s=b({},e,{source:n,transitionDeferred:!1});e.section.renderInto("",null,s,u)};var f=""+r[0]+"";if(o){var p=o.set(r[a]);if(c.containsError(p))return p}return b(e,{source:f,append:"replace",transitionDeferred:!0})},[m(l,String),g(String)]),r.onStartup(function(){return e(r.storyElement).on("change.dropdown-macro","select",function(){var t=e(this),n=t.closest("tw-expression, tw-hook").data("dropdownEvent");n&&n(t)})}),n.addCommand("dropdown",function(e){var t;return""===(arguments.length<=1?void 0:arguments[1])||""===(t=(arguments.length<=1?0:arguments.length-1)-1+1,arguments.length<=t?void 0:arguments[t])?c.create("macrocall","The first or last strings in a (dropdown:) can't be empty.","Because empty strings create separators within (dropdown:)s, having them at the start or end doesn't make sense."):(arguments.length<=1?0:arguments.length-1)<=1?c.create("macrocall","I need two or more strings to create a (dropdown:) menu, not just "+(arguments.length<=1?0:arguments.length-1)+"."):void 0},function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o"+i.map(function(e,t){return""+(e||"\u2500".repeat(a))+""}).join("\n")+"";e.data.dropdownEvent=function(e){var t=e.val(),r=n.set(t);if(c.containsError(r))return void e.replaceWith(r.render(t))};var u=n.set(i[0]);return c.containsError(u)?u:b(e,{source:s,append:"replace"})},[l,String,g(String)])("show",function(){},function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;rr)return e(t,r,n);var i=[n];for(r-=n;r-- >0;)i.push(++n);return i},[parseInt,parseInt])("subarray",function(e,t,n,r){return p(t,n,r)},[Array,parseInt,parseInt])("reversed",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r1?n-1:0),i=1;i2?n-2:0),i=2;i=r.length?u.create("macrocall","I can't rotate these "+r.length+" values by "+t+" positions."):r.slice(t).concat(r.slice(0,t)).map(m)},[parseInt,S,w(S)])("repeated",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i0;)o.push.apply(o,r);return o.map(m)},[parseInt,w(S)])("interlaced",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i0},[s.TypeSignature("where"),T(S)])("none-pass",function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i2?n-2:0),i=2;i1?t-1:0),r=1;r1?t-1:0),r=1;r2?r-2:0),o=2;o1){var a=void 0,s=i.map(function(r){return e(t,n,r)});return(a=u.containsError(s))?a:s.reduce(function(e,t){return e+t},0)}var c=i[0];switch(d(n)){case"dataset":case"datamap":return u.create("macrocall","(count:) shouldn't be given a datamap or dataset.","You should use the 'contains' operator instead. For instance, write: $variable contains 'value'.");case"string":return"string"!=typeof c?u.create("macrocall",f(n)+" can't contain "+f(c)+" because it isn't a string."):c?n.split(c).length-1:0;case"array":return n.reduce(function(e,t){return e+y(t,c)},0);default:return u.create("macrocall",f(n)+" can't contain values, let alone "+f(c)+".")}},[S,w(S)])}),define("macrolib/stylechangers",["jquery","macros","utils","utils/selectors","datatypes/colour","datatypes/changercommand","datatypes/lambda","internaltypes/changedescriptor","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c){var u=t.TypeSignature,l=u.either,f=u.wrapped,p=u.optional,d=u.Any,h=u.zeroOrMore,y=[f(Boolean,'If you gave a number, you may instead want to check that the number is not 0. If you gave a string, you may instead want to check that the string is not "".')];n.onStartup(function(){return e(n.storyElement).on("mouseenter.hover-macro","[hover=false]",function(){var t=e(this),n=t.data("hoverChanger");t.data({mouseoutStyle:t.attr("style")||""}),s.create({target:t},n).update(),t.attr("hover",!0)}).on("mouseleave.hover-macro","[hover=true]",function(){var t=e(this),n=t.data("mouseoutStyle");t.attr("style",n).removeData("mouseoutStyle").attr("hover",!1)})});var g=["instant","dissolve","rumble","shudder","pulse","flicker","slideleft","slideright","slideup","slidedown"],m="Only the following names are recognised (capitalisation and hyphens ignored): "+g.join(", ");t.addChanger("if",function(e,t){return o.create("if",[t])},function(e,t){return e.enabled=e.enabled&&t},y)("unless",function(e,t){return o.create("unless",[!t])},function(e,t){return e.enabled=e.enabled&&t},y)("elseif",function(e,t){return"lastHookShown"in e.stack[0]?o.create("elseif",[!1===e.stack[0].lastHookShown&&!!t]):c.create("macrocall","There's no (if:) or something else before this to do (else-if:) with.")},function(e,t){return e.enabled=e.enabled&&t},y)("else",function(e){return"lastHookShown"in e.stack[0]?o.create("else",[!1===e.stack[0].lastHookShown]):c.create("macrocall","There's nothing before this to do (else:) with.")},function(e,t){return e.enabled=e.enabled&&t},null)("hidden",function(){return o.create("hidden")},function(e){return e.enabled=!1},null)("live",function(e,t){return o.create("live",[t])},function(e,t){e.enabled=!1,e.data.live={delay:t}},p(Number))("event",function(e,t){return o.create("event",[t])},function(e,t){e.enabled=!1,e.data.live={event:t}},a.TypeSignature("when"))("hook",function(e,t){return o.create("hook",[t])},function(e,t){return e.attr.push({name:t})},[String])(["for","loop"],function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<");if(!/^(==+>|<=+|=+><=+|<==+>)$/.test(t))return c.create("macrocall",'The (align:) macro requires an alignment arrow ("==>", "<==", "==><=" etc.) be provided, not "'+t+'"');if(~r){var i=Math.round(r/(t.length-2)*50);n=Object.assign({"text-align":"center","max-width":"50%"},25===i?{"margin-left":"auto","margin-right":"auto"}:{"margin-left":i+"%"})}else n="<"===t[0]&&">"===t.slice(-1)?{"text-align":"justify","max-width":"50%"}:t.includes(">")?{"text-align":"right"}:{"text-align":"left"};return n.display="block",o.create("align",[n])},function(e,t){e.styles.push(t)},[String])(["text-colour","text-color","color","colour"],function(e,t){return i.isPrototypeOf(t)&&(t=t.toRGBAString(t)),o.create("text-colour",[t])},function(e,t){return e.styles.push({color:t}),e},[l(String,i)])("text-rotate",function(e,t){return o.create("text-rotate",[t])},function(t,n){return t.styles.push({display:"inline-block",transform:function(){var t=e(this).css("transform")||"";return"none"===t&&(t=""),t+" rotate("+n+"deg)"}}),t},[Number])("background",function(e,t){return i.isPrototypeOf(t)&&(t=t.toRGBAString(t)),o.create("background",[t])},function(t,r){var o=void 0;return o=i.isHexString(r)||i.isCSS3Function(r)?{"background-color":r}:{"background-size":"cover","background-image":"url("+r+")"},t.styles.push(o,{display:function(){return n.childrenProbablyInline(e(this))?"initial":"block"}}),t},[l(String,i)]).apply(void 0,_toConsumableArray(function(){var t={color:"transparent"},r=Object.assign(Object.create(null),{none:{},bold:{"font-weight":"bold"},italic:{"font-style":"italic"},underline:{"text-decoration":"underline"},strike:{"text-decoration":"line-through"},superscript:{"vertical-align":"super","font-size":".83em"},subscript:{"vertical-align":"sub","font-size":".83em"},blink:{animation:"fade-in-out 1s steps(1,end) infinite alternate"},shudder:{animation:"shudder linear 0.1s 0s infinite",display:"inline-block"},mark:{"background-color":"hsla(60, 100%, 50%, 0.6)"},condense:{"letter-spacing":"-0.08em"},expand:{"letter-spacing":"0.1em"},outline:[{"text-shadow":function(){var t=e(this).css("color");return"-1px -1px 0 "+t+", 1px -1px 0 "+t+",-1px 1px 0 "+t+", 1px 1px 0 "+t}},{color:function(){for(var t=e(this);t.length&&t[0]!==document;t=t.parent()){var n=t.css("background-color");if("transparent"!==n&&!n.match(/^\w+a\(.+?,\s*0\s*\)$/))return n}return"#fff"}}],shadow:{"text-shadow":function(){return"0.08em 0.08em 0.08em "+e(this).css("color")}},emboss:{"text-shadow":function(){return"0.08em 0.08em 0em "+e(this).css("color")}},smear:[{"text-shadow":function(){var t=e(this).css("color");return"0em 0em 0.02em "+t+",-0.2em 0em 0.5em "+t+", 0.2em 0em 0.5em "+t}},t],blur:[{"text-shadow":function(){return"0em 0em 0.08em "+e(this).css("color")}},t],blurrier:[{"text-shadow":function(){return"0em 0em 0.2em "+e(this).css("color")},"user-select":"none"},t],mirror:{display:"inline-block",transform:"scaleX(-1)"},upsidedown:{display:"inline-block",transform:"scaleY(-1)"},fadeinout:{animation:"fade-in-out 2s ease-in-out infinite alternate"},rumble:{animation:"rumble linear 0.1s 0s infinite",display:"inline-block"}});return["text-style",function(e,t){return t=n.insensitiveName(t),t in r?o.create("text-style",[t]):c.create("macrocall","'"+t+"' is not a valid (text-style:)","Only the following names are recognised (capitalisation and hyphens ignored): "+Object.keys(r).join(", "))},function(e,t){return n.assertMustHave(r,[t]),e.styles="none"===t?[]:e.styles.concat(r[t]),e}]}()).concat([[String]]))("hover-style",function(e,t){var n=s.create(),r=(t.run(n),n.summary());return r+""=="styles"||r.every(function(e){return"styles"===e||"attr"===e})&&n.attr.every(function(e){return Object.keys(e)+""=="style"})?o.create("hover-style",[t]):c.create("macrocall","The changer given to (hover-style:) must only change the hook's style.")},function(e,t){return e.data.hoverChanger=t,e.attr.push({hover:!1}),e},[o])("css",function(e,t){return t.trim().endsWith(";")||(t+=";"),o.create("css",[t])},function(t,n){return t.attr.push({style:function(){return(e(this).attr("style")||"")+n}}),t},[String])}),define("internaltypes/enchantment",["jquery","utils","internaltypes/changedescriptor"],function(e,t,n){var r={create:function(n){return t.assertOnlyHas(n,["scope","section","attr","data","changer","functions"]),Object.assign(Object.create(this),{enchantments:e()},n)},enchantScope:function(){var r=this,i=this.attr,o=this.data,a=this.functions,s=this.section,c=this.changer,u=this.scope;u instanceof e&&(u=Array.prototype.map.call(u,function(t){return e(t)})),this.enchantments=e(),u.forEach(s,function(e){var u=e.wrapAll("").parent();if(i&&u.attr(i),o&&u.data(o),a&&a.forEach(function(e){return e(u)}),c){var l=n.create({section:s,target:u});if(c.run(l),l.update(),e.is(t.storyElement)){var f=Object.keys(Object.assign.apply(Object,[{}].concat(_toConsumableArray(l.styles))));e.css(f.reduce(function(e,t){return e[t]="inherit",e},{})),u.data({enchantedProperties:f})}}e.is(t.storyElement)&&u.css({width:"100%",height:"100%"}),r.enchantments=r.enchantments.add(u)})},disenchant:function(){this.enchantments.each(function(){var n=e(this).contents();n.unwrap();var r=e(this).data("enchantedProperties");r&&n.has(t.storyElement)&&t.storyElement.css(r.reduce(function(e,t){return e[t]="",e},{}))})}};return Object.freeze(r)}),define("macrolib/enchantments",["jquery","utils","utils/selectors","utils/operationutils","engine","passages","macros","datatypes/hookset","datatypes/changercommand","internaltypes/enchantment","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c,u,l){function f(n,r){return t.onStartup(function(){t.storyElement.on(n.event+".enchantment","."+n.classList.replace(/ /g,"."),function(){var t=e(this),n=t.data("enchantmentEvent");n&&n(t)})}),[function(e,t){return t?c.create(r,[s.from(t)]):l.create("datatype","A string given to this ("+r+":) macro was empty.")},function(e,t){e.enabled=!1,e.transitionDeferred=!0,n.rerender&&(e.newTargets=(e.newTargets||[]).concat({target:t,append:n.rerender}));var r=_slicedToArray(e.section.stack,1),o=r[0].tempVariables,a=u.create({functions:[function(e){e.attr("class",e.children().is("tw-story, tw-sidebar, tw-passage")?n.blockClassList:n.classList)}],attr:(n.classList+"").match(/\b(?:link|enchantment-clickblock)\b/)?{tabIndex:"0"}:{},data:{enchantmentEvent:function(){if(n.once){var t=e.section.enchantments.indexOf(a);e.section.enchantments.splice(t,1),a.disenchant()}if(n.goto)return void i.goToPassage(n.goto,{transitionOut:n.transitionOut,transitionIn:n.transitionIn});e.section.renderInto(e.source,null,Object.assign({},e,{enabled:!0,transitionDeferred:!1}),o)}},scope:t,section:e.section});return e.section.enchantments.push(a),a.enchantScope(),e},h(s,String)]}var p=r.is,d=a.TypeSignature,h=d.either,y=d.rest;a.addCommand("enchant",function(e,t){var n=t.summary();if(n.includes("newTargets")||n.includes("target"))return l.create("macrocall","The changer given to (enchant:) can't include a revision command like (replace:) or (append:).")},function(e,t,n){var r=u.create({scope:s.from(t),changer:n,section:e});return e.enchantments.push(r),r.enchantScope(),""},[h(s,String),c],!1);var g=["replace","append","prepend"];g.forEach(function(t){a.addChanger(t,function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i1?i-1:0),a=1;a0||(n.attr=[].concat(_toConsumableArray(n.attr),[{collapsing:!1}])),n.newTargets=n.newTargets||[],(r=n.newTargets).push.apply(r,_toConsumableArray(o.filter(function(e){return!n.newTargets.some(function(n){var r=n.target,i=n.append;return p(e,r)&&t===i})}).map(function(e){return{target:e,append:t,before:!0}}))),n},y(h(s,String)))}),t.onStartup(function(){t.storyElement.on("click.enchantment",function(){Array.from(e(this).parents(".enchantment-clickblock")).sort(function(e,t){return 8&e.compareDocumentPosition(t)?1:-1}).forEach(function(t){var n=e(t).data("enchantmentEvent");n&&n()})})});var m=[{name:"click",enchantDesc:{event:"click",once:!0,rerender:"",classList:"link enchantment-link",blockClassList:"enchantment-clickblock"}},{name:"mouseover",enchantDesc:{event:"mouseenter",once:!0,rerender:"",classList:"enchantment-mouseover"}},{name:"mouseout",enchantDesc:{event:"mouseleave",once:!0,rerender:"",classList:"enchantment-mouseout"}}];m.forEach(function(e){return a.addChanger.apply(a,[e.name].concat(_toConsumableArray(f(e.enchantDesc,e.name))))}),g.forEach(function(e){m.forEach(function(t){var n=Object.assign({},t.enchantDesc,{rerender:e}),r=t.name+"-"+e;a.addChanger.apply(a,[r].concat(_toConsumableArray(f(n,r))))})}),m.forEach(function(e){var t=e.name+"-goto";a.addCommand(t,function(e,n){return e&&n?o.hasValid(n)?void 0:l.create("macrocall","I can't ("+t+":) the passage '"+n+"' because it doesn't exist."):l.create("datatype","A string given to this ("+t+":) macro was empty.")},function(n,r,i,o){var a=f(Object.assign({},e.enchantDesc,{goto:o,transitionOut:n.data.t8nDepart,transitionIn:n.data.t8nArrive}),t);return(0,_slicedToArray(a,2)[1])({section:r},s.from(i)),Object.assign(n,{source:""})},[h(s,String),String])})}),define("macrolib/links",["jquery","macros","utils","utils/selectors","state","passages","engine","datatypes/changercommand","datatypes/hookset","internaltypes/twineerror"],function(e,t,n,r,i,o,a,s,c,u){var l=t.TypeSignature,f=l.optional,p=l.rest,d=["Links can't have empty strings for their displayed text.","In the link syntax, a link's displayed text is inside the [[ and ]], and on the non-pointy side of the -> or <- arrow if it's there."],h=Object.assign;n.onStartup(function(){return e(n.storyElement).on("click.passage-link",r.internalLink,function(){var t=e(this),n=t.closest("tw-expression"),r=t.closest("tw-expression, tw-hook").data("clickEvent");if(r){if(t.find("tw-error").length>0)return;return void r(t)}var i=n.data("linkPassageName"),o=n.data("t8nDepart"),s=n.data("t8nArrive"),c=n.data("t8nTime");return n.find("tw-enchantment").each(function(t,n){o=e(n).data("t8nDepart")||o,s=e(n).data("t8nArrive")||s,c=void 0!==e(n).data("t8nTime")?e(n).data("t8nTime"):c}),i?void a.goToPassage(i,{transitionOut:o,transitionIn:s,transitionTime:c}):t.is("[undo]")?void a.goBack({transitionOut:o,transitionIn:s,transitionTime:c}):void 0})}),[["link","link-replace"],["link-reveal"],["link-repeat"]].forEach(function(e){return t.addChanger(e,function(t,n){return n?s.create(e[0],[n]):u.create("macrocall",d[0])},function(t,n){t.innerSource||(t.innerSource=t.source),t.source=""+n+"",t.append="link"===e[0]?"replace":"append",t.transitionDeferred=!0;var r=_slicedToArray(t.section.stack,1),i=r[0].tempVariables;t.data.clickEvent=function(n){"link-reveal"===e[0]&&n.contents().unwrap(),t.source=t.innerSource+"",t.transitionDeferred=!1,t.section.renderInto("",null,t,i)}},[String])}),t.addCommand(["link-goto"],function(e,t){if(!e)return u.create.apply(u,["macrocall"].concat(d));t||(t=e)},function(t,r,a,s){var c=r.evaluateTwineMarkup(n.unescape(s||a)),u=void 0;c instanceof e&&(u=c),o.hasValid(c)||(u=''+a+"");var l=i.passageNameVisited(c);return u=u||"0?'class="visited" ':"")+'">'+a+"",t.data.linkPassageName=c,h(t,{source:u,transitionDeferred:!0})},[String,f(String)])("link-undo",function(e){if(!e)return u.create("macrocall",d[0])},function(e,t,n){return i.pastLength<1?u.create("macrocall","I can't use (link-undo:) on the first turn."):h(e,{source:""+n+"",transitionDeferred:!0})},[String])("link-show",function(e){if(!e)return u.create("macrocall",d[0])},function(e,t,n){for(var r=arguments.length,i=Array(r>3?r-3:0),o=3;o"+n+"",transitionDeferred:!0})},[String,p(c)]),t.addChanger(["link-reveal-goto"],function(t,r,i){if(!r)return u.create.apply(u,["macrocall"].concat(d));i||(i=r);var o=t.evaluateTwineMarkup(n.unescape(i||r));return o instanceof e?o.data("TwineError"):s.create("link-reveal-goto",[r||i,o])},function(e,t,r){if(!o.hasValid(r))return void(e.source=''+t+"");e.innerSource||(e.innerSource=e.source);var s=i.passageNameVisited(r);e.source="0?'class="visited" ':"")+">"+t+"",e.append="append",e.transitionDeferred=!0;var c=_slicedToArray(e.section.stack,1),u=c[0].tempVariables;e.data.clickEvent=function(t){e.source=e.innerSource,t.contents().unwrap(),e.transitionDeferred=!1,e.section.renderInto(e.innerSource+"",null,e,u),e.target.find("[earlyexit]").length||a.goToPassage(r,{transitionOut:e.data.t8nDepart,transitionIn:e.data.t8nArrive})}},[String,f(String)])}),define("repl",["utils","markup","twinescript/compiler","twinescript/environ"],function(e,t,n,r){window.REPL=function(e){var i=n(t.lex("(print:"+e+")"));console.log(i);var o=r({}).eval(i);return o.TwineScript_Print?o.TwineScript_Print():o},window.LEX=function(e){var n=t.lex(e);return 1===n.length?n[0]:n}}),require.config({paths:{jquery:"../node_modules/jquery/dist/jquery",almond:"../node_modules/almond/almond","es6-shim":"../node_modules/es6-shim/es6-shim",requestAnimationFrame:"../node_modules/requestanimationframe/app/requestAnimationFrame",jqueryplugins:"utils/jqueryplugins",markup:"./markup/markup",lexer:"./markup/lexer",patterns:"./markup/patterns"},deps:["jquery","es6-shim","jqueryplugins"]}),require(["jquery","debugmode","renderer","state","engine","passages","utils","utils/selectors","macros","macrolib/values","macrolib/commands","macrolib/datastructures","macrolib/stylechangers","macrolib/enchantments","macrolib/links","repl"],function($,DebugMode,Renderer,State,Engine,Passages,Utils,Selectors){function _eval(text){return eval(text+"")}var _installHandlers=function(){$(document.documentElement).on("keydown",function(e){13===e.which&&"0"===e.target.getAttribute("tabindex")&&$(e.target).trigger("click")}),Engine.options.debug&&DebugMode(),_installHandlers=null};!function(e){window.onerror=function(t,n,r,i,o){var a=o&&o.stack&&"\n"+o.stack.replace(/\([^\)]+\)/g,"")+"\n"||"("+t+")\n";alert("Sorry to interrupt, but this page's code has got itself in a mess. "+a+"(This is probably due to a bug in the Harlowe game engine.)"),window.onerror=e,"function"==typeof e&&e.apply(void 0,arguments)}}(window.onerror),Utils.onStartup(function(){var e=$(Selectors.storyData);if(0!==e.length){var t=e.attr("options");t&&t.split(/\s/).forEach(function(e){Renderer.options[e]=Engine.options[e]=!0});var n=e.attr("startnode");Renderer.options.ifid=Engine.options.ifid=e.attr("ifid"),n||(n=[].reduce.call($(Selectors.passageData),function(e,t){var n=t.getAttribute("pid");return n'+$(this).html())});var r=!Engine.options.debug&&State.hasSessionStorage&&sessionStorage.getItem("Saved Session");if(r&&!0===State.deserialise(r))return void Engine.showPassage(State.passage,!1);Engine.goToPassage(n)}})}),define("harlowe",function(){}),require(["harlowe"])}(); + diff --git a/docs/demo/twee/start.twee b/docs/demo/twee/start.twee index 42ad3fd..d4a6744 100644 --- a/docs/demo/twee/start.twee +++ b/docs/demo/twee/start.twee @@ -8,23 +8,22 @@ A.createGroup('tests', 'beep', 'nope'); A.createGroup('bgm', 'cibelle', 'que-pena'); A.createPlaylist('bgm', 'cibelle', 'que-pena'); + A.createPlaylist('test', 'beep', 'nope'); A.preload(); -:: story-menu [startup] - +:: story-menu [script] +A.menu.links.add('Navigate', 'other passage'); +A.menu.links.add('Alert', function () { + alert('This is an alert.'); +}); +A.menu.links.add('Both', 'other passage', function () { + alert('This is an alert.'); +}); +A.menu.links.add('Removes self.', function () { + A.menu.links.remove('Removes self.'); +}); :: Start \ @@ -93,8 +92,31 @@ Tests: ] } + :: other passage This is another passage! -[[Go back.|Start]] \ No newline at end of file +[[Go back.|Start]] + +:: stop test +0 +(link-repeat: 'test')[ + +] + +:: playlist test +(link-repeat: 'test')[ + +] From e88fc9a461ce3a2ee0a47db2b9613485c9c5a03d Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 13:42:51 -0400 Subject: [PATCH 10/11] storage key clean up --- dist/harlowe-audio.min.js | 2 +- src/js/fixes.js | 20 +++++++++++--------- src/js/get.js | 3 +++ 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/dist/harlowe-audio.min.js b/dist/harlowe-audio.min.js index 2dbc1a9..944f368 100644 --- a/dist/harlowe-audio.min.js +++ b/dist/harlowe-audio.min.js @@ -25,6 +25,6 @@ } }; - !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")}}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+t,e)},e=function(t){return window.sessionStorage.getItem(o+t)}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack.apply(null,[t.id].concat(t.sources)):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}},savePlaylists:function(){var t;try{var o=Chapel.Audio.classes.Playlist.list;t=Object.keys(o).map(function(t){var e={};return e.tracks=o[t].tracks.map(function(t){return t.id}),e.id=o[t].id,e}),t=JSON.stringify(t),n.save("playlists",t)}catch(t){console.error(t.message)}},loadPlaylists:function(){var t;try{(t=(t=n.load("playlists"))&&JSON.parse(t))&&Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.tracks&&Chapel.Audio.createPlaylist(t.id,t.tracks)})}catch(t){console.error(t.message)}},saveGroups:function(){var e;try{e={},Object.keys(Chapel.Audio.groups.custom).forEach(function(t){e[t]=Chapel.Audio.groups.custom[t].map(function(t){return"string"==typeof t?t:t.id})}),e=JSON.stringify(e),n.save("groups",e)}catch(t){console.error(t.message)}},loadGroups:function(){var e;try{(e=(e=n.load("groups"))&&JSON.parse(e))&&"object"==typeof e&&(Object.keys(e).forEach(function(t){e[t].map(function(t){return Chapel.Audio.classes.Track.get(t)})}),Chapel.Audio.groups.custom=e)}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(window).on("unload",function(){Chapel.Audio.state.saveTracks(),Chapel.Audio.state.savePlaylists(),Chapel.Audio.state.saveGroups()}),Chapel.Audio.state.loadTracks(),Chapel.Audio.state.loadPlaylists(),Chapel.Audio.state.loadGroups())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}(); + !function(){"use strict";var t,e=$("tw-storydata");window.Chapel=window.Chapel||{},window.Chapel.Get={isHarlowe3OrLater:3<=(t=e.attr("format-version").split(".")[0],t=Number(t),Number.isNaN(t)&&(t=3),t<1&&(t=3),t),storyTitle:e.attr("name"),IFID:e.attr("ifid")},options.storagekey=options.storagekey+"-"+Chapel.Get.IFID+"-{"+Chapel.Get.storyTitle+"}"}(),function(){"use strict";var e=$(document.createElement("div")).attr("id","audio-container").css("display","none").appendTo(document.body),t=function(t,e){if(window.localStorage)try{t=""+t,"string"!=typeof e&&(e=JSON.stringify(e)),window.localStorage.setItem(t,e)}catch(t){console.error(t)}},o=function(t){if(window.localStorage)try{return t=""+t,window.localStorage.getItem(t)}catch(t){console.error(t)}},n=function(t){if(window.localStorage)try{t=""+t,window.localStorage.removeItem(t)}catch(t){console.error(t)}};function i(e,o){if("object"!=typeof e||"object"!=typeof o)throw new Error("Invalid extension.");Object.keys(o).forEach(function(t){if(void 0!==e[t])throw new Error('Invalid extension: cannot clobber existing property "'+t+'"');e[t]=o[t]})}var r={loaded:[],classes:{},master:{volume:options.startingVol,mute:!1},groups:{playing:[],looping:[],custom:{}},mute:function(t){r.master.mute=!!t,$(document).trigger({type:":master-mute",mute:!!t})},isMuted:function(){return!!r.master.mute},volume:function(t){t=Number(t),Number.isNaN(t)||(1this.unwrap.duration&&(t=this.unwrap.duration),this.unwrap.currentTime=t,this},fadeIn:function(t){var e=this;t=t||1;var o=this.getVolume();return this.volume(0),this.play(),this.$el.animate({volume:o*r.master.volume},1e3*t,function(){e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeOut:function(t){t=t||1;var e=this,o=this.getVolume();return this.$el.animate({volume:0},1e3*t,function(){e.stop(),e.volume(o),c.emit(":volume",e),c.emit(":fade",e)}),this},fadeTo:function(t,e){var o=this;if(t=t||1,e=Number(e),!Number.isNaN(e))return 1.on() -> invalid event type"),this)):(console.error(".on() -> invalid callback"),this)},one:function(t,e){return e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),a.track.includes(t)?void this.$el.one(t,e):(console.error(".one() -> invalid event type"),this)):(console.error(".one() -> invalid callback"),this)}};var l=a.track.concat(a.master);function d(t,e){if(!(this instanceof d))return new d(t,e);this.id=t,this.tracks=e.map(function(t){return c.get(t)}),this.looping=!1,this.current="",this.playing=!1}r.on=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).on(t,e):console.error("Chapel.Audio.on() -> invalid event type")):console.error("Chapel.Audio.on() -> invalid callback")},r.one=function(t,e){e&&"function"==typeof e?(":"!==(t=t.trim().toLowerCase())[0]&&(t=":"+t),l.includes(t)?$(document).one(t,e):console.error("Chapel.Audio.one() -> invalid event type")):console.error("Chapel.Audio.one() -> invalid callback")},r.on(":master-mute",c.renew),r.on(":master-volume",c.renew),options.persistPrefs&&(r.on(":master-mute",r.savePrefs),r.on(":master-volume",r.savePrefs)),r.on(":play",function(t){t.track.addToGroup("playing")}),r.on(":stop",function(t){t.track.removeFromGroup("playing")}),options.muteOnBlur&&$(window).on("blur",function(){r.isMuted()||(r.mute(!0),$(window).one("focus",function(){r.mute(!1)}))}),r.classes.Track=c,r.newTrack=c.add,r.track=c.get,r.createGroup=function(t,e,o){!function(t,e){e&&Array.isArray(e)||(e=[]),r.groups.custom[t]=e.map(function(t){return c.get(t)})}(t,o?[].slice.call(arguments).slice(1):e)},r.group=function(t){if(!(this instanceof r.group))return new r.group(t);Object.keys(r.groups.custom).includes(t)?this.members=r.groups.custom[t]:this.members=r.groups[t],Array.isArray(this.members)||(this.members=[],console.error('Could not find members for track group "'+t+'"!'))},r.group.is=function(t){return this instanceof r.group},r.group.runOnAll=function(t,e,o){t.members.forEach(function(t){t[e].apply(t,o&&Array.isArray(o)?o:[])})},r.group.extend=function(t){i(r.group,t)},r.group.extendPrototype=function(t){i(r.group.prototype,t)},r.group.prototype={constructor:r.group,run:function(t,e,o){null!=o&&(e=[].slice.call(arguments).slice(1)),c.prototype.hasOwnProperty(t)&&r.group.runOnAll(this,t,e)},play:function(){return this.run("play"),this},pause:function(){return this.run("pause"),this},stop:function(){return this.run("stop"),this},mute:function(t){return this.run("mute",[t]),this},volume:function(t){return this.run("volume",[t]),this},loop:function(t){return this.run("loop",[t]),this}},d.list={},d.is=function(t){return t instanceof d},d.add=function(t,e,o){return o&&(e=[].slice.call(arguments).slice(1)),d.list[t]=new d(t,e),d.list[t]},d.extend=function(t){i(d,t)},d.extendPrototype=function(t){i(d.prototype,t)},d.prototype={constructor:d,clone:function(){return new d(this.id,this.tracks.map(function(t){return t.id}))},shuffle:function(){var t,e,o,n=this.tracks;for(o=n.length-1;0=e.tracks.length&&e.looping)t=0;else if(t>=e.tracks.length)return e.current="",void(e.playing=!1);var o=e.tracks[t],n=o.isLooping();return o.loop(!1),o.play(),e.playing=!0,setTimeout(function(){o.isPlaying()||(e.playing=!1)},20),e.current=o.id,o.$el.one("ended.playlist",function(){t++,o.loop(n),e.play(t)}),e},loop:function(t){return this.looping=!!t,this},stop:function(){var t=c.get(this.current);return t.stop(),t.$el.off(".playlist"),this.current="",this.playing=!1,this},pause:function(){return c.get(this.current).pause(),this.playing=!1,this}},r.classes.Playlist=d,r.createPlaylist=d.add,r.playlist=function(t){return d.list[t]||null},r.extend=function(t){i(r,t)},r.extendTrack=c.extend,r.extendTrackProto=c.extendPrototype,r.extendGroup=r.group.extend,r.extendGroupProto=r.group.extendPrototype,r.extendPlaylist=d.extend,r.extendPlaylistProto=d.extendPrototype,window.Chapel=window.Chapel||{},window.Chapel.Audio=r,options.persistPrefs&&r.loadPrefs()}(),function(){"use strict";if(options.controls.show){var t=$(document.createElement("div")).attr("id","story-menu").css("display","none"),e=$(document.createElement("span")).attr("id","vol-title").append("Volume");options.controls.volumeDisplay||e.css("display","none");var o=$(document.createElement("input")).attr({id:"audio-volume",type:"range",min:1,max:99,step:1,title:"Volume"}),n=Math.trunc(100*window.Chapel.Audio.master.volume);n<0?n=0:100").on("click",function(t){t.preventDefault(),$(this).toggleClass("muted"),Chapel.Audio.mute(!Chapel.Audio.isMuted())});Chapel.Audio.isMuted()&&r.addClass("muted");var a=$(document.createElement("tw-link")).attr("id","audio-panel-toggle").on("click",function(t){t.preventDefault(),s.toggleClass("closed")}),s=$(document.createElement("div")).attr("id","audio-controls").append(t,e,o,r,a).appendTo(document.body);options.controls.startClosed&&s.addClass("closed"),window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.controls={$panel:s,$volume:o,$mute:r,$user:t,close:function(){s.addClass("closed")},open:function(){s.removeClass("closed")},toggle:function(){s.toggleClass("closed")},hide:function(){s.css("display","none")},show:function(){s.css("display","block")},updateVolume:i}}}(),function(t){(jQuery.browser=jQuery.browser||{}).mobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))}(navigator.userAgent||navigator.vendor||window.opera),function(){"use strict";var e=State,t=$(document.createElement("div")).attr("id","audio-overlay").css("display","none").appendTo(document.body);function o(){t.css("display","block").append('
')}function s(){t.fadeOut(function(){t.empty()})}window.Chapel=window.Chapel||{},window.Chapel.Audio=window.Chapel.Audio||{},window.Chapel.Audio.loadScreen={show:o,dismiss:s,kill:function(){$("#audio-overlay").remove()}},window.Chapel.Audio.$overlay=t,window.Chapel.Audio.preload=function(){if(!(e.pastLength||e.futureLength||$.browser.mobile)){$(document).ready(function(){o()});var i=100+options.loadDelay,t=Chapel.Audio.classes.Track.list,r=Chapel.Audio.loaded;if(t.length){var a=t.map(function(t){return t.id});options.forceDismiss&&setTimeout(function(){s()},options.loadLimit.total),function t(){if(a.length){var e=a.shift();if(r.includes(e))t();else{var o=Chapel.Audio.classes.Track.get(e);if(o.unwrap.readyState<2){var n=!1;o.$el.one("canplay",function(){t(),n=!0}),setTimeout(function(){n||(o.$el.off("canplay"),t())},options.loadLimit.track)}else r.includes(e)||r.push(e),t()}}else setTimeout(s,i)}()}else setTimeout(s,i)}}}(),function(){"use strict";var t,e,o=options.storagekey+"_hal_restart_",n=(window.sessionStorage?(t=function(t,e){window.sessionStorage.setItem(o+t,e)},e=function(t){return window.sessionStorage.getItem(o+t)}):(t=function(){},e=function(){},console.warn("Session storage is unavailable...")),{save:t,load:e});window.Chapel.Audio.state={_store:n,saveTracks:function(){var t;try{t=Chapel.Audio.classes.Track.list.map(function(t){return{id:t.id,sources:t.sources}}),t=JSON.stringify(t),n.save("tracks",t)}catch(t){console.error(t.message)}},loadTracks:function(){var t;try{t=(t=n.load("tracks"))&&JSON.parse(t),Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.sources&&!Chapel.Audio.classes.Track.has(t.id)?Chapel.Audio.newTrack.apply(null,[t.id].concat(t.sources)):console.warn("Track reload failed...")})}catch(t){console.error(t.message)}},savePlaylists:function(){var t;try{var o=Chapel.Audio.classes.Playlist.list;t=Object.keys(o).map(function(t){var e={};return e.tracks=o[t].tracks.map(function(t){return t.id}),e.id=o[t].id,e}),t=JSON.stringify(t),n.save("playlists",t)}catch(t){console.error(t.message)}},loadPlaylists:function(){var t;try{(t=(t=n.load("playlists"))&&JSON.parse(t))&&Array.isArray(t)&&t.length&&t.forEach(function(t){t.id&&t.tracks&&Chapel.Audio.createPlaylist(t.id,t.tracks)})}catch(t){console.error(t.message)}},saveGroups:function(){var e;try{e={},Object.keys(Chapel.Audio.groups.custom).forEach(function(t){e[t]=Chapel.Audio.groups.custom[t].map(function(t){return"string"==typeof t?t:t.id})}),e=JSON.stringify(e),n.save("groups",e)}catch(t){console.error(t.message)}},loadGroups:function(){var e;try{(e=(e=n.load("groups"))&&JSON.parse(e))&&"object"==typeof e&&(Object.keys(e).forEach(function(t){e[t].map(function(t){return Chapel.Audio.classes.Track.get(t)})}),Chapel.Audio.groups.custom=e)}catch(t){console.error(t.message)}}}}(),function(){"use strict";options.globalA&&void 0===window.A&&(window.A=window.Chapel.Audio),$(document).on("unload",function(){window.Chapel.Audio.savePrefs()}),Chapel.Audio.classes.Track.renew(),Chapel.Audio.controls&&Chapel.Audio.controls.updateVolume(),Chapel.Get.isHarlowe3OrLater&&($(window).on("unload",function(){Chapel.Audio.state.saveTracks(),Chapel.Audio.state.savePlaylists(),Chapel.Audio.state.saveGroups()}),Chapel.Audio.state.loadTracks(),Chapel.Audio.state.loadPlaylists(),Chapel.Audio.state.loadGroups())}(),function(){"use strict";if(options.controls.show){var s=Engine,u=Chapel.Audio.controls.$user,t=function(){return"none"!==u.css("display")},c=function(){return t()||u.css("display","block"),u},e=function(){return t()&&u.css("display","none"),u};Chapel.Audio.menu={hide:e,show:c,isShown:t,links:{add:function(t,e,o){var n,i;if(!t||"string"!=typeof t){var r="undefined";return alert(r),void console.error(r)}o||"function"!=typeof e?(e&&"string"==typeof e&&(n=e),o&&"function"==typeof o&&(i=o)):(i=e,n=null);var a=$(document.createElement("tw-link")).append(t).attr({tabindex:"0",name:t.toLowerCase().trim()}).on("click",function(){n&&s.goToPassage(n),i&&i()}).addClass("story-menu").appendTo(u);return c(),a},clear:function(){return u.empty(),e()},hide:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').addClass("hide")},show:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').removeClass("hide")},toggle:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').toggleClass("hide")},remove:function(t){t=t.toLowerCase().trim(),$('tw-link.story-menu[name="'+t+'"]').remove()}}}}}(),function(){"use strict";if(options.includeFixes){var e=window.prompt;window.prompt=function(){var t=e.apply(null,[].slice.call(arguments));return function(t){var e=(new DOMParser).parseFromString(t,"text/html");return Array.from(e.body.childNodes).some(function(t){return 1===t.nodeType})}(t)?t.replace(/[<>]/g,""):t}}}(); }()); \ No newline at end of file diff --git a/src/js/fixes.js b/src/js/fixes.js index 5c827a2..0fbcd79 100644 --- a/src/js/fixes.js +++ b/src/js/fixes.js @@ -8,15 +8,17 @@ return Array.from(doc.body.childNodes).some( function (node) { return node.nodeType === 1; }); } - var cached = window.prompt; + if (options.includeFixes) { + var cached = window.prompt; - window.prompt = function () { - var result = cached.apply(null, [].slice.call(arguments)); - if (isHTML(result)) { - return (result.replace(/[<>]/g, '')); - } else { - return result; - } - }; + window.prompt = function () { + var result = cached.apply(null, [].slice.call(arguments)); + if (isHTML(result)) { + return (result.replace(/[<>]/g, '')); + } else { + return result; + } + }; + } }()); \ No newline at end of file diff --git a/src/js/get.js b/src/js/get.js index 8bf9614..a0f2bd1 100644 --- a/src/js/get.js +++ b/src/js/get.js @@ -37,4 +37,7 @@ storyTitle : getStoryTitle(), IFID : getStoryIFID() }; + + // set storage key for this story with IFID + Story Title + options.storagekey = options.storagekey + '-' + Chapel.Get.IFID + '-{' + Chapel.Get.storyTitle + '}'; }()); \ No newline at end of file From fee940c864a458c372d8f0943aa3d804e9187216 Mon Sep 17 00:00:00 2001 From: ChapelR Date: Tue, 25 Jun 2019 13:53:49 -0400 Subject: [PATCH 11/11] docs --- docs/API.md | 128 +++++++++++++++++++++++++++++++++++++++++++++- docs/README.md | 22 ++------ docs/changelog.md | 7 ++- 3 files changed, 137 insertions(+), 20 deletions(-) diff --git a/docs/API.md b/docs/API.md index eee93be..3ab5f88 100644 --- a/docs/API.md +++ b/docs/API.md @@ -1227,4 +1227,130 @@ Dismisses the loading screen. Completely removes the loading screen from the DOM. ---- \ No newline at end of file +--- + +## The Menu API + +--- + +- **the `A.menu.hide()` method** + +- Arguments: none. + +- Returns: the `#story-menu` element (jQuery). + +Hides the story menu portion of the side bar. + +--- + +- **the `A.menu.show()` method** + +- Arguments: none. + +- Returns: the `#story-menu` element (jQuery). + +Shows the story menu portion of the side bar. + +--- + +- **the `A.menu.isShown()` method** + +- Arguments: none. + +- Returns: boolean. + +Returns whether the story menu portion of the side bar is currently visible. + +--- + +- **the `A.menu.links.add(linkText, [passageName], [callback])` method** + +- Arguments: + - `linkText`: (string) the text of the link. + - `passageName`: (optional) (string) a passage name to navigate to when the link is clicked. + - `callback`: (optional) (string) a function to run when the link is clicked. + +- Returns: the generated link (jQuery). + +This method creates a story menu link. You must pass it text to display or it will raise an error. You can then pass it a passage name to navigate to, a callback function to run on click, both, or neither. If you include both, they must be included in the indicated order. + +--- + +- **the `A.menu.links.clear()` method** + +- Arguments: none. + +- Returns: the `#story-menu` element (jQuery). + +This method removes all of the links from the story menu. + +--- + +- **the `A.menu.links.hide(text)` method** + +- Arguments: + - `text`: the text of the link you want to alter. + +- Returns: nothing. + +This method hides a story menu link. If there are multiple links with the same link text, all of them will be hidden. + +--- + +- **the `A.menu.links.show(text)` method** + +- Arguments: + - `text`: the text of the link you want to alter. + +- Returns: nothing. + +This method shows a hidden story menu link. If there are multiple links with the same link text, all of them will be shown. + +--- + +- **the `A.menu.links.toggle(text)` method** + +- Arguments: + - `text`: the text of the link you want to alter. + +- Returns: nothing. + +This method toggles the visibility a story menu link (hiding it if it's visible, showing it if it is hidden). If there are multiple links with the same link text, all of them will be toggled. + +--- + +- **the `A.menu.links.remove(text)` method** + +- Arguments: + - `text`: the text of the link you want to alter. + +- Returns: nothing. + +This method removes a story menu link. If there are multiple links with the same link text, all of them will be removed. Hidden links can be re-shown later, removed links are gone for good and will need to be recreated via `A.menu.links.add()`. + +--- + +# Events + +## List of Track Events + +| Event | Description | +| --- | --- | +| `:available` | a track's metadata is loaded | +| `:loaded` | a track can be played from start to finish | +| `:play` | a track starts playing | +| `:pause` | a track is paused | +| `:stop` | a track reaches the end or is stopped | +| `:mute` | a track is muted or unmuted | +| `:volume` | a track's volume is changed | + +## List of Master Audio Events + +| Event | Description | +| --- | --- | +| `:master-mute` | the master mute control is muted or unmuted | +| `:master-volume` | the master volume is changed | + +## Event Objects + +Track event objects are given a `track` property, which contains the track instance that triggered the event. \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index e83d9b9..4d74943 100644 --- a/docs/README.md +++ b/docs/README.md @@ -5,7 +5,7 @@ [Complete API Reference](./API.md) > [!WARNING] -> If you're using **Harlowe v3.x (or later)**, some updates to the way the engine preserves state via reloads may cause parts of this library to stop functioning correctly when used outside of the Story JavaScript or equivalent; particularly things that need initialized. There is not much I can do to fix this on my end--for now, it's recommended that you define all your tracks and menu links in Story JavaScript, not in `startup`-tagged passages. All other commands, like playing or stopping audio, should continue to work as expected. +> If you're using **Harlowe v3.x (or later)**, it is strongly recommended that you define tracks, groups, playlists, and menu links in your Story JavaScript area (or equivalent for your compiler) rather than in `startup`-tagged passages. If you just need some audio and don't need anything too complex, start at [Installation](#installation) and then read some of the [examples](#detailed-examples) to see if what you want to do is covered. If you want anything more complex than that, or if you have grand, complex ideas, you'll need to read the whole thing. @@ -192,7 +192,7 @@ To setup a track, use the `A.newTrack()` method, and provide your track a name a A.newTrack('piano', 'http://www.kozco.com/tech/piano2.wav'); ``` -~~You can also use a script element in a `startup`-tagged passage:~~ (See warning below.) +You can also use a script element in a `startup`-tagged passage (though doing so in your Story JavaScript is still strongly recommended): ``` :: audio-init [startup] ``` -> [!DANGER] -> In Harlowe v3.x, you should **always** define your tracks in your Story JavaScript, or your compiler's equivalent script section. - The *sources* of your audio files are urls or paths to the audio resources. These can be relative paths or absolute paths, depending on your needs. You should try to provide multiple sources to each sound: they'll be the same sound, just in different file formats, to help improve browser support. For example, most browsers can play `.mp3` files just fine, but Chromium users can't without a special plug-in they may not have. But they can play `.ogg` files, but Safari doesn't support `.ogg`... @@ -233,9 +230,6 @@ A.preload(); // shows a load screen and dismisses it when the audio has loaded ``` -> [!DANGER] -> In Harlowe v3.x, you should **always** define your tracks in your Story JavaScript, or your compiler's equivalent script section. - Once you have some tracks set up and named, you're ready to do things with them! ## Track Methods @@ -821,10 +815,8 @@ This library adds a loading screen to Harlowe that is superficially similar to S > [!TIP] > These APIs are completely unavailable if `options.controls.show` is `false`. -?> **TODO:** Add this to the API section. Improve this aspect of the demo. Write code examples. - > [!DANGER] -> In Harlowe v3.x, you should **always** define your menu links Story JavaScript, or your compiler's equivalent script section. +> You should **always** define your menu links Story JavaScript, or your compiler's equivalent script section, never in passages. This API allows you to add links to the sidebar as a 'story menu', similar to what can be done in SugarCube. THese links can be used to navigate to a passage, run a JavaScript function, or both. They can be hidden, shown, toggled, and removed at any time. @@ -1121,16 +1113,13 @@ Then: ## Looping Background Music -The `.loop()` method can be used to make music loop. If all you're after is a a backing track, this is all you need. Just place it in your JavaScript (after the library) ~~or in a ` ``` -> [!DANGER] -> In Harlowe v3.x, you should **always** define your tracks in your Story JavaScript, or your compiler's equivalent script section. - The `(set:)` will force the function to be evaluated in order, and the `(print:)` will print `false` as expected. However, this is a hack, and may not be possible in future versions of Harlowe. I generally recommend using `