(function(e){"use strict";var n=Object.keys;var t=Array.isArray;var r=typeof self!=="undefined"?self:typeof window!=="undefined"?window:global;function i(e,t){if(babelHelpers["typeof"](t)!=="object")return e;n(t).forEach((function(n){e[n]=t[n]}));return e}var o=Object.getPrototypeOf;var u={}.hasOwnProperty;function a(e,n){return u.call(e,n)}function s(e,t){if(typeof t==="function")t=t(o(e));if(babelHelpers["typeof"](t)!=="object")return;n(t).forEach((function(n){f(e,n,t[n])}))}var c=Object.defineProperty;function f(e,n,t,r){c(e,n,i(t&&a(t,"get")&&typeof t.get==="function"?{get:t.get,set:t.set,configurable:true}:{value:t,configurable:true,writable:true},r))}function l(e){return{from:function n(t){e.prototype=Object.create(t.prototype);f(e.prototype,"constructor",e);return{extend:s.bind(null,e.prototype)}}}}var h=Object.getOwnPropertyDescriptor;function d(e,n){var t=h(e,n),r;return t||(r=o(e))&&d(r,n)}var v=[].slice;function p(e,n,t){return v.call(e,n,t)}function y(e,n){return n(e)}function m(e){if(!e)throw new Error("Assertion Failed")}function g(e){if(r.setImmediate)setImmediate(e);else setTimeout(e,0)}function b(e,n){return e.reduce((function(e,t,r){var i=n(t,r);if(i)e[i[0]]=i[1];return e}),{})}function w(e,n){return function(){try{e.apply(this,arguments)}catch(e){n(e)}}}function _(e,n,t){try{e.apply(null,t)}catch(e){n&&n(e)}}function k(e,n){if(a(e,n))return e[n];if(!n)return e;if(typeof n!=="string"){var t=[];for(var r=0,i=n.length;r=0){n=e}else{n=e.constructor?Object.create(e.constructor.prototype):{};for(var o in e){if(a(e,o)){n[o]=A(e[o])}}}return n}function I(e,t,r,i){r=r||{};i=i||"";n(e).forEach((function(n){if(!a(t,n))r[i+n]=undefined;else{var o=e[n],u=t[n];if(babelHelpers["typeof"](o)==="object"&&babelHelpers["typeof"](u)==="object"&&o&&u&&""+o.constructor===""+u.constructor)I(o,u,r,i+n+".");else if(o!==u)r[i+n]=t[n]}}));n(t).forEach((function(n){if(!a(e,n)){r[i+n]=t[n]}}));return r}var D=typeof Symbol!=="undefined"&&Symbol.iterator;var C=D?function(e){var n;return e!=null&&(n=e[D])&&n.apply(e)}:function(){return null};var K={};function T(e){var n,r,i,o;if(arguments.length===1){if(t(e))return e.slice();if(this===K&&typeof e==="string")return[e];if(o=C(e)){r=[];while(i=o.next(),!i.done){r.push(i.value)}return r}if(e==null)return[e];n=e.length;if(typeof n==="number"){r=new Array(n);while(n--){r[n]=e[n]}return r}return[e]}n=arguments.length;r=new Array(n);while(n--){r[n]=arguments[n]}return r}var B=typeof location!=="undefined"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function F(e,n){B=e;M=n}var M=function e(){return true};var N=!new Error("").stack;function q(){if(N)try{throw new Error}catch(e){return e}return new Error}function R(e,n){var t=e.stack;if(!t)return"";n=n||0;if(t.indexOf(e.name)===0)n+=(e.name+e.message).split("\n").length;return t.split("\n").slice(n).filter(M).map((function(e){return"\n"+e})).join("")}function U(e,n){return function(){console.warn(e+" is deprecated. See https://github.com/dfahlander/Dexie.js/wiki/Deprecations. "+R(q(),1));return n.apply(this,arguments)}}var H=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"];var V=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"];var z=H.concat(V);var L={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed"};function W(e,n){this._e=q();this.name=e;this.message=n}l(W).from(Error).extend({stack:{get:function e(){return this._stack||(this._stack=this.name+": "+this.message+R(this._e,2))}},toString:function e(){return this.name+": "+this.message}});function Q(e,n){return e+". Errors: "+n.map((function(e){return e.toString()})).filter((function(e,n,t){return t.indexOf(e)===n})).join("\n")}function G(e,n,t,r){this._e=q();this.failures=n;this.failedKeys=r;this.successCount=t}l(G).from(W);function J(e,n){this._e=q();this.name="BulkError";this.failures=n;this.message=Q(e,n)}l(J).from(W);var X=z.reduce((function(e,n){return e[n]=n+"Error",e}),{});var Y=W;var $=z.reduce((function(e,n){var t=n+"Error";function r(e,r){this._e=q();this.name=t;if(!e){this.message=L[n]||t;this.inner=null}else if(typeof e==="string"){this.message=e;this.inner=r||null}else if(babelHelpers["typeof"](e)==="object"){this.message=e.name+" "+e.message;this.inner=e}}l(r).from(Y);e[n]=r;return e}),{});$.Syntax=SyntaxError;$.Type=TypeError;$.Range=RangeError;var Z=V.reduce((function(e,n){e[n+"Error"]=$[n];return e}),{});function ee(e,n){if(!e||e instanceof W||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Z[e.name])return e;var t=new Z[e.name](n||e.message,e);if("stack"in e){f(t,"stack",{get:function e(){return this.inner.stack}})}return t}var ne=z.reduce((function(e,n){if(["Syntax","Type","Range"].indexOf(n)===-1)e[n+"Error"]=$[n];return e}),{});ne.ModifyError=G;ne.DexieError=W;ne.BulkError=J;function te(){}function re(e){return e}function ie(e,n){if(e==null||e===re)return n;return function(t){return n(e(t))}}function oe(e,n){return function(){e.apply(this,arguments);n.apply(this,arguments)}}function ue(e,n){if(e===te)return n;return function(){var t=e.apply(this,arguments);if(t!==undefined)arguments[0]=t;var r=this.onsuccess,i=this.onerror;this.onsuccess=null;this.onerror=null;var o=n.apply(this,arguments);if(r)this.onsuccess=this.onsuccess?oe(r,this.onsuccess):r;if(i)this.onerror=this.onerror?oe(i,this.onerror):i;return o!==undefined?o:t}}function ae(e,n){if(e===te)return n;return function(){e.apply(this,arguments);var t=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null;n.apply(this,arguments);if(t)this.onsuccess=this.onsuccess?oe(t,this.onsuccess):t;if(r)this.onerror=this.onerror?oe(r,this.onerror):r}}function se(e,n){if(e===te)return n;return function(t){var r=e.apply(this,arguments);i(t,r);var o=this.onsuccess,u=this.onerror;this.onsuccess=null;this.onerror=null;var a=n.apply(this,arguments);if(o)this.onsuccess=this.onsuccess?oe(o,this.onsuccess):o;if(u)this.onerror=this.onerror?oe(u,this.onerror):u;return r===undefined?a===undefined?undefined:a:i(r,a)}}function ce(e,n){if(e===te)return n;return function(){if(n.apply(this,arguments)===false)return false;return e.apply(this,arguments)}}function fe(e,n){if(e===te)return n;return function(){var t=e.apply(this,arguments);if(t&&typeof t.then==="function"){var r=this,i=arguments.length,o=new Array(i);while(i--){o[i]=arguments[i]}return t.then((function(){return n.apply(r,o)}))}return n.apply(this,arguments)}}var le={};var he=100;var de=20;var ve=7;var pe=function(){try{return new Function("let F=async ()=>{},p=F();return [p,Object.getPrototypeOf(p),Promise.resolve(),F.constructor];")()}catch(n){var e=r.Promise;return e?[e.resolve(),e.prototype,e.resolve()]:[]}}();var ye=pe[0];var me=pe[1];var ge=pe[2];var be=me&&me.then;var we=ye&&ye.constructor;var _e=pe[3];var ke=!!ge;var xe=false;var Pe=ge?function(){ge.then(Qe)}:r.setImmediate?setImmediate.bind(null,Qe):r.MutationObserver?function(){var e=document.createElement("div");new MutationObserver((function(){Qe();e=null})).observe(e,{attributes:true});e.setAttribute("i","1")}:function(){setTimeout(Qe,0)};var je=function e(n,t){Te.push([n,t]);if(Se){Pe();Se=false}};var Ee=true;var Se=true;var Oe=[];var Ae=[];var Ie=null;var De=re;var Ce={id:"global",global:true,ref:0,unhandleds:[],onunhandled:kn,pgp:false,env:{},finalize:function e(){this.unhandleds.forEach((function(e){try{kn(e[0],e[1])}catch(e){}}))}};var Ke=Ce;var Te=[];var Be=0;var Fe=[];function Me(e){if(babelHelpers["typeof"](this)!=="object")throw new TypeError("Promises must be constructed via new");this._listeners=[];this.onuncatched=te;this._lib=false;var n=this._PSD=Ke;if(B){this._stackHolder=q();this._prev=null;this._numPrev=0}if(typeof e!=="function"){if(e!==le)throw new TypeError("Not a function");this._state=arguments[1];this._value=arguments[2];if(this._state===false)Ue(this,this._value);return}this._state=null;this._value=null;++n.ref;Re(this,e)}var Ne={get:function e(){var n=Ke,t=an;function r(e,r){var i=this;var o=!n.global&&(n!==Ke||t!==an);if(o)ln();var u=new Me((function(t,u){Ve(i,new qe(bn(e,n,o),bn(r,n,o),t,u,n))}));B&&We(u,this);return u}r.prototype=le;return r},set:function e(n){f(this,"then",n&&n.prototype===le?Ne:{get:function e(){return n},set:Ne.set})}};s(Me.prototype,{then:Ne,_then:function e(n,t){Ve(this,new qe(null,null,n,t,Ke))},catch:function e(n){if(arguments.length===1)return this.then(null,n);var t=arguments[0],r=arguments[1];return typeof t==="function"?this.then(null,(function(e){return e instanceof t?r(e):en(e)})):this.then(null,(function(e){return e&&e.name===t?r(e):en(e)}))},finally:function e(n){return this.then((function(e){n();return e}),(function(e){n();return en(e)}))},stack:{get:function e(){if(this._stack)return this._stack;try{xe=true;var n=Le(this,[],de);var t=n.join("\nFrom previous: ");if(this._state!==null)this._stack=t;return t}finally{xe=false}}},timeout:function e(n,t){var r=this;return n0){e=Te;Te=[];t=e.length;for(n=0;n0);Ee=true;Se=true}function Xe(){var e=Oe;Oe=[];e.forEach((function(e){e._PSD.onunhandled.call(null,e._value,e)}));var n=Fe.slice(0);var t=n.length;while(t){n[--t]()}}function Ye(e){function n(){e();Fe.splice(Fe.indexOf(n),1)}Fe.push(n);++Be;je((function(){if(--Be===0)Xe()}),[])}function $e(e){if(!Oe.some((function(n){return n._value===e._value})))Oe.push(e)}function Ze(e){var n=Oe.length;while(n){if(Oe[--n]._value===e._value){Oe.splice(n,1);return}}}function en(e){return new Me(le,false,e)}function nn(e,n){var t=Ke;return function(){var r=Ge(),i=Ke;try{pn(t,true);return e.apply(this,arguments)}catch(e){n&&n(e)}finally{pn(i,false);if(r)Je()}}}var tn={awaits:0,echoes:0,id:0};var rn=0;var on=[];var un=0;var an=0;var sn=0;function cn(e,n,t,r){var o=Ke,u=Object.create(o);u.parent=o;u.ref=0;u.global=false;u.id=++sn;var a=Ce.env;u.env=ke?{Promise:Me,PromiseProp:{value:Me,configurable:true,writable:true},all:Me.all,race:Me.race,resolve:Me.resolve,reject:Me.reject,nthen:wn(a.nthen,u),gthen:wn(a.gthen,u)}:{};if(n)i(u,n);++o.ref;u.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=mn(u,e,t,r);if(u.ref===0)u.finalize();return s}function fn(){if(!tn.id)tn.id=++rn;++tn.awaits;tn.echoes+=ve;return tn.id}function ln(e){if(!tn.awaits||e&&e!==tn.id)return;if(--tn.awaits===0)tn.id=0;tn.echoes=tn.awaits*ve}function hn(e){if(tn.echoes&&e&&e.constructor===we){fn();return e.then((function(e){ln();return e}),(function(e){ln();return xn(e)}))}return e}function dn(e){++an;if(!tn.echoes||--tn.echoes===0){tn.echoes=tn.id=0}on.push(Ke);pn(e,true)}function vn(){var e=on[on.length-1];on.pop();pn(e,false)}function pn(e,n){var t=Ke;if(n?tn.echoes&&(!un++||e!==Ke):un&&(!--un||e!==Ke)){gn(n?dn.bind(null,e):vn)}if(e===Ke)return;Ke=e;if(t===Ce)Ce.env=yn();if(ke){var i=Ce.env.Promise;var o=e.env;me.then=o.nthen;i.prototype.then=o.gthen;if(t.global||e.global){Object.defineProperty(r,"Promise",o.PromiseProp);i.all=o.all;i.race=o.race;i.resolve=o.resolve;i.reject=o.reject}}}function yn(){var e=r.Promise||Me;return ke?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(r,"Promise"),all:e.all,race:e.race,resolve:e.resolve,reject:e.reject,nthen:me.then,gthen:e.prototype.then}:{}}function mn(e,n,t,r,i){var o=Ke;try{pn(e,true);return n(t,r,i)}finally{pn(o,false)}}function gn(e){be.call(ye,e)}function bn(e,n,t){return typeof e!=="function"?e:function(){var r=Ke;if(t)fn();pn(n,true);try{return e.apply(this,arguments)}finally{pn(r,false)}}}function wn(e,n){return function(t,r){return e.call(this,bn(t,n,false),bn(r,n,false))}}var _n="unhandledrejection";function kn(e,n){var t;try{t=n.onuncatched(e)}catch(e){}if(t!==false)try{var o,u={promise:n,reason:e};if(r.document&&document.createEvent){o=document.createEvent("Event");o.initEvent(_n,true,true);i(o,u)}else if(r.CustomEvent){o=new CustomEvent(_n,{detail:u});i(o,u)}if(o&&r.dispatchEvent){dispatchEvent(o);if(!r.PromiseRejectionEvent&&r.onunhandledrejection)try{r.onunhandledrejection(o)}catch(e){}}if(!o.defaultPrevented){console.warn("Unhandled rejection: "+(e.stack||e))}}catch(e){}}var xn=Me.reject;function Pn(e){var r={};var i=function n(t,i){if(i){var o=arguments.length,u=new Array(o-1);while(--o){u[o-1]=arguments[o]}r[t].subscribe.apply(null,u);return e}else if(typeof t==="string"){return r[t]}};i.addEventType=a;for(var o=1,u=arguments.length;o0)console.warn("Another connection wants to upgrade database '"+V.name+"'. Closing db now to resume the upgrade.");else console.warn("Another connection wants to delete database '"+V.name+"'. Closing db now to resume the delete request.");V.close()}));V.on("blocked",(function(e){if(!e.newVersion||e.newVersione}));u.forEach((function(e){r.push((function(){var r=g;var i=e._cfg.dbschema;Ve(r,t);Ve(i,t);g=V._dbSchema=i;var u=le(r,i);u.add.forEach((function(e){he(t,e[0],e[1].primKey,e[1].indexes)}));u.change.forEach((function(e){if(e.recreate){throw new $.Upgrade("Not yet support for changing primary key")}else{var n=t.objectStore(e.name);e.add.forEach((function(e){pe(n,e)}));e.change.forEach((function(e){n.deleteIndex(e.name);pe(n,e)}));e.del.forEach((function(e){n.deleteIndex(e)}))}}));if(e._cfg.contentUpgrade){o=true;return Me.follow((function(){e._cfg.contentUpgrade(n)}))}}));r.push((function(n){if(!o||!Kn){var t=e._cfg.dbschema;ve(t,n)}}))}));function a(){return r.length?Me.resolve(r.shift()(n.idbtrans)).then(a):Me.resolve()}return a().then((function(){de(g,t)}))}function le(e,n){var t={del:[],add:[],change:[]};for(var r in e){if(!n[r])t.del.push(r)}for(r in n){var i=e[r],o=n[r];if(!i){t.add.push([r,o])}else{var u={name:r,def:o,recreate:false,del:[],add:[],change:[]};if(i.primKey.src!==o.primKey.src){u.recreate=true;t.change.push(u)}else{var a=i.idxByName;var s=o.idxByName;for(var c in a){if(!s[c])u.del.push(c)}for(c in s){var f=a[c],l=s[c];if(!f)u.add.push(l);else if(f.src!==l.src)u.change.push(l)}if(u.del.length>0||u.add.length>0||u.change.length>0){t.change.push(u)}}}}return t}function he(e,n,t,r){var i=e.db.createObjectStore(n,t.keyPath?{keyPath:t.keyPath,autoIncrement:t.auto}:{autoIncrement:t.auto});r.forEach((function(e){pe(i,e)}));return i}function de(e,t){n(e).forEach((function(n){if(!t.db.objectStoreNames.contains(n)){he(t,n,e[n].primKey,e[n].indexes)}}))}function ve(e,n){for(var t=0;tMath.pow(2,62)?0:n.oldVersion;oe(u/10,t,r,i)}}),r);i.onsuccess=nn((function(){t=null;D=i.result;Dn.push(V);if(X)He();else if(D.objectStoreNames.length>0){try{Ve(g,D.transaction(Gn(D.objectStoreNames),R))}catch(e){}}D.onversionchange=nn((function(e){V._vcFired=true;V.on("versionchange").fire(e)}));if(!Y&&e!=="__dbnames"){Fn.dbnames.put({name:e})["catch"](te)}n()}),r)}))]).then((function(){M=[];return Me.resolve(Mn.vip(V.on.ready.fire)).then((function e(){if(M.length>0){var n=M.reduce(fe,te);M=[];return Me.resolve(Mn.vip(n)).then(e)}}))}))["finally"]((function(){M=null})).then((function(){F=false;return V}))["catch"]((function(e){try{t&&t.abort()}catch(e){}F=false;V.close();C=e;return xn(C)}))["finally"]((function(){N=true;n()}))};this.close=function(){var e=Dn.indexOf(V);if(e>=0)Dn.splice(e,1);if(D){try{D.close()}catch(e){}D=null}h=false;C=new $.DatabaseClosed;if(F)W(C);L=new Me((function(e){z=e}));Q=new Me((function(e,n){W=n}))};this["delete"]=function(){var n=arguments.length>0;return new Me((function(t,r){if(n)throw new $.InvalidArgument("Arguments not allowed in db.delete()");if(F){L.then(i)}else{i()}function i(){V.close();var n=d.deleteDatabase(e);n.onsuccess=nn((function(){if(!Y){Fn.dbnames["delete"](e)["catch"](te)}t()}));n.onerror=Un(r);n.onblocked=ze}}))};this.backendDB=function(){return D};this.isOpen=function(){return D!==null};this.hasBeenClosed=function(){return C&&C instanceof $.DatabaseClosed};this.hasFailed=function(){return C!==null};this.dynamicallyOpened=function(){return X};this.name=e;s(this,{tables:{get:function e(){return n(O).map((function(e){return O[e]}))}}});this.on=Pn(this,"populate","blocked","versionchange",{ready:[fe,te]});this.on.ready.subscribe=y(this.on.ready.subscribe,(function(e){return function(n,t){Mn.vip((function(){if(N){if(!C)Me.resolve().then(n);if(t)e(n)}else if(M){M.push(n);if(t)e(n)}else{e(n);if(!t)e((function e(){V.on.ready.unsubscribe(n);V.on.ready.unsubscribe(e)}))}}))}}));this.transaction=function(){var e=me.apply(this,arguments);return this._transaction.apply(this,e)};function me(e,n,t){var r=arguments.length;if(r<2)throw new $.InvalidArgument("Too few arguments");var i=new Array(r-1);while(--r){i[r-1]=arguments[r]}t=i.pop();var o=S(i);return[e,o,t]}this._transaction=function(e,n,t){var r=Ke.trans;if(!r||r.db!==V||e.indexOf("!")!==-1)r=null;var i=e.indexOf("?")!==-1;e=e.replace("!","").replace("?","");try{var o=n.map((function(e){var n=e instanceof ge?e.name:e;if(typeof n!=="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return n}));if(e=="r"||e==R)e=R;else if(e=="rw"||e==H)e=H;else throw new $.InvalidArgument("Invalid transaction mode: "+e);if(r){if(r.mode===R&&e===H){if(i){r=null}else throw new $.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY")}if(r){o.forEach((function(e){if(r&&r.storeNames.indexOf(e)===-1){if(i){r=null}else throw new $.SubTransaction("Table "+e+" not included in parent transaction.")}}))}if(i&&r&&!r.active){r=null}}}catch(e){return r?r._promise(null,(function(n,t){t(e)})):xn(e)}return r?r._promise(e,u,"lock"):Ke.trans?mn(Ke.transless,(function(){return V._whenReady(u)})):V._whenReady(u);function u(){return Me.resolve().then((function(){var n=Ke.transless||Ke;var i=V._createTransaction(e,o,g,r);var u={trans:i,transless:n};if(r){i.idbtrans=r.idbtrans}else{i.create()}if(t.constructor===_e){fn()}var a;var s=Me.follow((function(){a=t.call(i,i);if(a){if(a.constructor===we){var e=ln.bind(null,null);a.then(e,e)}else if(typeof a.next==="function"&&typeof a["throw"]==="function"){a=Ln(a)}}}),u);return(a&&typeof a.then==="function"?Me.resolve(a).then((function(e){return i.active?e:xn(new $.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))})):s.then((function(){return a}))).then((function(e){if(r)i._resolve();return i._completion.then((function(){return e}))}))["catch"]((function(e){i._reject(e);return xn(e)}))}))}};this.table=function(e){if(!a(O,e)){throw new $.InvalidTable("Table "+e+" does not exist")}return O[e]};function ge(e,n,t){this.name=e;this.schema=n;this._tx=t;this.hook=O[e]?O[e].hook:Pn(null,{creating:[ue,te],reading:[ie,re],updating:[se,te],deleting:[ae,te]})}function be(e,n,t){return(t?Vn:Un)((function(t){e.push(t);n&&n()}))}function ke(e,n,t,r,i){return new Me((function(o,u){var a=t.length,s=a-1;if(a===0)return o();if(!r){for(var c=0;c=0}))&&e.keyPath.every((function(e){return i.indexOf(e)>=0}))}))[0];if(o&&Sn!==En)return this.where(o.name).equals(o.keyPath.map((function(e){return r[e]})));if(!o)console.warn("The query "+JSON.stringify(r)+" on "+this.name+" would benefit of a "+("compound index ["+i.join("+")+"]"));var u=this.schema.idxByName;var a=i.reduce((function(e,n){return[e[0]||u[n],e[0]||!u[n]?Ue(e[1],(function(e){return""+k(e,n)==""+r[n]})):e[1]]}),[null,null]);var s=a[0];return s?this.where(s.name).equals(r[s.keyPath]).filter(a[1]):o?this.filter(a[1]):this.where(i).equals("")},count:function e(n){return this.toCollection().count(n)},offset:function e(n){return this.toCollection().offset(n)},limit:function e(n){return this.toCollection().limit(n)},reverse:function e(){return this.toCollection().reverse()},filter:function e(n){return this.toCollection().and(n)},each:function e(n){return this.toCollection().each(n)},toArray:function e(n){return this.toCollection().toArray(n)},orderBy:function e(n){return new je(new Pe(this,t(n)?"["+n.join("+")+"]":n))},toCollection:function e(){return new je(new Pe(this))},mapToClass:function e(n,t){this.schema.mappedClass=n;var r=Object.create(n.prototype);if(t){qn(r,t)}this.schema.instanceTemplate=r;var i=function e(t){if(!t)return t;var r=Object.create(n.prototype);for(var i in t){if(a(t,i))try{r[i]=t[i]}catch(e){}}return r};if(this.schema.readHook){this.hook.reading.unsubscribe(this.schema.readHook)}this.schema.readHook=i;this.hook("reading",i);return n},defineClass:function e(n){return this.mapToClass(Mn.defineClass(n),n)},bulkDelete:function e(n){if(this.hook.deleting.fire===te){return this._idbstore(H,(function(e,t,r,i){e(ke(r,i,n,false,te))}))}else{return this.where(":id").anyOf(n)["delete"]().then((function(){}))}},bulkPut:function e(n,t){var r=this;return this._idbstore(H,(function(e,i,o){if(!o.keyPath&&!r.schema.primKey.auto&&!t)throw new $.InvalidArgument("bulkPut() with non-inbound keys requires keys array in second argument");if(o.keyPath&&t)throw new $.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(t&&t.length!==n.length)throw new $.InvalidArgument("Arguments objects and keys must have the same length");if(n.length===0)return e();var u=function n(t){if(s.length===0)e(t);else i(new J(r.name+".bulkPut(): "+s.length+" of "+f+" operations failed",s))};var a,s=[],c,f=n.length,l=r;if(r.hook.creating.fire===te&&r.hook.updating.fire===te){c=be(s);for(var h=0,d=n.length;h=0;--i){var o=v[i];if(o==null||p[o]){e.push(n[i]);t&&r.push(o);if(o!=null)p[o]=null}}e.reverse();t&&r.reverse();return l.bulkAdd(e,r)})).then((function(e){var n=v[v.length-1];return n!=null?n:e}));y.then(u)["catch"](J,(function(e){s=s.concat(e.failures);u()}))["catch"](i)}}),"locked")},bulkAdd:function e(n,t){var r=this,i=this.hook.creating.fire;return this._idbstore(H,(function(e,o,u,a){if(!u.keyPath&&!r.schema.primKey.auto&&!t)throw new $.InvalidArgument("bulkAdd() with non-inbound keys requires keys array in second argument");if(u.keyPath&&t)throw new $.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(t&&t.length!==n.length)throw new $.InvalidArgument("Arguments objects and keys must have the same length");if(n.length===0)return e();function s(n){if(f.length===0)e(n);else o(new J(r.name+".bulkAdd(): "+f.length+" of "+d+" operations failed",f))}var c,f=[],l,h,d=n.length;if(i!==te){var v=u.keyPath,p;l=be(f,null,true);h=Rn(null);_((function(){for(var e=0,r=n.length;e0&&!this._locked()){var n=this._blockedFuncs.shift();try{mn(n[1],n[0])}catch(e){}}}return this},_locked:function e(){return this._reculock&&Ke.lockOwnerFor!==this},create:function e(n){var t=this;if(!this.mode)return this;m(!this.idbtrans);if(!n&&!D){switch(C&&C.name){case"DatabaseClosedError":throw new $.DatabaseClosed(C);case"MissingAPIError":throw new $.MissingAPI(C.message,C);default:throw new $.OpenFailed(C)}}if(!this.active)throw new $.TransactionInactive;m(this._completion._state===null);n=this.idbtrans=n||D.transaction(Gn(this.storeNames),this.mode);n.onerror=nn((function(e){zn(e);t._reject(n.error)}));n.onabort=nn((function(e){zn(e);t.active&&t._reject(new $.Abort(n.error));t.active=false;t.on("abort").fire(e)}));n.oncomplete=nn((function(){t.active=false;t._resolve()}));return this},_promise:function e(n,t,r){var i=this;if(n===H&&this.mode!==H)return xn(new $.ReadOnly("Transaction is readonly"));if(!this.active)return xn(new $.TransactionInactive);if(this._locked()){return new Me((function(e,o){i._blockedFuncs.push([function(){i._promise(n,t,r).then(e,o)},Ke])}))}else if(r){return cn((function(){var e=new Me((function(e,n){i._lock();var r=t(e,n,i);if(r&&r.then)r.then(e,n)}));e["finally"]((function(){return i._unlock()}));e._lib=true;return e}))}else{var o=new Me((function(e,n){var r=t(e,n,i);if(r&&r.then)r.then(e,n)}));o._lib=true;return o}},_root:function e(){return this.parent?this.parent._root():this},waitFor:function e(n){var t=this._root();n=Me.resolve(n);if(t._waitingFor){t._waitingFor=t._waitingFor.then((function(){return n}))}else{t._waitingFor=n;t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){++t._spinCount;while(t._waitingQueue.length){t._waitingQueue.shift()()}if(t._waitingFor)r.get(-Infinity).onsuccess=e})()}var i=t._waitingFor;return new Me((function(e,r){n.then((function(n){return t._waitingQueue.push(nn(e.bind(null,n)))}),(function(e){return t._waitingQueue.push(nn(r.bind(null,e)))}))["finally"]((function(){if(t._waitingFor===i){t._waitingFor=null}}))}))},abort:function e(){this.active&&this._reject(new $.Abort);this.active=false},tables:{get:U("Transaction.tables",(function(){return O}))},table:function e(n){var e=V.table(n);return new ge(n,e.schema,this)}});function Pe(e,n,t){this._ctx={table:e,index:n===":id"?null:n,or:t}}s(Pe.prototype,(function(){function e(e,n,t){var r=e instanceof Pe?new je(e):e;r._ctx.error=t?new t(n):new TypeError(n);return r}function n(e){return new je(e,(function(){return v.only("")})).limit(0)}function t(e){return e==="next"?function(e){return e.toUpperCase()}:function(e){return e.toLowerCase()}}function r(e){return e==="next"?function(e){return e.toLowerCase()}:function(e){return e.toUpperCase()}}function i(e,n,t,r,i,o){var u=Math.min(e.length,r.length);var a=-1;for(var s=0;s=0)return e.substr(0,a)+n[a]+t.substr(a+1);return null}if(i(e[s],c)<0)a=s}if(u0){a=v}}if(a!==null){n((function(){e["continue"](a+p)}))}else{n(t)}return false}}));return g}return{between:function t(r,i,o,u){o=o!==false;u=u===true;try{if(Ce(r,i)>0||Ce(r,i)===0&&(o||u)&&!(o&&u))return n(this);return new je(this,(function(){return v.bound(r,i,!o,!u)}))}catch(n){return e(this,An)}},equals:function e(n){return new je(this,(function(){return v.only(n)}))},above:function e(n){return new je(this,(function(){return v.lowerBound(n,true)}))},aboveOrEqual:function e(n){return new je(this,(function(){return v.lowerBound(n)}))},below:function e(n){return new je(this,(function(){return v.upperBound(n,true)}))},belowOrEqual:function e(n){return new je(this,(function(){return v.upperBound(n)}))},startsWith:function n(t){if(typeof t!=="string")return e(this,In);return this.between(t,t+En,true,true)},startsWithIgnoreCase:function e(n){if(n==="")return this.startsWith(n);return o(this,(function(e,n){return e.indexOf(n[0])===0}),[n],En)},equalsIgnoreCase:function e(n){return o(this,(function(e,n){return e===n[0]}),[n],"")},anyOfIgnoreCase:function e(){var t=T.apply(K,arguments);if(t.length===0)return n(this);return o(this,(function(e,n){return n.indexOf(e)!==-1}),t,"")},startsWithAnyOfIgnoreCase:function e(){var t=T.apply(K,arguments);if(t.length===0)return n(this);return o(this,(function(e,n){return n.some((function(n){return e.indexOf(n)===0}))}),t,En)},anyOf:function t(){var r=T.apply(K,arguments);var i=Fe;try{r.sort(i)}catch(n){return e(this,An)}if(r.length===0)return n(this);var o=new je(this,(function(){return v.bound(r[0],r[r.length-1])}));o._ondirectionchange=function(e){i=e==="next"?Fe:Ne;r.sort(i)};var u=0;o._addAlgorithm((function(e,n,t){var o=e.key;while(i(o,r[u])>0){++u;if(u===r.length){n(t);return false}}if(i(o,r[u])===0){return true}else{n((function(){e["continue"](r[u])}));return false}}));return o},notEqual:function e(n){return this.inAnyRange([[On,n],[n,Sn]],{includeLowers:false,includeUppers:false})},noneOf:function n(){var t=T.apply(K,arguments);if(t.length===0)return new je(this);try{t.sort(Fe)}catch(n){return e(this,An)}var r=t.reduce((function(e,n){return e?e.concat([[e[e.length-1][1],n]]):[[On,n]]}),null);r.push([t[t.length-1],Sn]);return this.inAnyRange(r,{includeLowers:false,includeUppers:false})},inAnyRange:function t(r,i){if(r.length===0)return n(this);if(!r.every((function(e){return e[0]!==undefined&&e[1]!==undefined&&Fe(e[0],e[1])<=0}))){return e(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",$.InvalidArgument)}var o=!i||i.includeLowers!==false;var u=i&&i.includeUppers===true;function a(e,n){for(var t=0,r=e.length;t0){i[0]=Te(i[0],n[0]);i[1]=Be(i[1],n[1]);break}}if(t===r)e.push(n);return e}var s=Fe;function c(e,n){return s(e[0],n[0])}var f;try{f=r.reduce(a,[]);f.sort(c)}catch(n){return e(this,An)}var l=0;var h=u?function(e){return Fe(e,f[l][1])>0}:function(e){return Fe(e,f[l][1])>=0};var d=o?function(e){return Ne(e,f[l][0])>0}:function(e){return Ne(e,f[l][0])>=0};function p(e){return!h(e)&&!d(e)}var y=h;var m=new je(this,(function(){return v.bound(f[0][0],f[f.length-1][1],!o,!u)}));m._ondirectionchange=function(e){if(e==="next"){y=h;s=Fe}else{y=d;s=Ne}f.sort(c)};m._addAlgorithm((function(e,n,t){var r=e.key;while(y(r)){++l;if(l===f.length){n(t);return false}}if(p(r)){return true}else if(Ce(r,f[l][1])===0||Ce(r,f[l][0])===0){return false}else{n((function(){if(s===Fe)e["continue"](f[l][0]);else e["continue"](f[l][1])}));return false}}));return m},startsWithAnyOf:function t(){var r=T.apply(K,arguments);if(!r.every((function(e){return typeof e==="string"}))){return e(this,"startsWithAnyOf() only works with strings")}if(r.length===0)return n(this);return this.inAnyRange(r.map((function(e){return[e,e+En]})))}}}));function je(e,n){var t=null,r=null;if(n)try{t=n()}catch(e){r=e}var i=e._ctx,o=i.table;this._ctx={table:o,index:i.index,isPrimKey:!i.index||o.schema.primKey.keyPath&&i.index===o.schema.primKey.name,range:t,keysOnly:false,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:true,isMatch:null,offset:0,limit:Infinity,error:r,or:i.or,valueMapper:o.hook.reading.fire}}function Ee(e,n){return!(e.filter||e.algorithm||e.or)&&(n?e.justLimit:!e.replayFilter)}s(je.prototype,(function(){function e(e,n){e.filter=Ue(e.filter,n)}function t(e,n,t){var r=e.replayFilter;e.replayFilter=r?function(){return Ue(r(),n())}:n;e.justLimit=t&&!r}function r(e,n){e.isMatch=Ue(e.isMatch,n)}function o(e,n){if(e.isPrimKey)return n;var t=e.table.schema.idxByName[e.index];if(!t)throw new $.Schema("KeyPath "+e.index+" on object store "+n.name+" is not indexed");return n.index(t.name)}function u(e,n){var t=o(e,n);return e.keysOnly&&"openKeyCursor"in t?t.openKeyCursor(e.range||null,e.dir+e.unique):t.openCursor(e.range||null,e.dir+e.unique)}function s(e,n,t,r,i){var o=e.replayFilter?Ue(e.filter,e.replayFilter()):e.filter;if(!e.or){Ie(u(e,i),Ue(e.algorithm,o),n,t,r,!e.keysOnly&&e.valueMapper)}else(function(){var s={};var c=0;function f(){if(++c===2)t()}function l(e,t,i){if(!o||o(t,i,f,r)){var u=t.primaryKey;var c=""+u;if(c==="[object ArrayBuffer]")c=""+new Uint8Array(u);if(!a(s,c)){s[c]=true;n(e,t,i)}}}e.or._iterate(l,f,r,i);Ie(u(e,i),e.algorithm,l,f,r,!e.keysOnly&&e.valueMapper)})()}return{_read:function e(n,t){var r=this._ctx;return r.error?r.table._trans(null,xn.bind(null,r.error)):r.table._idbstore(R,n).then(t)},_write:function e(n){var t=this._ctx;return t.error?t.table._trans(null,xn.bind(null,t.error)):t.table._idbstore(H,n,"locked")},_addAlgorithm:function e(n){var t=this._ctx;t.algorithm=Ue(t.algorithm,n)},_iterate:function e(n,t,r,i){return s(this._ctx,n,t,r,i)},clone:function e(n){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);if(n)i(r,n);t._ctx=r;return t},raw:function e(){this._ctx.valueMapper=null;return this},each:function e(n){var t=this._ctx;return this._read((function(e,r,i){s(t,n,e,r,i)}))},count:function e(n){var t=this._ctx;if(Ee(t,true)){return this._read((function(e,n,r){var i=o(t,r);var u=t.range?i.count(t.range):i.count();u.onerror=Un(n);u.onsuccess=function(n){e(Math.min(n.target.result,t.limit))}}),n)}else{var e=0;return this._read((function(n,r,i){s(t,(function(){++e;return false}),(function(){n(e)}),r,i)}),n)}},sortBy:function e(n,t){var r=n.split(".").reverse(),i=r[0],o=r.length-1;function u(e,n){if(n)return u(e[r[n]],n-1);return e[i]}var a=this._ctx.dir==="next"?1:-1;function s(e,n){var t=u(e,o),r=u(n,o);return tr?a:0}return this.toArray((function(e){return e.sort(s)})).then(t)},toArray:function e(n){var t=this._ctx;return this._read((function(e,n,r){if(Z&&t.dir==="next"&&Ee(t,true)&&t.limit>0){var i=t.table.hook.reading.fire;var u=o(t,r);var a=t.limit=0}}),true);return this},until:function n(t,r){e(this._ctx,(function(e,n,i){if(t(e.value)){n(i);return r}else{return true}}));return this},first:function e(n){return this.limit(1).toArray((function(e){return e[0]})).then(n)},last:function e(n){return this.reverse().first(n)},filter:function n(t){e(this._ctx,(function(e){return t(e.value)}));r(this._ctx,t);return this},and:function e(n){return this.filter(n)},or:function e(n){return new Pe(this._ctx.table,n,this)},reverse:function e(){this._ctx.dir=this._ctx.dir==="prev"?"next":"prev";if(this._ondirectionchange)this._ondirectionchange(this._ctx.dir);return this},desc:function e(){return this.reverse()},eachKey:function e(n){var t=this._ctx;t.keysOnly=!t.isMatch;return this.each((function(e,t){n(t.key,t)}))},eachUniqueKey:function e(n){this._ctx.unique="unique";return this.eachKey(n)},eachPrimaryKey:function e(n){var t=this._ctx;t.keysOnly=!t.isMatch;return this.each((function(e,t){n(t.primaryKey,t)}))},keys:function e(n){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each((function(e,n){r.push(n.key)})).then((function(){return r})).then(n)},primaryKeys:function e(n){var t=this._ctx;if(Z&&t.dir==="next"&&Ee(t,true)&&t.limit>0){return this._read((function(e,n,r){var i=o(t,r);var u=t.limit0)E();else e(y)}}r.clone().raw()._iterate(P,(function(){m=true;S()}),E,u)}))},delete:function e(){var n=this;var t=this._ctx,r=t.range,i=t.table.hook.deleting.fire,o=i!==te;if(!o&&Ee(t)&&(t.isPrimKey&&!Tn||!r)){return this._write((function(e,n,t){var i=Un(n),o=r?t.count(r):t.count();o.onerror=i;o.onsuccess=function(){var u=o.result;_((function(){var n=r?t["delete"](r):t.clear();n.onerror=i;n.onsuccess=function(){return e(u)}}),(function(e){return n(e)}))}}))}var u=o?2e3:1e4;return this._write((function(e,r,a,s){var c=0;var f=n.clone({keysOnly:!t.isMatch&&!o}).distinct().limit(u).raw();var l=[];var h=function e(){return f.each(o?function(e,n){l.push([n.primaryKey,n.value])}:function(e,n){l.push(n.primaryKey)}).then((function(){o?l.sort((function(e,n){return Fe(e[0],n[0])})):l.sort(Fe);return ke(a,s,l,o,i)})).then((function(){var n=l.length;c+=n;l=[];return n0?e:n}function Fe(e,n){return d.cmp(e,n)}function Ne(e,n){return d.cmp(n,e)}function qe(e,n){return en?-1:e===n?0:1}function Ue(e,n){return e?n?function(){return e.apply(this,arguments)&&n.apply(this,arguments)}:e:n}function He(){V.verno=D.version/10;V._dbSchema=g={};E=p(D.objectStoreNames,0);if(E.length===0)return;var e=D.transaction(Gn(E),"readonly");E.forEach((function(n){var t=e.objectStore(n),r=t.keyPath,i=r&&typeof r==="string"&&r.indexOf(".")!==-1;var o=new Wn(r,r||"",false,false,!!t.autoIncrement,r&&typeof r!=="string",i);var u=[];for(var a=0;a