@openmrs/esm-offline 3.2.1-pre.950 → 3.2.1-pre.958
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["@openmrs/esm-api","@openmrs/esm-state"],(function(e,t){var n={},r={};return{setters:[function(e){n.getLoggedInUser=e.getLoggedInUser},function(e){r.createGlobalStore=e.createGlobalStore}],execute:function(){e((()=>{var e={968:(e,t,n)=>{const r=n(577).R;t.s=function(e){if(e||(e=1),!n.y.meta||!n.y.meta.url)throw console.error("__system_context__",n.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");n.p=r(n.y.meta.url,e)}},577:(e,t,n)=>{t.R=function(e,t){var n=document.createElement("a");n.href=e;for(var r="/"===n.pathname[0]?n.pathname:"/"+n.pathname,i=0,s=r.length;i!==t&&s>=0;)"/"===r[--s]&&i++;if(i!==t)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+t+") is greater than the number of directories ("+i+") in the URL path "+e);var o=r.slice(0,s+1);return n.protocol+"//"+n.host+o};Number.isInteger},766:e=>{"use strict";e.exports=n},685:e=>{"use strict";e.exports=r}},i={};function s(t){var n=i[t];if(void 0!==n)return n.exports;var r=i[t]={exports:{}};return e[t](r,r.exports,s),r.exports}s.y=t,s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;s.g.importScripts&&(e=s.g.location+"");var t=s.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})();var o={};return(0,s(968).s)(1),(()=>{"use strict";s.r(o),s.d(o,{activateOfflineCapability:()=>K,beginEditSynchronizationItem:()=>Vr,canBeginEditSynchronizationItemsOfType:()=>Hr,deleteSynchronizationItem:()=>Qr,dispatchNetworkRequestFailed:()=>x,generateOfflineUuid:()=>si,getCurrentOfflineMode:()=>P,getOfflineDb:()=>Rr,getOfflinePatientDataStore:()=>ui,getOfflineSynchronizationStore:()=>Mr,getOmrsServiceWorker:()=>y,getSynchronizationItem:()=>zr,getSynchronizationItems:()=>Wr,getSynchronizationItemsFor:()=>Lr,isOfflineUuid:()=>oi,loadPersistedPatientDataSyncState:()=>di,messageOmrsServiceWorker:()=>b,offlineUuidPrefix:()=>ii,omrsOfflineCachingStrategyHttpHeaderName:()=>g,omrsOfflineResponseBodyHttpHeaderName:()=>m,omrsOfflineResponseStatusHttpHeaderName:()=>v,patchXMLHttpRequest:()=>C,queueSynchronizationItem:()=>$r,queueSynchronizationItemFor:()=>Ur,registerOfflinePatientHandler:()=>ci,registerOmrsServiceWorker:()=>p,runSynchronization:()=>Fr,setCurrentOfflineMode:()=>O,setupOfflineSync:()=>Yr,subscribeNetworkRequestFailed:()=>k,syncOfflinePatientData:()=>li});try{self["workbox:window:6.4.1"]&&_()}catch(e){}function e(e,t){return new Promise((function(n){var r=new MessageChannel;r.port1.onmessage=function(e){n(e.data)},e.postMessage(t,[r.port2])}))}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(e,n){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){r&&(e=r);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}try{self["workbox:core:6.4.1"]&&_()}catch(e){}var r=function(){var e=this;this.promise=new Promise((function(t,n){e.resolve=t,e.reject=n}))};function i(e,t){var n=location.href;return new URL(e,n).href===new URL(t,n).href}var a=function(e,t){this.type=e,Object.assign(this,t)};function u(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function c(){}var l={type:"SKIP_WAITING"};function h(e,t){if(!t)return e&&e.then?e.then(c):Promise.resolve()}var d=function(t){var n,s;function o(e,n){var s,o;return void 0===n&&(n={}),(s=t.call(this)||this).nn={},s.tn=0,s.rn=new r,s.en=new r,s.on=new r,s.un=0,s.an=new Set,s.cn=function(){var e=s.fn,t=e.installing;s.tn>0||!i(t.scriptURL,s.sn.toString())||performance.now()>s.un+6e4?(s.vn=t,e.removeEventListener("updatefound",s.cn)):(s.hn=t,s.an.add(t),s.rn.resolve(t)),++s.tn,t.addEventListener("statechange",s.ln)},s.ln=function(e){var t=s.fn,n=e.target,r=n.state,i=n===s.vn,o={sw:n,isExternal:i,originalEvent:e};!i&&s.mn&&(o.isUpdate=!0),s.dispatchEvent(new a(r,o)),"installed"===r?s.wn=self.setTimeout((function(){"installed"===r&&t.waiting===n&&s.dispatchEvent(new a("waiting",o))}),200):"activating"===r&&(clearTimeout(s.wn),i||s.en.resolve(n))},s.dn=function(e){var t=s.hn,n=t!==navigator.serviceWorker.controller;s.dispatchEvent(new a("controlling",{isExternal:n,originalEvent:e,sw:t,isUpdate:s.mn})),n||s.on.resolve(t)},s.gn=(o=function(e){var t=e.data,n=e.ports,r=e.source;return u(s.getSW(),(function(){s.an.has(r)&&s.dispatchEvent(new a("message",{data:t,originalEvent:e,ports:n,sw:r}))}))},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}}),s.sn=e,s.nn=n,navigator.serviceWorker.addEventListener("message",s.gn),s}s=t,(n=o).prototype=Object.create(s.prototype),n.prototype.constructor=n,n.__proto__=s;var c,d=o.prototype;return d.register=function(e){var t=(void 0===e?{}:e).immediate,n=void 0!==t&&t;try{var r=this;return function(e,t){var n=e();return n&&n.then?n.then(t):t()}((function(){if(!n&&"complete"!==document.readyState)return h(new Promise((function(e){return window.addEventListener("load",e)})))}),(function(){return r.mn=Boolean(navigator.serviceWorker.controller),r.yn=r.pn(),u(r.bn(),(function(e){r.fn=e,r.yn&&(r.hn=r.yn,r.en.resolve(r.yn),r.on.resolve(r.yn),r.yn.addEventListener("statechange",r.ln,{once:!0}));var t=r.fn.waiting;return t&&i(t.scriptURL,r.sn.toString())&&(r.hn=t,Promise.resolve().then((function(){r.dispatchEvent(new a("waiting",{sw:t,wasWaitingBeforeRegister:!0}))})).then((function(){}))),r.hn&&(r.rn.resolve(r.hn),r.an.add(r.hn)),r.fn.addEventListener("updatefound",r.cn),navigator.serviceWorker.addEventListener("controllerchange",r.dn),r.fn}))}))}catch(e){return Promise.reject(e)}},d.update=function(){try{return this.fn?h(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},d.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},d.messageSW=function(t){try{return u(this.getSW(),(function(n){return e(n,t)}))}catch(e){return Promise.reject(e)}},d.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&e(this.fn.waiting,l)},d.pn=function(){var e=navigator.serviceWorker.controller;return e&&i(e.scriptURL,this.sn.toString())?e:void 0},d.bn=function(){try{var e=this;return function(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}((function(){return u(navigator.serviceWorker.register(e.sn,e.nn),(function(t){return e.un=performance.now(),t}))}),(function(e){throw e}))}catch(e){return Promise.reject(e)}},(c=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,c),o}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=n(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());let f;function p(e,t){if(void 0!==f)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),f;if(!("serviceWorker"in navigator))throw new Error("Registering the Service Worker is not possible due to missing browser capabilities.");const n=new d(e,t);return f=n.register().then((()=>n)),f}function y(){return f??Promise.resolve(void 0)}const m="x-omrs-offline-response-body",v="x-omrs-offline-response-status",g="x-omrs-offline-caching-strategy";async function b(e){const t=await y();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}const w="openmrs:network-request-failed";function x(e){window.dispatchEvent(new CustomEvent(w,{detail:e}))}function k(e){const t=t=>e(t.detail);return window.addEventListener(w,t),()=>window.removeEventListener(w,t)}const S="openmrs3:offline-mode";let E="unavailable";function P(){return{current:E,notAvailable:"unavailable"===E,active:"on"===E}}function O(e){"unavailable"!==E&&"unavailable"!==e&&(localStorage.setItem(S,"on"===e?"active":"disabled"),E=e)}async function K(){await async function(){return await async function(){return new Promise((e=>{const t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)}))}()||await async function(){return!window.indexedDB}()||await async function(){const e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}()}()||(E="active"===localStorage.getItem(S)?"on":"off"),navigator.onLine}function C(){const e=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.apply(this,n)}}const A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,j=Object.keys,I=Array.isArray;function D(e,t){return"object"!=typeof t||j(t).forEach((function(n){e[n]=t[n]})),e}"undefined"==typeof Promise||A.Promise||(A.Promise=Promise);const T=Object.getPrototypeOf,R={}.hasOwnProperty;function B(e,t){return R.call(e,t)}function M(e,t){"function"==typeof t&&(t=t(T(e))),("undefined"==typeof Reflect?j:Reflect.ownKeys)(t).forEach((n=>{N(e,n,t[n])}))}const F=Object.defineProperty;function N(e,t,n,r){F(e,t,D(n&&B(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function q(e){return{from:function(t){return e.prototype=Object.create(t.prototype),N(e.prototype,"constructor",e),{extend:M.bind(null,e.prototype)}}}}const U=Object.getOwnPropertyDescriptor;function $(e,t){let n;return U(e,t)||(n=T(e))&&$(n,t)}const L=[].slice;function W(e,t,n){return L.call(e,t,n)}function z(e,t){return t(e)}function H(e){if(!e)throw new Error("Assertion Failed")}function V(e){A.setImmediate?setImmediate(e):setTimeout(e,0)}function Q(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function Y(e,t){if(B(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var s=Y(e,t[r]);n.push(s)}return n}var o=t.indexOf(".");if(-1!==o){var a=e[t.substr(0,o)];return void 0===a?void 0:Y(a,t.substr(o+1))}}function G(e,t,n){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){H("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)G(e,t[r],n[r])}else{var s=t.indexOf(".");if(-1!==s){var o=t.substr(0,s),a=t.substr(s+1);if(""===a)void 0===n?I(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var u=e[o];u||(u=e[o]={}),G(u,a,n)}}else void 0===n?I(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function X(e){var t={};for(var n in e)B(e,n)&&(t[n]=e[n]);return t}const J=[].concat;function Z(e){return J.apply([],e)}const ee="Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(Z([8,16,32,64].map((e=>["Int","Uint","Float"].map((t=>t+e+"Array")))))).filter((e=>A[e])),te=ee.map((e=>A[e]));Q(ee,(e=>[e,!0]));let ne=null;function re(e){ne="undefined"!=typeof WeakMap&&new WeakMap;const t=ie(e);return ne=null,t}function ie(e){if(!e||"object"!=typeof e)return e;let t=ne&&ne.get(e);if(t)return t;if(I(e)){t=[],ne&&ne.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(ie(e[n]))}else if(te.indexOf(e.constructor)>=0)t=e;else{const n=T(e);for(var i in t=n===Object.prototype?{}:Object.create(n),ne&&ne.set(e,t),e)B(e,i)&&(t[i]=ie(e[i]))}return t}const{toString:se}={};function oe(e){return se.call(e).slice(8,-1)}const ae="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator",ue="symbol"==typeof ae?function(e){var t;return null!=e&&(t=e[ae])&&t.apply(e)}:function(){return null},ce={};function le(e){var t,n,r,i;if(1===arguments.length){if(I(e))return e.slice();if(this===ce&&"string"==typeof e)return[e];if(i=ue(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(null==e)return[e];if("number"==typeof(t=e.length)){for(n=new Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}const he="undefined"!=typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var de="undefined"!=typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function fe(e,t){de=e,pe=t}var pe=()=>!0;const ye=!new Error("").stack;function me(){if(ye)try{throw me.arguments,new Error}catch(e){return e}return new Error}function ve(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),n.split("\n").slice(t).filter(pe).map((e=>"\n"+e)).join("")):""}var ge=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],be=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(ge),we={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function _e(e,t){this._e=me(),this.name=e,this.message=t}function xe(e,t){return e+". Errors: "+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join("\n")}function ke(e,t,n,r){this._e=me(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=xe(e,t)}function Se(e,t){this._e=me(),this.name="BulkError",this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=xe(e,t)}q(_e).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+ve(this._e,2))}},toString:function(){return this.name+": "+this.message}}),q(ke).from(_e),q(Se).from(_e);var Ee=be.reduce(((e,t)=>(e[t]=t+"Error",e)),{});const Pe=_e;var Oe=be.reduce(((e,t)=>{var n=t+"Error";function r(e,r){this._e=me(),this.name=n,e?"string"==typeof e?(this.message=`${e}${r?"\n "+r:""}`,this.inner=r||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=we[t]||n,this.inner=null)}return q(r).from(Pe),e[t]=r,e}),{});Oe.Syntax=SyntaxError,Oe.Type=TypeError,Oe.Range=RangeError;var Ke=ge.reduce(((e,t)=>(e[t+"Error"]=Oe[t],e)),{}),Ce=be.reduce(((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=Oe[t]),e)),{});function Ae(){}function je(e){return e}function Ie(e,t){return null==e||e===je?t:function(n){return t(e(n))}}function De(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Te(e,t){return e===Ae?t:function(){var n=e.apply(this,arguments);void 0!==n&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var s=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?De(r,this.onsuccess):r),i&&(this.onerror=this.onerror?De(i,this.onerror):i),void 0!==s?s:n}}function Re(e,t){return e===Ae?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?De(n,this.onsuccess):n),r&&(this.onerror=this.onerror?De(r,this.onerror):r)}}function Be(e,t){return e===Ae?t:function(n){var r=e.apply(this,arguments);D(n,r);var i=this.onsuccess,s=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?De(i,this.onsuccess):i),s&&(this.onerror=this.onerror?De(s,this.onerror):s),void 0===r?void 0===o?void 0:o:D(r,o)}}function Me(e,t){return e===Ae?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Fe(e,t){return e===Ae?t:function(){var n=e.apply(this,arguments);if(n&&"function"==typeof n.then){for(var r=this,i=arguments.length,s=new Array(i);i--;)s[i]=arguments[i];return n.then((function(){return t.apply(r,s)}))}return t.apply(this,arguments)}}Ce.ModifyError=ke,Ce.DexieError=_e,Ce.BulkError=Se;var Ne={};const[qe,Ue,$e]="undefined"==typeof Promise?[]:(()=>{let e=Promise.resolve();if("undefined"==typeof crypto||!crypto.subtle)return[e,T(e),e];const t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,T(t),e]})(),Le=Ue&&Ue.then,We=qe&&qe.constructor,ze=!!$e;var He=!1,Ve=$e?()=>{$e.then(mt)}:A.setImmediate?setImmediate.bind(null,mt):A.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver((()=>{mt(),e=null})).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(mt,0)},Qe=function(e,t){rt.push([e,t]),Ge&&(Ve(),Ge=!1)},Ye=!0,Ge=!0,Xe=[],Je=[],Ze=null,et=je,tt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Ut,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Ut(e[0],e[1])}catch(e){}}))}},nt=tt,rt=[],it=0,st=[];function ot(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=Ae,this._lib=!1;var t=this._PSD=nt;if(de&&(this._stackHolder=me(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==Ne)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&<(this,this._value))}this._state=null,this._value=null,++t.ref,ct(this,e)}const at={get:function(){var e=nt,t=Pt;function n(n,r){var i=!e.global&&(e!==nt||t!==Pt);const s=i&&!At();var o=new ot(((t,o)=>{dt(this,new ut(Ft(n,e,i,s),Ft(r,e,i,s),t,o,e))}));return de&&yt(o,this),o}return n.prototype=Ne,n},set:function(e){N(this,"then",e&&e.prototype===Ne?at:{get:function(){return e},set:at.set})}};function ut(e,t,n,r,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=i}function ct(e,t){try{t((t=>{if(null===e._state){if(t===e)throw new TypeError("A promise cannot be resolved with itself.");var n=e._lib&&vt();t&&"function"==typeof t.then?ct(e,((e,n)=>{t instanceof ot?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,ht(e)),n&>()}}),lt.bind(null,e))}catch(t){lt(e,t)}}function lt(e,t){if(Je.push(t),null===e._state){var n=e._lib&&vt();t=et(t),e._state=!1,e._value=t,de&&null!==t&&"object"==typeof t&&!t._promise&&function(n,r,i){try{(()=>{var n=$(t,"stack");t._promise=e,N(t,"stack",{get:()=>He?n&&(n.get?n.get.apply(t):n.value):e.stack})}).apply(null,void 0)}catch(e){}}(),function(e){Xe.some((t=>t._value===e._value))||Xe.push(e)}(e),ht(e),n&>()}}function ht(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)dt(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),0===it&&(++it,Qe((()=>{0==--it&&bt()}),[]))}function dt(e,t){if(null!==e._state){var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++it,Qe(ft,[n,e,t])}else e._listeners.push(t)}function ft(e,t,n){try{Ze=t;var r,i=t._value;t._state?r=e(i):(Je.length&&(Je=[]),r=e(i),-1===Je.indexOf(i)&&function(e){for(var t=Xe.length;t;)if(Xe[--t]._value===e._value)return void Xe.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ze=null,0==--it&&bt(),--n.psd.ref||n.psd.finalize()}}function pt(e,t,n){if(t.length===n)return t;var r="";if(!1===e._state){var i,s,o=e._value;null!=o?(i=o.name||"Error",s=o.message||o,r=ve(o,0)):(i=o,s=""),t.push(i+(s?": "+s:"")+r)}return de&&((r=ve(e._stackHolder,2))&&-1===t.indexOf(r)&&t.push(r),e._prev&&pt(e._prev,t,n)),t}function yt(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function mt(){vt()&>()}function vt(){var e=Ye;return Ye=!1,Ge=!1,e}function gt(){var e,t,n;do{for(;rt.length>0;)for(e=rt,rt=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}}while(rt.length>0);Ye=!0,Ge=!0}function bt(){var e=Xe;Xe=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=st.slice(0),n=t.length;n;)t[--n]()}function wt(e){return new ot(Ne,!1,e)}function _t(e,t){var n=nt;return function(){var r=vt(),i=nt;try{return Tt(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{Tt(i,!1),r&>()}}}M(ot.prototype,{then:at,_then:function(e,t){dt(this,new ut(null,null,e,t,nt))},catch:function(e){if(1===arguments.length)return this.then(null,e);var t=arguments[0],n=arguments[1];return"function"==typeof t?this.then(null,(e=>e instanceof t?n(e):wt(e))):this.then(null,(e=>e&&e.name===t?n(e):wt(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),wt(t))))},stack:{get:function(){if(this._stack)return this._stack;try{He=!0;var e=pt(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{He=!1}}},timeout:function(e,t){return e<1/0?new ot(((n,r)=>{var i=setTimeout((()=>r(new Oe.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),"undefined"!=typeof Symbol&&Symbol.toStringTag&&N(ot.prototype,Symbol.toStringTag,"Dexie.Promise"),tt.env=Rt(),M(ot,{all:function(){var e=le.apply(null,arguments).map(jt);return new ot((function(t,n){0===e.length&&t([]);var r=e.length;e.forEach(((i,s)=>ot.resolve(i).then((n=>{e[s]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof ot)return e;if(e&&"function"==typeof e.then)return new ot(((t,n)=>{e.then(t,n)}));var t=new ot(Ne,!0,e);return yt(t,Ze),t},reject:wt,race:function(){var e=le.apply(null,arguments).map(jt);return new ot(((t,n)=>{e.map((e=>ot.resolve(e).then(t,n)))}))},PSD:{get:()=>nt,set:e=>nt=e},totalEchoes:{get:()=>Pt},newPSD:Kt,usePSD:Bt,scheduler:{get:()=>Qe,set:e=>{Qe=e}},rejectionMapper:{get:()=>et,set:e=>{et=e}},follow:(e,t)=>new ot(((n,r)=>Kt(((t,n)=>{var r=nt;r.unhandleds=[],r.onunhandled=n,r.finalize=De((function(){!function(e){st.push((function t(){e(),st.splice(st.indexOf(t),1)})),++it,Qe((()=>{0==--it&&bt()}),[])}((()=>{0===this.unhandleds.length?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),We&&(We.allSettled&&N(ot,"allSettled",(function(){const e=le.apply(null,arguments).map(jt);return new ot((t=>{0===e.length&&t([]);let n=e.length;const r=new Array(n);e.forEach(((e,i)=>ot.resolve(e).then((e=>r[i]={status:"fulfilled",value:e}),(e=>r[i]={status:"rejected",reason:e})).then((()=>--n||t(r)))))}))})),We.any&&"undefined"!=typeof AggregateError&&N(ot,"any",(function(){const e=le.apply(null,arguments).map(jt);return new ot(((t,n)=>{0===e.length&&n(new AggregateError([]));let r=e.length;const i=new Array(r);e.forEach(((e,s)=>ot.resolve(e).then((e=>t(e)),(e=>{i[s]=e,--r||n(new AggregateError(i))}))))}))})));const xt={awaits:0,echoes:0,id:0};var kt=0,St=[],Et=0,Pt=0,Ot=0;function Kt(e,t,n,r){var i=nt,s=Object.create(i);s.parent=i,s.ref=0,s.global=!1,s.id=++Ot;var o=tt.env;s.env=ze?{Promise:ot,PromiseProp:{value:ot,configurable:!0,writable:!0},all:ot.all,race:ot.race,allSettled:ot.allSettled,any:ot.any,resolve:ot.resolve,reject:ot.reject,nthen:Nt(o.nthen,s),gthen:Nt(o.gthen,s)}:{},t&&D(s,t),++i.ref,s.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=Bt(s,e,n,r);return 0===s.ref&&s.finalize(),a}function Ct(){return xt.id||(xt.id=++kt),++xt.awaits,xt.echoes+=100,xt.id}function At(){return!!xt.awaits&&(0==--xt.awaits&&(xt.id=0),xt.echoes=100*xt.awaits,!0)}function jt(e){return xt.echoes&&e&&e.constructor===We?(Ct(),e.then((e=>(At(),e)),(e=>(At(),$t(e))))):e}function It(e){++Pt,xt.echoes&&0!=--xt.echoes||(xt.echoes=xt.id=0),St.push(nt),Tt(e,!0)}function Dt(){var e=St[St.length-1];St.pop(),Tt(e,!1)}function Tt(e,t){var n=nt;if((t?!xt.echoes||Et++&&e===nt:!Et||--Et&&e===nt)||Mt(t?It.bind(null,e):Dt),e!==nt&&(nt=e,n===tt&&(tt.env=Rt()),ze)){var r=tt.env.Promise,i=e.env;Ue.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(A,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Rt(){var e=A.Promise;return ze?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(A,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Ue.then,gthen:e.prototype.then}:{}}function Bt(e,t,n,r,i){var s=nt;try{return Tt(e,!0),t(n,r,i)}finally{Tt(s,!1)}}function Mt(e){Le.call(qe,e)}function Ft(e,t,n,r){return"function"!=typeof e?e:function(){var i=nt;n&&Ct(),Tt(t,!0);try{return e.apply(this,arguments)}finally{Tt(i,!1),r&&Mt(At)}}}function Nt(e,t){return function(n,r){return e.call(this,Ft(n,t),Ft(r,t))}}-1===(""+Le).indexOf("[native code]")&&(Ct=At=Ae);const qt="unhandledrejection";function Ut(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(A.document&&document.createEvent?((r=document.createEvent("Event")).initEvent(qt,!0,!0),D(r,i)):A.CustomEvent&&D(r=new CustomEvent(qt,{detail:i}),i),r&&A.dispatchEvent&&(dispatchEvent(r),!A.PromiseRejectionEvent&&A.onunhandledrejection))try{A.onunhandledrejection(r)}catch(e){}de&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var $t=ot.reject;function Lt(e,t,n,r){if(e.idbdb&&(e._state.openComplete||nt.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create()}catch(e){return $t(e)}return i._promise(t,((e,t)=>Kt((()=>(nt.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return $t(new Oe.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return $t(new Oe.DatabaseClosed);e.open().catch(Ae)}return e._state.dbReadyPromise.then((()=>Lt(e,t,n,r)))}const Wt="3.2.0",zt=String.fromCharCode(65535),Ht=-1/0,Vt="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",Qt="String expected.",Yt=[],Gt="undefined"!=typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Xt=Gt,Jt=Gt,Zt=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),en="__dbnames",tn="readonly",nn="readwrite";function rn(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}const sn={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function on(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=re(t))[e],t)}class an{_trans(e,t,n){const r=this._tx||nt.trans,i=this.name;function s(e,n,r){if(!r.schema[i])throw new Oe.NotFound("Table "+i+" not part of transaction");return t(r.idbtrans,r)}const o=vt();try{return r&&r.db===this.db?r===nt.trans?r._promise(e,s,n):Kt((()=>r._promise(e,s,n)),{trans:r,transless:nt.transless||nt}):Lt(this.db,e,[this.name],s)}finally{o&>()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(I(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);const t=j(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);const n=this.schema.indexes.concat(this.schema.primKey).filter((e=>e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))&&e.keyPath.every((e=>t.indexOf(e)>=0))))[0];if(n&&this.db._maxKey!==zt)return this.where(n.name).equals(n.keyPath.map((t=>e[t])));!n&&de&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);const{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function s(e,t){try{return 0===i.cmp(e,t)}catch(e){return!1}}const[o,a]=t.reduce((([t,n],i)=>{const o=r[i],a=e[i];return[t||o,t||!o?rn(n,o&&o.multi?e=>{const t=Y(e,i);return I(t)&&t.some((e=>s(a,e)))}:e=>s(a,Y(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(a):n?this.filter(a):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,I(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;const t=t=>{if(!t)return t;const n=Object.create(e.prototype);for(var r in t)if(B(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass((function(e){D(this,e)}))}add(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let i=e;return r&&n&&(i=on(r)(e)),this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[i]}))).then((e=>e.numFailures?ot.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{G(e,r,t)}catch(e){}return t}))}update(e,t){if("object"!=typeof e||I(e))return this.where(":id").equals(e).modify(t);{const n=Y(e,this.schema.primKey.keyPath);if(void 0===n)return $t(new Oe.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?j(t).forEach((n=>{G(e,n,t[n])})):t(e,{value:e,primKey:n})}catch(e){}return this.where(":id").equals(n).modify(t)}}put(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let i=e;return r&&n&&(i=on(r)(e)),this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"put",values:[i],keys:null!=t?[t]:null}))).then((e=>e.numFailures?ot.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{G(e,r,t)}catch(e){}return t}))}delete(e){return this._trans("readwrite",(t=>this.core.mutate({trans:t,type:"delete",keys:[e]}))).then((e=>e.numFailures?ot.reject(e.failures[0]):void 0))}clear(){return this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"deleteRange",range:sn}))).then((e=>e.numFailures?ot.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans("readonly",(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){const r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",(t=>{const{auto:n,keyPath:s}=this.schema.primKey;if(s&&r)throw new Oe.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new Oe.InvalidArgument("Arguments objects and keys must have the same length");const o=e.length;let a=s&&n?e.map(on(s)):e;return this.core.mutate({trans:t,type:"add",keys:r,values:a,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return i?t:n;throw new Se(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){const r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",(t=>{const{auto:n,keyPath:s}=this.schema.primKey;if(s&&r)throw new Oe.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new Oe.InvalidArgument("Arguments objects and keys must have the same length");const o=e.length;let a=s&&n?e.map(on(s)):e;return this.core.mutate({trans:t,type:"put",keys:r,values:a,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return i?t:n;throw new Se(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){const t=e.length;return this._trans("readwrite",(t=>this.core.mutate({trans:t,type:"delete",keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(0===e)return n;throw new Se(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}}function un(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,s=new Array(i-1);--i;)s[i-1]=arguments[i];return t[n].subscribe.apply(null,s),e}if("string"==typeof n)return t[n]};n.addEventType=s;for(var r=1,i=arguments.length;r<i;++r)s(arguments[r]);return n;function s(e,r,i){if("object"==typeof e)return o(e);r||(r=Me),i||(i=Ae);var s={subscribers:[],fire:i,subscribe:function(e){-1===s.subscribers.indexOf(e)&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter((function(t){return t!==e})),s.fire=s.subscribers.reduce(r,i)}};return t[e]=n[e]=s,s}function o(e){j(e).forEach((function(t){var n=e[t];if(I(n))s(t,e[t][0],e[t][1]);else{if("asap"!==n)throw new Oe.InvalidArgument("Invalid event config");var r=s(t,je,(function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];r.subscribers.forEach((function(e){V((function(){e.apply(null,t)}))}))}))}}))}}function cn(e,t){return q(t).from({prototype:e}),t}function ln(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function hn(e,t){e.filter=rn(e.filter,t)}function dn(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>rn(r(),t()):t,e.justLimit=n&&!r}function fn(e,t){if(e.isPrimKey)return t.primaryKey;const n=t.getIndexByKeyPath(e.index);if(!n)throw new Oe.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function pn(e,t,n){const r=fn(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function yn(e,t,n,r){const i=e.replayFilter?rn(e.filter,e.replayFilter()):e.filter;if(e.or){const s={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,a=""+o;"[object ArrayBuffer]"===a&&(a=""+new Uint8Array(o)),B(s,a)||(s[a]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),mn(pn(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return mn(pn(e,r,n),rn(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function mn(e,t,n,r){var i=r?(e,t,i)=>n(r(e),t,i):n,s=_t(i);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=Ae}),(t=>{e.fail(t),n=Ae}))||s(e.value,e,(e=>n=e)),n()}))}))}function vn(e,t){try{const n=gn(e),r=gn(t);if(n!==r)return"Array"===n?1:"Array"===r?-1:"binary"===n?1:"binary"===r?-1:"string"===n?1:"string"===r?-1:"Date"===n?1:"Date"!==r?NaN:-1;switch(n){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){const n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(bn(e),bn(t));case"Array":return function(e,t){const n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){const r=vn(e[n],t[n]);if(0!==r)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function gn(e){const t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";const n=oe(e);return"ArrayBuffer"===n?"binary":n}function bn(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class wn{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,$t.bind(null,n.error)):n.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,$t.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=rn(t.algorithm,e)}_iterate(e,t){return yn(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&D(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>yn(t,e,n,t.table.core)))}count(e){return this._read((e=>{const t=this._ctx,n=t.table.core;if(ln(t,!0))return n.count({trans:e,query:{index:fn(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return yn(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){const n=e.split(".").reverse(),r=n[0],i=n.length-1;function s(e,t){return t?s(e[n[t]],t-1):e[r]}var o="next"===this._ctx.dir?1:-1;function a(e,t){var n=s(e,i),r=s(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(a)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if("next"===t.dir&&ln(t,!0)&&t.limit>0){const{valueMapper:n}=t,r=fn(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{const n=[];return yn(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,ln(t)?dn(t,(()=>{var t=e;return(e,n)=>0===t||(1===t?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):dn(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),dn(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return hn(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return hn(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=rn(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&ln(t,!0)&&t.limit>0)return this._read((e=>{var n=fn(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return hn(this._ctx,(function(e){var t=e.primaryKey.toString(),r=B(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if("function"==typeof e)r=e;else{var i=j(e),s=i.length;r=function(t){for(var n=!1,r=0;r<s;++r){var o=i[r],a=e[o];Y(t,o)!==a&&(G(t,o,a),n=!0)}return n}}const o=t.table.core,{outbound:a,extractKey:u}=o.schema.primaryKey,c=this.db._options.modifyChunkSize||200,l=[];let h=0;const d=[],f=(e,t)=>{const{failures:n,numFailures:r}=t;h+=e-r;for(let e of j(n))l.push(n[e])};return this.clone().primaryKeys().then((i=>{const s=l=>{const h=Math.min(c,i.length-l);return o.getMany({trans:n,keys:i.slice(l,l+h),cache:"immutable"}).then((d=>{const p=[],y=[],m=a?[]:null,v=[];for(let e=0;e<h;++e){const t=d[e],n={value:re(t),primKey:i[l+e]};!1!==r.call(n,n.value,n)&&(null==n.value?v.push(i[l+e]):a||0===vn(u(t),u(n.value))?(y.push(n.value),a&&m.push(i[l+e])):(v.push(i[l+e]),p.push(n.value)))}const g=ln(t)&&t.limit===1/0&&("function"!=typeof e||e===_n)&&{index:t.index,range:t.range};return Promise.resolve(p.length>0&&o.mutate({trans:n,type:"add",values:p}).then((e=>{for(let t in e.failures)v.splice(parseInt(t),1);f(p.length,e)}))).then((()=>(y.length>0||g&&"object"==typeof e)&&o.mutate({trans:n,type:"put",keys:m,values:y,criteria:g,changeSpec:"function"!=typeof e&&e}).then((e=>f(y.length,e))))).then((()=>(v.length>0||g&&e===_n)&&o.mutate({trans:n,type:"delete",keys:v,criteria:g}).then((e=>f(v.length,e))))).then((()=>i.length>l+h&&s(l+c)))}))};return s(0).then((()=>{if(l.length>0)throw new ke("Error modifying one or more objects",l,h,d);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return ln(e)&&(e.isPrimKey&&!Jt||3===t.type)?this._write((n=>{const{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:"deleteRange",range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new ke("Could not delete some values",Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(_n)}}const _n=(e,t)=>t.value=null;function xn(e,t){return e<t?-1:e===t?0:1}function kn(e,t){return e>t?-1:e===t?0:1}function Sn(e,t,n){var r=e instanceof An?new e.Collection(e):e;return r._ctx.error=n?new n(t):new TypeError(t),r}function En(e){return new e.Collection(e,(()=>Cn(""))).limit(0)}function Pn(e,t,n,r,i,s){for(var o=Math.min(e.length,r.length),a=-1,u=0;u<o;++u){var c=t[u];if(c!==r[u])return i(e[u],n[u])<0?e.substr(0,u)+n[u]+n.substr(u+1):i(e[u],r[u])<0?e.substr(0,u)+r[u]+n.substr(u+1):a>=0?e.substr(0,a)+t[a]+n.substr(a+1):null;i(e[u],c)<0&&(a=u)}return o<r.length&&"next"===s?e+n.substr(e.length):o<e.length&&"prev"===s?e.substr(0,n.length):a<0?null:e.substr(0,a)+r[a]+n.substr(a+1)}function On(e,t,n,r){var i,s,o,a,u,c,l,h=n.length;if(!n.every((e=>"string"==typeof e)))return Sn(e,Qt);function d(e){i=function(e){return"next"===e?e=>e.toUpperCase():e=>e.toLowerCase()}(e),s=function(e){return"next"===e?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o="next"===e?xn:kn;var t=n.map((function(e){return{lower:s(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));a=t.map((function(e){return e.upper})),u=t.map((function(e){return e.lower})),c=e,l="next"===e?"":r}d("next");var f=new e.Collection(e,(()=>Kn(a[0],u[h-1]+r)));f._ondirectionchange=function(e){d(e)};var p=0;return f._addAlgorithm((function(e,n,r){var i=e.key;if("string"!=typeof i)return!1;var d=s(i);if(t(d,u,p))return!0;for(var f=null,y=p;y<h;++y){var m=Pn(i,d,a[y],u[y],o,c);null===m&&null===f?p=y+1:(null===f||o(f,m)>0)&&(f=m)}return n(null!==f?function(){e.continue(f+l)}:r),!1})),f}function Kn(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Cn(e){return{type:1,lower:e,upper:e}}class An{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?En(this):new this.Collection(this,(()=>Kn(e,t,!n,!r)))}catch(e){return Sn(this,Vt)}}equals(e){return null==e?Sn(this,Vt):new this.Collection(this,(()=>Cn(e)))}above(e){return null==e?Sn(this,Vt):new this.Collection(this,(()=>Kn(e,void 0,!0)))}aboveOrEqual(e){return null==e?Sn(this,Vt):new this.Collection(this,(()=>Kn(e,void 0,!1)))}below(e){return null==e?Sn(this,Vt):new this.Collection(this,(()=>Kn(void 0,e,!1,!0)))}belowOrEqual(e){return null==e?Sn(this,Vt):new this.Collection(this,(()=>Kn(void 0,e)))}startsWith(e){return"string"!=typeof e?Sn(this,Qt):this.between(e,e+zt,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):On(this,((e,t)=>0===e.indexOf(t[0])),[e],zt)}equalsIgnoreCase(e){return On(this,((e,t)=>e===t[0]),[e],"")}anyOfIgnoreCase(){var e=le.apply(ce,arguments);return 0===e.length?En(this):On(this,((e,t)=>-1!==t.indexOf(e)),e,"")}startsWithAnyOfIgnoreCase(){var e=le.apply(ce,arguments);return 0===e.length?En(this):On(this,((e,t)=>t.some((t=>0===e.indexOf(t)))),e,zt)}anyOf(){const e=le.apply(ce,arguments);let t=this._cmp;try{e.sort(t)}catch(e){return Sn(this,Vt)}if(0===e.length)return En(this);const n=new this.Collection(this,(()=>Kn(e[0],e[e.length-1])));n._ondirectionchange=n=>{t="next"===n?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,s)=>{const o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(s),!1;return 0===t(o,e[r])||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[Ht,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){const e=le.apply(ce,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return Sn(this,Vt)}const t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Ht,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){const n=this._cmp,r=this._ascending,i=this._descending,s=this._min,o=this._max;if(0===e.length)return En(this);if(!e.every((e=>void 0!==e[0]&&void 0!==e[1]&&r(e[0],e[1])<=0)))return Sn(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",Oe.InvalidArgument);const a=!t||!1!==t.includeLowers,u=t&&!0===t.includeUppers;let c,l=r;function h(e,t){return l(e[0],t[0])}try{c=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){const i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=s(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),c.sort(h)}catch(e){return Sn(this,Vt)}let d=0;const f=u?e=>r(e,c[d][1])>0:e=>r(e,c[d][1])>=0,p=a?e=>i(e,c[d][0])>0:e=>i(e,c[d][0])>=0;let y=f;const m=new this.Collection(this,(()=>Kn(c[0][0],c[c.length-1][1],!a,!u)));return m._ondirectionchange=e=>{"next"===e?(y=f,l=r):(y=p,l=i),c.sort(h)},m._addAlgorithm(((e,t,n)=>{for(var i=e.key;y(i);)if(++d,d===c.length)return t(n),!1;return!!function(e){return!f(e)&&!p(e)}(i)||(0===this._cmp(i,c[d][1])||0===this._cmp(i,c[d][0])||t((()=>{l===r?e.continue(c[d][0]):e.continue(c[d][1])})),!1)})),m}startsWithAnyOf(){const e=le.apply(ce,arguments);return e.every((e=>"string"==typeof e))?0===e.length?En(this):this.inAnyRange(e.map((e=>[e,e+zt]))):Sn(this,"startsWithAnyOf() only works with strings")}}function jn(e){return _t((function(t){return In(t),e(t.target.error),!1}))}function In(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}const Dn="storagemutated",Tn="x-storagemutated-1",Rn=un(null,Dn);class Bn{_lock(){return H(!nt.global),++this._reculock,1!==this._reculock||nt.global||(nt.lockOwnerFor=this),this}_unlock(){if(H(!nt.global),0==--this._reculock)for(nt.global||(nt.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Bt(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&nt.lockOwnerFor!==this}create(e){if(!this.mode)return this;const t=this.db.idbdb,n=this.db._state.dbOpenError;if(H(!this.idbtrans),!e&&!t)switch(n&&n.name){case"DatabaseClosedError":throw new Oe.DatabaseClosed(n);case"MissingAPIError":throw new Oe.MissingAPI(n.message,n);default:throw new Oe.OpenFailed(n)}if(!this.active)throw new Oe.TransactionInactive;return H(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=_t((t=>{In(t),this._reject(e.error)})),e.onabort=_t((t=>{In(t),this.active&&this._reject(new Oe.Abort(e.error)),this.active=!1,this.on("abort").fire(t)})),e.oncomplete=_t((()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&Rn.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if("readwrite"===e&&"readwrite"!==this.mode)return $t(new Oe.ReadOnly("Transaction is readonly"));if(!this.active)return $t(new Oe.TransactionInactive);if(this._locked())return new ot(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},nt])}));if(n)return Kt((()=>{var e=new ot(((e,n)=>{this._lock();const r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new ot(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();const n=ot.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)}()}var i=t._waitingFor;return new ot(((e,r)=>{n.then((n=>t._waitingQueue.push(_t(e.bind(null,n)))),(e=>t._waitingQueue.push(_t(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new Oe.Abort))}table(e){const t=this._memoizedTables||(this._memoizedTables={});if(B(t,e))return t[e];const n=this.schema[e];if(!n)throw new Oe.NotFound("Table "+e+" not part of transaction");const r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}}function Mn(e,t,n,r,i,s,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:s,src:(n&&!o?"&":"")+(r?"*":"")+(i?"++":"")+Fn(t)}}function Fn(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function Nn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Q(n,(e=>[e.name,e]))}}let qn=e=>{try{return e.only([[]]),qn=()=>[[]],[[]]}catch(e){return qn=()=>zt,zt}};function Un(e){return null==e?()=>{}:"string"==typeof e?function(e){return 1===e.split(".").length?t=>t[e]:t=>Y(t,e)}(e):t=>Y(t,e)}function $n(e){return[].slice.call(e)}let Ln=0;function Wn(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function zn({_novip:e},t){const n=t.db,r=function(e,t,{IDBKeyRange:n,indexedDB:r},i){const s=function(e,t){return t.reduce(((e,{create:t})=>({...e,...t(e)})),e)}(function(e,t,n){function r(e){if(3===e.type)return null;if(4===e.type)throw new Error("Cannot convert never type to IDBKeyRange");const{lower:n,upper:r,lowerOpen:i,upperOpen:s}=e;return void 0===n?void 0===r?null:t.upperBound(r,!!s):void 0===r?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!s)}const{schema:i,hasGetAll:s}=function(e,t){const n=$n(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{const{keyPath:t,autoIncrement:n}=e,r=I(t),i=null==t,s={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:Un(t)},indexes:$n(e.indexNames).map((t=>e.index(t))).map((e=>{const{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:I(i),keyPath:i,unique:n,multiEntry:r,extractKey:Un(i)};return s[Wn(i)]=o,o})),getIndexByKeyPath:e=>s[Wn(e)]};return s[":id"]=o.primaryKey,null!=t&&(s[Wn(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&"getAll"in t.objectStore(n[0])&&!("undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){const t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:s,range:o}){return new Promise(((a,u)=>{a=_t(a);const c=e.objectStore(t),l=null==c.keyPath,h="put"===n||"add"===n;if(!h&&"delete"!==n&&"deleteRange"!==n)throw new Error("Invalid operation type: "+n);const{length:d}=i||s||{length:1};if(i&&s&&i.length!==s.length)throw new Error("Given keys array must have same length as given values array.");if(0===d)return a({numFailures:0,failures:{},results:[],lastResult:void 0});let f;const p=[],y=[];let m=0;const v=e=>{++m,In(e)};if("deleteRange"===n){if(4===o.type)return a({numFailures:m,failures:y,results:[],lastResult:void 0});3===o.type?p.push(f=c.clear()):p.push(f=c.delete(r(o)))}else{const[e,t]=h?l?[s,i]:[s,null]:[i,null];if(h)for(let r=0;r<d;++r)p.push(f=t&&void 0!==t[r]?c[n](e[r],t[r]):c[n](e[r])),f.onerror=v;else for(let t=0;t<d;++t)p.push(f=c[n](e[t])),f.onerror=v}const g=e=>{const t=e.target.result;p.forEach(((e,t)=>null!=e.error&&(y[t]=e.error))),a({numFailures:m,failures:y,results:"delete"===n?i:p.map((e=>e.result)),lastResult:t})};f.onerror=e=>{v(e),g(e)},f.onsuccess=g}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=_t(r);const s=e.objectStore(t),o=n.length,a=new Array(o);let u,c=0,l=0;const h=e=>{const t=e.target;a[t._pos]=t.result,++l===c&&r(a)},d=jn(i);for(let e=0;e<o;++e)null!=n[e]&&(u=s.get(n[e]),u._pos=e,u.onsuccess=h,u.onerror=d,++c);0===c&&r(a)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=_t(r);const s=e.objectStore(t).get(n);s.onsuccess=e=>r(e.target.result),s.onerror=jn(i)})),query:function(e){return n=>new Promise(((i,s)=>{i=_t(i);const{trans:o,values:a,limit:u,query:c}=n,l=u===1/0?void 0:u,{index:h,range:d}=c,f=o.objectStore(t),p=h.isPrimaryKey?f:f.index(h.name),y=r(d);if(0===u)return i({result:[]});if(e){const e=a?p.getAll(y,l):p.getAllKeys(y,l);e.onsuccess=e=>i({result:e.target.result}),e.onerror=jn(s)}else{let e=0;const t=a||!("openKeyCursor"in p)?p.openCursor(y):p.openKeyCursor(y),n=[];t.onsuccess=r=>{const s=t.result;return s?(n.push(a?s.value:s.primaryKey),++e===u?i({result:n}):void s.continue()):i({result:n})},t.onerror=jn(s)}}))}(s),openCursor:function({trans:e,values:n,query:i,reverse:s,unique:o}){return new Promise(((a,u)=>{a=_t(a);const{index:c,range:l}=i,h=e.objectStore(t),d=c.isPrimaryKey?h:h.index(c.name),f=s?o?"prevunique":"prev":o?"nextunique":"next",p=n||!("openKeyCursor"in d)?d.openCursor(r(l),f):d.openKeyCursor(r(l),f);p.onerror=jn(u),p.onsuccess=_t((t=>{const n=p.result;if(!n)return void a(null);n.___id=++Ln,n.done=!1;const r=n.continue.bind(n);let i=n.continuePrimaryKey;i&&(i=i.bind(n));const s=n.advance.bind(n),o=()=>{throw new Error("Cursor not stopped")};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw new Error("Cursor not started")},n.fail=_t(u),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{const t=new Promise(((e,t)=>{e=_t(e),p.onerror=jn(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),a=()=>{if(p.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw new Error("Cursor behind last entry")},n.stop()};return p.onsuccess=_t((e=>{p.onsuccess=a,a()})),n.continue=r,n.continuePrimaryKey=i,n.advance=s,a(),t},a(n)}),u)}))},count({query:e,trans:n}){const{index:i,range:s}=e;return new Promise(((e,o)=>{const a=n.objectStore(t),u=i.isPrimaryKey?a:a.index(i.name),c=r(s),l=c?u.count(c):u.count();l.onsuccess=_t((t=>e(t.target.result))),l.onerror=jn(o)}))}}}(e))),a={};return o.forEach((e=>a[e.name]=e)),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!a[e])throw new Error(`Table '${e}' not found`);return a[e]},MIN_KEY:-1/0,MAX_KEY:qn(t),schema:i}}(t,n,i),e.dbcore);return{dbcore:s}}(e._middlewares,n,e._deps,t);e.core=r.dbcore,e.tables.forEach((t=>{const n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Hn({_novip:e},t,n,r){n.forEach((n=>{const i=r[n];t.forEach((t=>{const r=$(t,n);(!r||"value"in r&&void 0===r.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?N(t,n,{get(){return this.table(n)},set(e){F(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Vn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Qn(e,t){return e._cfg.version-t._cfg.version}function Yn(e,t){const n={del:[],add:[],change:[]};let r;for(r in e)t[r]||n.del.push(r);for(r in t){const i=e[r],s=t[r];if(i){const e={name:r,def:s,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(s.primKey.keyPath||"")||i.primKey.auto!==s.primKey.auto&&!Gt)e.recreate=!0,n.change.push(e);else{const t=i.idxByName,r=s.idxByName;let o;for(o in t)r[o]||e.del.push(o);for(o in r){const n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,s])}return n}function Gn(e,t,n,r){const i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Xn(i,e))),i}function Xn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Jn(e,t,n){const r={};return W(t.objectStoreNames,0).forEach((e=>{const t=n.objectStore(e);let i=t.keyPath;const s=Mn(Fn(i),i||"",!1,!1,!!t.autoIncrement,i&&"string"!=typeof i,!0),o=[];for(let e=0;e<t.indexNames.length;++e){const n=t.index(t.indexNames[e]);i=n.keyPath;var a=Mn(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&"string"!=typeof i,!1);o.push(a)}r[e]=Nn(e,s,o)})),r}function Zn({_novip:e},t,n){const r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){const s=r[i],o=n.objectStore(s);e._hasGetAll="getAll"in o;for(let e=0;e<o.indexNames.length;++e){const n=o.indexNames[e],r=o.index(n).keyPath,i="string"==typeof r?r:"["+W(r).join("+")+"]";if(t[s]){const e=t[s].idxByName[i];e&&(e.name=n,delete t[s].idxByName[i],t[s].idxByName[n]=e)}}}"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&A.WorkerGlobalScope&&A instanceof A.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class er{_parseStoresSpec(e,t){j(e).forEach((n=>{if(null!==e[n]){var r=e[n].split(",").map(((e,t)=>{const n=(e=e.trim()).replace(/([&*]|\+\+)/g,""),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return Mn(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),I(r),0===t)})),i=r.shift();if(i.multi)throw new Oe.Schema("Primary key cannot be multi-valued");r.forEach((e=>{if(e.auto)throw new Oe.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new Oe.Schema("Index must have a name and cannot be an empty string")})),t[n]=Nn(n,i,r)}}))}stores(e){const t=this.db;this._cfg.storesSource=this._cfg.storesSource?D(this._cfg.storesSource,e):e;const n=t._versions,r={};let i={};return n.forEach((e=>{D(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Vn(t,[t._allTables,t,t.Transaction.prototype]),Hn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],j(i),i),t._storeNames=j(i),this}upgrade(e){return this._cfg.contentUpgrade=Fe(this._cfg.contentUpgrade||Ae,e),this}}function tr(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new kr(en,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:"name"})),n.table("dbnames")}function nr(e){return e&&"function"==typeof e.databases}function rr(e){return Kt((function(){return nt.letThrough=!0,e()}))}function ir(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function sr(e){const t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?$t(t.dbOpenError):e));de&&(t.openCanceller._stackHolder=me()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;const r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new Oe.DatabaseClosed("db.open() was cancelled")}let s=t.dbReadyResolve,o=null,a=!1;return ot.race([r,("undefined"==typeof navigator?ot.resolve():ir()).then((()=>new ot(((r,s)=>{if(i(),!n)throw new Oe.MissingAPI;const u=e.name,c=t.autoSchema?n.open(u):n.open(u,Math.round(10*e.verno));if(!c)throw new Oe.MissingAPI;c.onerror=jn(s),c.onblocked=_t(e._fireOnBlocked),c.onupgradeneeded=_t((r=>{if(o=c.transaction,t.autoSchema&&!e._options.allowEmptyDB){c.onerror=In,o.abort(),c.result.close();const e=n.deleteDatabase(u);e.onsuccess=e.onerror=_t((()=>{s(new Oe.NoSuchDatabase(`Database ${u} doesnt exist`))}))}else{o.onerror=jn(s);var i=r.oldVersion>Math.pow(2,62)?0:r.oldVersion;a=i<1,e._novip.idbdb=c.result,function(e,t,n,r){const i=e._dbSchema,s=e._createTransaction("readwrite",e._storeNames,i);s.create(n),s._completion.catch(r);const o=s._reject.bind(s),a=nt.transless||nt;Kt((()=>{nt.trans=s,nt.transless=a,0===t?(j(i).forEach((e=>{Gn(n,e,i[e].primKey,i[e].indexes)})),zn(e,n),ot.follow((()=>e.on.populate.fire(s))).catch(o)):function({_novip:e},t,n,r){const i=[],s=e._versions;let o=e._dbSchema=Jn(0,e.idbdb,r),a=!1;const u=s.filter((e=>e._cfg.version>=t));return u.forEach((s=>{i.push((()=>{const i=o,u=s._cfg.dbschema;Zn(e,i,r),Zn(e,u,r),o=e._dbSchema=u;const c=Yn(i,u);c.add.forEach((e=>{Gn(r,e[0],e[1].primKey,e[1].indexes)})),c.change.forEach((e=>{if(e.recreate)throw new Oe.Upgrade("Not yet support for changing primary key");{const t=r.objectStore(e.name);e.add.forEach((e=>Xn(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Xn(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));const l=s._cfg.contentUpgrade;if(l&&s._cfg.version>t){zn(e,r),n._memoizedTables={},a=!0;let t=X(u);c.del.forEach((e=>{t[e]=i[e]})),Vn(e,[e.Transaction.prototype]),Hn(e,[e.Transaction.prototype],j(t),t),n.schema=t;const s=he(l);let o;s&&Ct();const h=ot.follow((()=>{if(o=l(n),o&&s){var e=At.bind(null,null);o.then(e,e)}}));return o&&"function"==typeof o.then?ot.resolve(o):h.then((()=>o))}})),i.push((t=>{a&&Xt||function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>null==e[n]&&t.db.deleteObjectStore(n)))}(s._cfg.dbschema,t),Vn(e,[e.Transaction.prototype]),Hn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),function e(){return i.length?ot.resolve(i.shift()(n.idbtrans)).then(e):ot.resolve()}().then((()=>{var e,t;t=r,j(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Gn(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,s,n).catch(o)}))}(e,i/10,o,s)}}),s),c.onsuccess=_t((()=>{o=null;const n=e._novip.idbdb=c.result,i=W(n.objectStoreNames);if(i.length>0)try{const r=n.transaction(1===(s=i).length?s[0]:s,"readonly");t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;const r=e._dbSchema=Jn(0,t,n);e._storeNames=W(t.objectStoreNames,0),Hn(e,[e._allTables],j(r),r)}(e,n,r):(Zn(e,e._dbSchema,r),function(e,t){const n=Yn(Jn(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),zn(e,r)}catch(e){}var s;Yt.push(e),n.onversionchange=_t((n=>{t.vcFired=!0,e.on("versionchange").fire(n)})),n.onclose=_t((t=>{e.on("close").fire(t)})),a&&function({indexedDB:e,IDBKeyRange:t},n){!nr(e)&&n!==en&&tr(e,t).put({name:n}).catch(Ae)}(e._deps,u),r()}),s)}))))]).then((()=>(i(),t.onReadyBeingFired=[],ot.resolve(rr((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Fe,Ae);return t.onReadyBeingFired=[],ot.resolve(rr((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),$t(n)})).finally((()=>{t.openComplete=!0,s()}))}function or(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),s=i.value;return i.done?s:s&&"function"==typeof s.then?s.then(n,r):I(s)?Promise.all(s).then(n,r):n(s)}}return i(t)()}function ar(e,t,n){var r=arguments.length;if(r<2)throw new Oe.InvalidArgument("Too few arguments");for(var i=new Array(r-1);--r;)i[r-1]=arguments[r];n=i.pop();var s=Z(i);return[e,s,n]}function ur(e,t,n,r,i){return ot.resolve().then((()=>{const s=nt.transless||nt,o=e._createTransaction(t,n,e._dbSchema,r),a={trans:o,transless:s};r?o.idbtrans=r.idbtrans:o.create();const u=he(i);let c;u&&Ct();const l=ot.follow((()=>{if(c=i.call(o,o),c)if(u){var e=At.bind(null,null);c.then(e,e)}else"function"==typeof c.next&&"function"==typeof c.throw&&(c=or(c))}),a);return(c&&"function"==typeof c.then?ot.resolve(c).then((e=>o.active?e:$t(new Oe.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))):l.then((()=>c))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),$t(e))))}))}function cr(e,t,n){const r=I(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}const lr={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){const n=e.table(t),{schema:r}=n,i={},s=[];function o(e,t,n){const r=Wn(e),a=i[r]=i[r]||[],u=null==e?0:"string"==typeof e?1:e.length,c=t>0,l={...n,isVirtual:c,keyTail:t,keyLength:u,extractKey:Un(e),unique:!c&&n.unique};return a.push(l),l.isPrimaryKey||s.push(l),u>1&&o(2===u?e[0]:e.slice(0,u-1),t+1,n),a.sort(((e,t)=>e.keyTail-t.keyTail)),l}const a=o(r.primaryKey.keyPath,0,r.primaryKey);i[":id"]=[a];for(const e of r.indexes)o(e.keyPath,0,e);function u(t){const n=t.query.index;return n.isVirtual?{...t,query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:1===r.type?2:r.type,lower:cr(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:cr(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}:t;var r,i}const c={...n,schema:{...r,primaryKey:a,indexes:s,getIndexByKeyPath:function(e){const t=i[Wn(e)];return t&&t[0]}},count:e=>n.count(u(e)),query:e=>n.query(u(e)),openCursor(t){const{keyTail:r,isVirtual:i,keyLength:s}=t.query.index;return i?n.openCursor(u(t)).then((n=>n&&function(n){const i=Object.create(n,{continue:{value:function(i){null!=i?n.continue(cr(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r)):t.unique?n.continue(n.key.slice(0,s).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue()}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(cr(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){const e=n.key;return 1===s?e[0]:e.slice(0,s)}},value:{get:()=>n.value}});return i}(n))):n.openCursor(t)}};return c}}}};function hr(e,t,n,r){return n=n||{},r=r||"",j(e).forEach((i=>{if(B(t,i)){var s=e[i],o=t[i];if("object"==typeof s&&"object"==typeof o&&s&&o){const e=oe(s);e!==oe(o)?n[r+i]=t[i]:"Object"===e?hr(s,o,n,r+i+"."):s!==o&&(n[r+i]=t[i])}else s!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),j(t).forEach((i=>{B(e,i)||(n[r+i]=t[i])})),n}const dr={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){const n=e.table(t),{primaryKey:r}=n.schema,i={...n,mutate(e){const i=nt.trans,{deleting:s,creating:o,updating:a}=i.table(t).hook;switch(e.type){case"add":if(o.fire===Ae)break;return i._promise("readwrite",(()=>u(e)),!0);case"put":if(o.fire===Ae&&a.fire===Ae)break;return i._promise("readwrite",(()=>u(e)),!0);case"delete":if(s.fire===Ae)break;return i._promise("readwrite",(()=>u(e)),!0);case"deleteRange":if(s.fire===Ae)break;return i._promise("readwrite",(()=>function(e){return c(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function u(e){const t=nt.trans,i=e.keys||function(e,t){return"delete"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw new Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:i}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return"add"===t.type?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:"immutable"})}(n,e,i).then((u=>{const c=i.map(((n,i)=>{const c=u[i],l={onerror:null,onsuccess:null};if("delete"===e.type)s.fire.call(l,n,c,t);else if("add"===e.type||void 0===c){const s=o.fire.call(l,n,e.values[i],t);null==n&&null!=s&&(n=s,e.keys[i]=n,r.outbound||G(e.values[i],r.keyPath,n))}else{const r=hr(c,e.values[i]),s=a.fire.call(l,r,n,c,t);if(s){const t=e.values[i];Object.keys(s).forEach((e=>{B(t,e)?t[e]=s[e]:G(t,e,s[e])}))}}return l}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:s})=>{for(let r=0;r<i.length;++r){const s=n?n[r]:i[r],o=c[r];null==s?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess("put"===e.type&&u[r]?e.values[r]:s)}return{failures:t,results:n,numFailures:r,lastResult:s}})).catch((e=>(c.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function c(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>u({type:"delete",keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:c(e,{...t,lower:n[n.length-1],lowerOpen:!0},i)))))}}};return i}})};function fr(e,t,n){try{if(!t)return null;if(t.keys.length<e.length)return null;const r=[];for(let i=0,s=0;i<t.keys.length&&s<e.length;++i)0===vn(t.keys[i],e[s])&&(r.push(n?re(t.values[i]):t.values[i]),++s);return r.length===e.length?r:null}catch(e){return null}}const pr={stack:"dbcore",level:-1,create:e=>({table:t=>{const n=e.table(t);return{...n,getMany:e=>{if(!e.cache)return n.getMany(e);const t=fr(e.keys,e.trans._cache,"clone"===e.cache);return t?ot.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?re(t):t},t)))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),n.mutate(e))}}})};function yr(e){return!("from"in e)}const mr=function(e,t){if(!this){const t=new mr;return e&&"d"in e&&D(t,e),t}D(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function vr(e,t,n){const r=vn(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(yr(e))return D(e,{from:t,to:n,d:1});const i=e.l,s=e.r;if(vn(n,e.from)<0)return i?vr(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},wr(e);if(vn(t,e.to)>0)return s?vr(s,t,n):e.r={from:t,to:n,d:1,l:null,r:null},wr(e);vn(t,e.from)<0&&(e.from=t,e.l=null,e.d=s?s.d+1:1),vn(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);const o=!e.r;i&&!e.l&&gr(e,i),s&&o&&gr(e,s)}function gr(e,t){yr(t)||function e(t,{from:n,to:r,l:i,r:s}){vr(t,n,r),i&&e(t,i),s&&e(t,s)}(e,t)}function br(e){let t=yr(e)?null:{s:0,n:e};return{next(e){const n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&vn(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||vn(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function wr(e){var t,n;const r=((null===(t=e.r)||void 0===t?void 0:t.d)||0)-((null===(n=e.l)||void 0===n?void 0:n.d)||0),i=r>1?"r":r<-1?"l":"";if(i){const t="r"===i?"l":"r",n={...e},r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=_r(n)}e.d=_r(e)}function _r({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}M(mr.prototype,{add(e){return gr(this,e),this},addKey(e){return vr(this,e,e),this},addKeys(e){return e.forEach((e=>vr(this,e,e))),this},[ae](){return br(this)}});const xr={stack:"dbcore",level:0,create:e=>{const t=e.schema.name,n=new mr(e.MIN_KEY,e.MAX_KEY);return{...e,table:r=>{const i=e.table(r),{schema:s}=i,{primaryKey:o}=s,{extractKey:a,outbound:u}=o,c={...i,mutate:e=>{const o=e.trans,a=o.mutatedParts||(o.mutatedParts={}),u=e=>{const n=`idb://${t}/${r}/${e}`;return a[n]||(a[n]=new mr)},c=u(""),l=u(":dels"),{type:h}=e;let[d,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[];const p=e.trans._cache;return i.mutate(e).then((e=>{if(I(d)){"delete"!==h&&(d=e.results),c.addKeys(d);const t=fr(d,p);t||"add"===h||l.addKeys(d),(t||f)&&function(e,t,n,r){t.indexes.forEach((function(t){const i=e(t.name||"");function s(e){return null!=e?t.extractKey(e):null}const o=e=>t.multiEntry&&I(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{const i=n&&s(n[t]),a=r&&s(r[t]);0!==vn(i,a)&&(null!=i&&o(i),null!=a&&o(a))}))}))}(u,s,t,f)}else if(d){const e={from:d.lower,to:d.upper};l.add(e),c.add(e)}else c.add(n),l.add(n),s.indexes.forEach((e=>u(e.name).add(n)));return e}))}},l=({query:{index:t,range:n}})=>{var r,i;return[t,new mr(null!==(r=n.lower)&&void 0!==r?r:e.MIN_KEY,null!==(i=n.upper)&&void 0!==i?i:e.MAX_KEY)]},h={get:e=>[o,new mr(e.key)],getMany:e=>[o,(new mr).addKeys(e.keys)],count:l,query:l,openCursor:l};return j(h).forEach((e=>{c[e]=function(s){const{subscr:o}=nt;if(o){const c=e=>{const n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new mr)},l=c(""),d=c(":dels"),[f,p]=h[e](s);if(c(f.name||"").add(p),!f.isPrimaryKey){if("count"!==e){const t="query"===e&&u&&s.values&&i.query({...s,values:!1});return i[e].apply(this,arguments).then((n=>{if("query"===e){if(u&&s.values)return t.then((({result:e})=>(l.addKeys(e),n)));const e=s.values?n.result.map(a):n.result;s.values?l.addKeys(e):d.addKeys(e)}else if("openCursor"===e){const e=n,t=s.values;return e&&Object.create(e,{key:{get:()=>(d.addKey(e.primaryKey),e.key)},primaryKey:{get(){const t=e.primaryKey;return d.addKey(t),t}},value:{get:()=>(t&&l.addKey(e.primaryKey),e.value)}})}return n}))}d.add(n)}}return i[e].apply(this,arguments)}})),c}}}};class kr{constructor(e,t){this._middlewares={},this.verno=0;const n=kr.dependencies;this._options=t={addons:kr.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:r}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Ae,dbReadyPromise:null,cancelOpen:Ae,openCanceller:null,autoSchema:!0};i.dbReadyPromise=new ot((e=>{i.dbReadyResolve=e})),i.openCanceller=new ot(((e,t)=>{i.cancelOpen=t})),this._state=i,this.name=e,this.on=un(this,"populate","blocked","versionchange","close",{ready:[Fe,Ae]}),this.on.ready.subscribe=z(this.on.ready.subscribe,(e=>(t,n)=>{kr.vip((()=>{const r=this._state;if(r.openComplete)r.dbOpenError||ot.resolve().then(t),n&&e(t);else if(r.onReadyBeingFired)r.onReadyBeingFired.push(t),n&&e(t);else{e(t);const r=this;n||e((function e(){r.on.ready.unsubscribe(t),r.on.ready.unsubscribe(e)}))}}))})),this.Collection=function(e){return cn(wn.prototype,(function(t,n){this.db=e;let r=sn,i=null;if(n)try{r=n()}catch(e){i=e}const s=t._ctx,o=s.table,a=o.hook.reading.fire;this._ctx={table:o,index:s.index,isPrimKey:!s.index||o.schema.primKey.keyPath&&s.index===o.schema.primKey.name,range:r,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:i,or:s.or,valueMapper:a!==je?a:null}}))}(this),this.Table=function(e){return cn(an.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:un(null,{creating:[Te,Ae],reading:[Ie,je],updating:[Be,Ae],deleting:[Re,Ae]})}))}(this),this.Transaction=function(e){return cn(Bn.prototype,(function(t,n,r,i,s){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=un(this,"complete","error","abort"),this.parent=s||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ot(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),$t(e)}))}))}(this),this.Version=function(e){return cn(er.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return cn(An.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:":id"===n?null:n,or:r};const i=e._deps.indexedDB;if(!i)throw new Oe.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on("versionchange",(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on("blocked",(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=qn(t.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on("blocked").fire(e),Yt.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on("versionchange").fire(e)))},this.use(lr),this.use(dr),this.use(xr),this.use(pr),this.vip=Object.create(this,{_vip:{value:!0}}),r.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new Oe.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new Oe.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);const t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Qn),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||nt.letThrough||this._vip)?e():new ot(((e,t)=>{if(this._state.openComplete)return t(new Oe.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new Oe.DatabaseClosed);this.open().catch(Ae)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});const i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:null==n?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return sr(this)}_close(){const e=this._state,t=Yt.indexOf(this);if(t>=0&&Yt.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new ot((t=>{e.dbReadyResolve=t})),e.openCanceller=new ot(((t,n)=>{e.cancelOpen=n}))}close(){this._close();const e=this._state;this._options.autoOpen=!1,e.dbOpenError=new Oe.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){const e=arguments.length>0,t=this._state;return new ot(((n,r)=>{const i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=_t((()=>{!function({indexedDB:e,IDBKeyRange:t},n){!nr(e)&&n!==en&&tr(e,t).delete(n).catch(Ae)}(this._deps,this.name),n()})),e.onerror=jn(r),e.onblocked=this._fireOnBlocked};if(e)throw new Oe.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){const e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return j(this._allTables).map((e=>this._allTables[e]))}transaction(){const e=ar.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=nt.trans;r&&r.db===this&&-1===e.indexOf("!")||(r=null);const i=-1!==e.indexOf("?");let s,o;e=e.replace("!","").replace("?","");try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t})),"r"==e||e===tn)s=tn;else{if("rw"!=e&&e!=nn)throw new Oe.InvalidArgument("Invalid transaction mode: "+e);s=nn}if(r){if(r.mode===tn&&s===nn){if(!i)throw new Oe.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");r=null}r&&o.forEach((e=>{if(r&&-1===r.storeNames.indexOf(e)){if(!i)throw new Oe.SubTransaction("Table "+e+" not included in parent transaction.");r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):$t(e)}const a=ur.bind(null,this,s,o,r,n);return r?r._promise(s,a,"lock"):nt.trans?Bt(nt.transless,(()=>this._whenReady(a))):this._whenReady(a)}table(e){if(!B(this._allTables,e))throw new Oe.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}const Sr="undefined"!=typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class Er{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:n})}[Sr](){return this}}function Pr(e,t){return j(t).forEach((n=>{gr(e[n]||(e[n]=new mr),t[n])})),e}let Or;try{Or={indexedDB:A.indexedDB||A.mozIndexedDB||A.webkitIndexedDB||A.msIndexedDB,IDBKeyRange:A.IDBKeyRange||A.webkitIDBKeyRange}}catch(n){Or={indexedDB:null,IDBKeyRange:null}}const Kr=kr;function Cr(e){let t=Ar;try{Ar=!0,Rn.storagemutated.fire(e)}finally{Ar=t}}M(Kr,{...Ce,delete:e=>new Kr(e,{addons:[]}).delete(),exists:e=>new Kr(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch("NoSuchDatabaseError",(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return nr(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==en)))):tr(e,t).toCollection().primaryKeys()}(Kr.dependencies).then(e)}catch(e){return $t(new Oe.MissingAPI)}},defineClass:()=>function(e){D(this,e)},ignoreTransaction:e=>nt.trans?Bt(nt.transless,e):e(),vip:rr,async:function(e){return function(){try{var t=or(e.apply(this,arguments));return t&&"function"==typeof t.then?t:ot.resolve(t)}catch(e){return $t(e)}}},spawn:function(e,t,n){try{var r=or(e.apply(n,t||[]));return r&&"function"==typeof r.then?r:ot.resolve(r)}catch(e){return $t(e)}},currentTransaction:{get:()=>nt.trans||null},waitFor:function(e,t){const n=ot.resolve("function"==typeof e?Kr.ignoreTransaction(e):e).timeout(t||6e4);return nt.trans?nt.trans.waitFor(n):n},Promise:ot,debug:{get:()=>de,set:e=>{fe(e,"dexie"===e?()=>!0:Zt)}},derive:q,extend:D,props:M,override:z,Events:un,on:Rn,liveQuery:function(e){return new Er((t=>{const n=he(e);let r=!1,i={},s={};const o={get closed(){return r},unsubscribe:()=>{r=!0,Rn.storagemutated.unsubscribe(l)}};t.start&&t.start(o);let a=!1,u=!1;function c(){return j(s).some((e=>i[e]&&function(e,t){const n=br(t);let r=n.next();if(r.done)return!1;let i=r.value;const s=br(e);let o=s.next(i.from),a=o.value;for(;!r.done&&!o.done;){if(vn(a.from,i.to)<=0&&vn(a.to,i.from)>=0)return!0;vn(i.from,a.from)<0?i=(r=n.next(a.from)).value:a=(o=s.next(i.from)).value}return!1}(i[e],s[e])))}const l=e=>{Pr(i,e),c()&&h()},h=()=>{if(a||r)return;i={};const d={},f=function(t){n&&Ct();const r=()=>Kt(e,{subscr:t,trans:null}),i=nt.trans?Bt(nt.transless,r):r();return n&&i.then(At,At),i}(d);u||(Rn(Dn,l),u=!0),a=!0,Promise.resolve(f).then((e=>{a=!1,r||(c()?h():(i={},s=d,t.next&&t.next(e)))}),(e=>{a=!1,t.error&&t.error(e),o.unsubscribe()}))};return h(),o}))},extendObservabilitySet:Pr,getByKeyPath:Y,setByKeyPath:G,delByKeyPath:function(e,t){"string"==typeof t?G(e,t,void 0):"length"in t&&[].map.call(t,(function(t){G(e,t,void 0)}))},shallowClone:X,deepClone:re,getObjectDiff:hr,cmp:vn,asap:V,minKey:Ht,addons:[],connections:Yt,errnames:Ee,dependencies:Or,semVer:Wt,version:Wt.split(".").map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/Math.pow(10,2*n)))}),Kr.maxKey=qn(Kr.dependencies.IDBKeyRange),"undefined"!=typeof dispatchEvent&&"undefined"!=typeof addEventListener&&(Rn(Dn,(e=>{if(!Ar){let t;Gt?(t=document.createEvent("CustomEvent"),t.initCustomEvent(Tn,!0,!0,e)):t=new CustomEvent(Tn,{detail:e}),Ar=!0,dispatchEvent(t),Ar=!1}})),addEventListener(Tn,(({detail:e})=>{Ar||Cr(e)})));let Ar=!1;if("undefined"!=typeof BroadcastChannel){const e=new BroadcastChannel(Tn);Rn(Dn,(t=>{Ar||e.postMessage(t)})),e.onmessage=e=>{e.data&&Cr(e.data)}}else if("undefined"!=typeof self&&"undefined"!=typeof navigator){Rn(Dn,(e=>{try{Ar||("undefined"!=typeof localStorage&&localStorage.setItem(Tn,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:Tn,changedParts:e}))))}catch(e){}})),addEventListener("storage",(e=>{if(e.key===Tn){const t=JSON.parse(e.newValue);t&&Cr(t.changedParts)}}));const e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",(function({data:e}){e&&e.type===Tn&&Cr(e.changedParts)}))}ot.rejectionMapper=function(e,t){if(!e||e instanceof _e||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Ke[e.name])return e;var n=new Ke[e.name](t||e.message,e);return"stack"in e&&N(n,"stack",{get:function(){return this.inner.stack}}),n},fe(de,Zt);var jr=s(766),Ir=s(685);const Dr=new class extends kr{constructor(){super("EsmOffline"),this.version(3).stores({syncQueue:"++id,userId,type,[userId+type]"}),this.syncQueue=this.table("syncQueue")}},Tr={};function Rr(){return Dr}const Br=(0,Ir.createGlobalStore)("offline-synchronization",{});function Mr(){return Br}async function Fr(){if(Br.getState().synchronization)return;const e=await Dr.syncQueue.count(),t={},n=Object.entries(Tr),r=n.length,i={},s=new AbortController,o=()=>{const e=Br.getState().synchronization;Br.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{Br.setState({synchronization:{totalCount:e,pendingCount:e,abortController:s}});for(let e=0;e<r&&n.length>0;e++)for(let e=n.length;e--;){const[r,a]=n[e],u=a.dependsOn.map((e=>t[e]));u.every(Boolean)&&(i[r]={},await Promise.all(u),t[r]=Nr(a,i,s,o),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{Br.setState({synchronization:void 0})}}async function Nr(e,t,n,r){let{type:i,dependsOn:s,process:o}=e;const a=Dr.syncQueue,u=[],c=[],l=await qr();await a.where({type:i,userId:l}).each(((e,t)=>{u.push([t.primaryKey,e.content,e.descriptor]),c.push(e.content)}));for(let e=0;e<u.length;e++){const[h,d,{id:f,dependencies:p=[]}]=u[e];try{const u=await o(d,{abort:n,index:e,items:c,userId:l,dependencies:p.map((e=>{let{id:n,type:r}=e;return s.includes(r)?t[r][n]:void 0}))});void 0!==f&&(t[i][f]=u),await a.delete(h)}catch(e){await a.update(h,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{r()}}}async function qr(){return(await(0,jr.getLoggedInUser)())?.uuid||"*"}async function Ur(e,t,n,r){const i=Dr.syncQueue,s=r&&r.id;return void 0!==s&&await i.where({type:t,userId:e}).filter((e=>e?.descriptor.id===s)).delete(),await i.add({type:t,content:n,userId:e,descriptor:r||{},createdOn:new Date})}async function $r(e,t,n){const r=await qr();return await Ur(r,e,t,n)}async function Lr(e,t){const n=Dr.syncQueue,r=[];return await n.where({type:t,userId:e}).each((e=>{r.push(e.content)})),r}async function Wr(e){const t=await qr();return await Lr(t,e)}async function zr(e){return await Dr.syncQueue.get(e)}function Hr(e){return!!Tr[e]?.options.onBeginEditSyncItem}async function Vr(e){const t=await zr(e);if(!t)throw new Error(`No sync item with the ID ${e} exists.`);const n=Tr[t.type]?.options.onBeginEditSyncItem;if(!n)throw new Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function Qr(e){await Dr.syncQueue.delete(e)}function Yr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Tr[e]={type:e,dependsOn:t,process:n,options:r}}var Gr,Xr=new Uint8Array(16);function Jr(){if(!Gr&&!(Gr="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Gr(Xr)}const Zr=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ei=function(e){return"string"==typeof e&&Zr.test(e)};for(var ti=[],ni=0;ni<256;++ni)ti.push((ni+256).toString(16).substr(1));const ri=function(e,t,n){var r=(e=e||{}).random||(e.rng||Jr)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(ti[e[t+0]]+ti[e[t+1]]+ti[e[t+2]]+ti[e[t+3]]+"-"+ti[e[t+4]]+ti[e[t+5]]+"-"+ti[e[t+6]]+ti[e[t+7]]+"-"+ti[e[t+8]]+ti[e[t+9]]+"-"+ti[e[t+10]]+ti[e[t+11]]+ti[e[t+12]]+ti[e[t+13]]+ti[e[t+14]]+ti[e[t+15]]).toLowerCase();if(!ei(n))throw TypeError("Stringified UUID is invalid");return n}(r)},ii="OFFLINE+";function si(){return ii+ri()}function oi(e){return e.startsWith(ii)}const ai=(0,Ir.createGlobalStore)("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function ui(){return ai}function ci(e,t){const n=ai.getState();ai.setState({handlers:{...n.handlers,[e]:t}})}async function li(e){const t=Object.entries(ai.getState().handlers),n=t.map((e=>{let[t]=e;return t})),r=[],i=[],s={},o=new AbortController;await hi(e,{timestamp:new Date,syncingHandlers:n,syncedHandlers:r,failedHandlers:i,errors:s,abort:()=>(o.abort(),!0)}),await Promise.all(t.map((async t=>{let[n,a]=t;try{await a.onOfflinePatientAdded({patientUuid:e,signal:o.signal}),console.debug(`Offline patient handler ${n} successfully synchronized patient data.`),r.push(n)}catch(e){console.error(`Offline patient handler ${n} failed. Error: `,e),i.push(n),s[n]=e?.message??e?.toString()??""}}))),await hi(e,{timestamp:new Date,syncingHandlers:[],syncedHandlers:r,failedHandlers:i,errors:s,abort:()=>!1})}async function hi(e,t){const n=ai.getState();ai.setState({offlinePatientDataSyncState:{...n.offlinePatientDataSyncState,[e]:t}});const r=new fi,i={id:(await r.offlinePatientDataSyncStates.get({patientUuid:e}))?.id,patientUuid:e,state:{timestamp:t.timestamp,syncedHandlers:t.syncedHandlers,failedHandlers:[...t.failedHandlers,...t.syncingHandlers],errors:t.errors}};await r.offlinePatientDataSyncStates.put(i)}async function di(){const e=new fi,t=await e.offlinePatientDataSyncStates.toArray(),n=ai.getState().offlinePatientDataSyncState;for(const e of t)n[e.patientUuid]={...e.state,syncingHandlers:[],abort:()=>!1};ai.setState({offlinePatientDataSyncState:n})}class fi extends kr{constructor(){super("EsmOfflinePatientData"),this.version(1).stores({offlinePatientDataSyncStates:"++id,&patientUuid"}),this.offlinePatientDataSyncStates=this.table("offlinePatientDataSyncStates")}}})(),o})())}}}));
|
|
1
|
+
System.register(["@openmrs/esm-api","@openmrs/esm-state"],(function(e,t){var n={},r={};return{setters:[function(e){n.getLoggedInUser=e.getLoggedInUser},function(e){r.createGlobalStore=e.createGlobalStore}],execute:function(){e((()=>{var e={968:(e,t,n)=>{const r=n(577).R;t.s=function(e){if(e||(e=1),!n.y.meta||!n.y.meta.url)throw console.error("__system_context__",n.y),Error("systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided");n.p=r(n.y.meta.url,e)}},577:(e,t,n)=>{t.R=function(e,t){var n=document.createElement("a");n.href=e;for(var r="/"===n.pathname[0]?n.pathname:"/"+n.pathname,i=0,s=r.length;i!==t&&s>=0;)"/"===r[--s]&&i++;if(i!==t)throw Error("systemjs-webpack-interop: rootDirectoryLevel ("+t+") is greater than the number of directories ("+i+") in the URL path "+e);var o=r.slice(0,s+1);return n.protocol+"//"+n.host+o};Number.isInteger},766:e=>{"use strict";e.exports=n},685:e=>{"use strict";e.exports=r}},i={};function s(t){var n=i[t];if(void 0!==n)return n.exports;var r=i[t]={exports:{}};return e[t](r,r.exports,s),r.exports}s.y=t,s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;s.g.importScripts&&(e=s.g.location+"");var t=s.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");n.length&&(e=n[n.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e})();var o={};return(0,s(968).s)(1),(()=>{"use strict";s.r(o),s.d(o,{activateOfflineCapability:()=>K,beginEditSynchronizationItem:()=>Mr,canBeginEditSynchronizationItemsOfType:()=>Br,deleteSynchronizationItem:()=>Fr,dispatchNetworkRequestFailed:()=>x,generateOfflineUuid:()=>Yr,getCurrentOfflineMode:()=>P,getOfflineDb:()=>Er,getOfflinePatientDataStore:()=>Jr,getOfflineSynchronizationStore:()=>Or,getOmrsServiceWorker:()=>y,getSynchronizationItem:()=>Tr,getSynchronizationItems:()=>Rr,getSynchronizationItemsFor:()=>Dr,isOfflineUuid:()=>Gr,loadPersistedPatientDataSyncState:()=>ni,messageOmrsServiceWorker:()=>b,offlineUuidPrefix:()=>Qr,omrsOfflineCachingStrategyHttpHeaderName:()=>g,omrsOfflineResponseBodyHttpHeaderName:()=>m,omrsOfflineResponseStatusHttpHeaderName:()=>v,patchXMLHttpRequest:()=>C,queueSynchronizationItem:()=>Ir,queueSynchronizationItemFor:()=>Ar,registerOfflinePatientHandler:()=>Zr,registerOmrsServiceWorker:()=>p,runSynchronization:()=>Kr,setCurrentOfflineMode:()=>O,setupOfflineSync:()=>Nr,subscribeNetworkRequestFailed:()=>k,syncOfflinePatientData:()=>ei});try{self["workbox:window:6.4.1"]&&_()}catch(e){}function e(e,t){return new Promise((function(n){var r=new MessageChannel;r.port1.onmessage=function(e){n(e.data)},e.postMessage(t,[r.port2])}))}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(e,n){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){r&&(e=r);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=e[Symbol.iterator]()).next.bind(r)}try{self["workbox:core:6.4.1"]&&_()}catch(e){}var r=function(){var e=this;this.promise=new Promise((function(t,n){e.resolve=t,e.reject=n}))};function i(e,t){var n=location.href;return new URL(e,n).href===new URL(t,n).href}var a=function(e,t){this.type=e,Object.assign(this,t)};function u(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function c(){}var l={type:"SKIP_WAITING"};function h(e,t){if(!t)return e&&e.then?e.then(c):Promise.resolve()}var d=function(t){var n,s;function o(e,n){var s,o;return void 0===n&&(n={}),(s=t.call(this)||this).nn={},s.tn=0,s.rn=new r,s.en=new r,s.on=new r,s.un=0,s.an=new Set,s.cn=function(){var e=s.fn,t=e.installing;s.tn>0||!i(t.scriptURL,s.sn.toString())||performance.now()>s.un+6e4?(s.vn=t,e.removeEventListener("updatefound",s.cn)):(s.hn=t,s.an.add(t),s.rn.resolve(t)),++s.tn,t.addEventListener("statechange",s.ln)},s.ln=function(e){var t=s.fn,n=e.target,r=n.state,i=n===s.vn,o={sw:n,isExternal:i,originalEvent:e};!i&&s.mn&&(o.isUpdate=!0),s.dispatchEvent(new a(r,o)),"installed"===r?s.wn=self.setTimeout((function(){"installed"===r&&t.waiting===n&&s.dispatchEvent(new a("waiting",o))}),200):"activating"===r&&(clearTimeout(s.wn),i||s.en.resolve(n))},s.dn=function(e){var t=s.hn,n=t!==navigator.serviceWorker.controller;s.dispatchEvent(new a("controlling",{isExternal:n,originalEvent:e,sw:t,isUpdate:s.mn})),n||s.on.resolve(t)},s.gn=(o=function(e){var t=e.data,n=e.ports,r=e.source;return u(s.getSW(),(function(){s.an.has(r)&&s.dispatchEvent(new a("message",{data:t,originalEvent:e,ports:n,sw:r}))}))},function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.apply(this,e))}catch(e){return Promise.reject(e)}}),s.sn=e,s.nn=n,navigator.serviceWorker.addEventListener("message",s.gn),s}s=t,(n=o).prototype=Object.create(s.prototype),n.prototype.constructor=n,n.__proto__=s;var c,d=o.prototype;return d.register=function(e){var t=(void 0===e?{}:e).immediate,n=void 0!==t&&t;try{var r=this;return function(e,t){var n=e();return n&&n.then?n.then(t):t()}((function(){if(!n&&"complete"!==document.readyState)return h(new Promise((function(e){return window.addEventListener("load",e)})))}),(function(){return r.mn=Boolean(navigator.serviceWorker.controller),r.yn=r.pn(),u(r.bn(),(function(e){r.fn=e,r.yn&&(r.hn=r.yn,r.en.resolve(r.yn),r.on.resolve(r.yn),r.yn.addEventListener("statechange",r.ln,{once:!0}));var t=r.fn.waiting;return t&&i(t.scriptURL,r.sn.toString())&&(r.hn=t,Promise.resolve().then((function(){r.dispatchEvent(new a("waiting",{sw:t,wasWaitingBeforeRegister:!0}))})).then((function(){}))),r.hn&&(r.rn.resolve(r.hn),r.an.add(r.hn)),r.fn.addEventListener("updatefound",r.cn),navigator.serviceWorker.addEventListener("controllerchange",r.dn),r.fn}))}))}catch(e){return Promise.reject(e)}},d.update=function(){try{return this.fn?h(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},d.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},d.messageSW=function(t){try{return u(this.getSW(),(function(n){return e(n,t)}))}catch(e){return Promise.reject(e)}},d.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&e(this.fn.waiting,l)},d.pn=function(){var e=navigator.serviceWorker.controller;return e&&i(e.scriptURL,this.sn.toString())?e:void 0},d.bn=function(){try{var e=this;return function(e,t){try{var n=e()}catch(e){return t(e)}return n&&n.then?n.then(void 0,t):n}((function(){return u(navigator.serviceWorker.register(e.sn,e.nn),(function(t){return e.un=performance.now(),t}))}),(function(e){throw e}))}catch(e){return Promise.reject(e)}},(c=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,c),o}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=n(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());let f;function p(e,t){if(void 0!==f)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),f;if(!("serviceWorker"in navigator))throw new Error("Registering the Service Worker is not possible due to missing browser capabilities.");const n=new d(e,t);return f=n.register().then((()=>n)),f}function y(){return f??Promise.resolve(void 0)}const m="x-omrs-offline-response-body",v="x-omrs-offline-response-status",g="x-omrs-offline-caching-strategy";async function b(e){const t=await y();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}const w="openmrs:network-request-failed";function x(e){window.dispatchEvent(new CustomEvent(w,{detail:e}))}function k(e){const t=t=>e(t.detail);return window.addEventListener(w,t),()=>window.removeEventListener(w,t)}const S="openmrs3:offline-mode";let E="unavailable";function P(){return{current:E,notAvailable:"unavailable"===E,active:"on"===E}}function O(e){"unavailable"!==E&&"unavailable"!==e&&(localStorage.setItem(S,"on"===e?"active":"disabled"),E=e)}async function K(){await async function(){return await async function(){return new Promise((e=>{const t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)}))}()||await async function(){return!window.indexedDB}()||await async function(){const e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}()}()||(E="active"===localStorage.getItem(S)?"on":"off"),navigator.onLine}function C(){const e=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.apply(this,n)}}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,A=Object.keys,I=Array.isArray;function D(e,t){return"object"!=typeof t||A(t).forEach((function(n){e[n]=t[n]})),e}"undefined"==typeof Promise||j.Promise||(j.Promise=Promise);const R=Object.getPrototypeOf,T={}.hasOwnProperty;function B(e,t){return T.call(e,t)}function M(e,t){"function"==typeof t&&(t=t(R(e))),("undefined"==typeof Reflect?A:Reflect.ownKeys)(t).forEach((n=>{N(e,n,t[n])}))}const F=Object.defineProperty;function N(e,t,n,r){F(e,t,D(n&&B(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function q(e){return{from:function(t){return e.prototype=Object.create(t.prototype),N(e.prototype,"constructor",e),{extend:M.bind(null,e.prototype)}}}}const L=Object.getOwnPropertyDescriptor;function U(e,t){let n;return L(e,t)||(n=R(e))&&U(n,t)}const $=[].slice;function W(e,t,n){return $.call(e,t,n)}function z(e,t){return t(e)}function H(e){if(!e)throw new Error("Assertion Failed")}function V(e){j.setImmediate?setImmediate(e):setTimeout(e,0)}function Q(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function Y(e,t){if(B(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var s=Y(e,t[r]);n.push(s)}return n}var o=t.indexOf(".");if(-1!==o){var a=e[t.substr(0,o)];return void 0===a?void 0:Y(a,t.substr(o+1))}}function G(e,t,n){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){H("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)G(e,t[r],n[r])}else{var s=t.indexOf(".");if(-1!==s){var o=t.substr(0,s),a=t.substr(s+1);if(""===a)void 0===n?I(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var u=e[o];u||(u=e[o]={}),G(u,a,n)}}else void 0===n?I(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function X(e){var t={};for(var n in e)B(e,n)&&(t[n]=e[n]);return t}const J=[].concat;function Z(e){return J.apply([],e)}const ee="Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(Z([8,16,32,64].map((e=>["Int","Uint","Float"].map((t=>t+e+"Array")))))).filter((e=>j[e])),te=ee.map((e=>j[e]));Q(ee,(e=>[e,!0]));let ne=null;function re(e){ne="undefined"!=typeof WeakMap&&new WeakMap;const t=ie(e);return ne=null,t}function ie(e){if(!e||"object"!=typeof e)return e;let t=ne&&ne.get(e);if(t)return t;if(I(e)){t=[],ne&&ne.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(ie(e[n]))}else if(te.indexOf(e.constructor)>=0)t=e;else{const n=R(e);for(var i in t=n===Object.prototype?{}:Object.create(n),ne&&ne.set(e,t),e)B(e,i)&&(t[i]=ie(e[i]))}return t}const{toString:se}={};function oe(e){return se.call(e).slice(8,-1)}const ae="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator",ue="symbol"==typeof ae?function(e){var t;return null!=e&&(t=e[ae])&&t.apply(e)}:function(){return null},ce={};function le(e){var t,n,r,i;if(1===arguments.length){if(I(e))return e.slice();if(this===ce&&"string"==typeof e)return[e];if(i=ue(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(null==e)return[e];if("number"==typeof(t=e.length)){for(n=new Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}const he="undefined"!=typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var de="undefined"!=typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function fe(e,t){de=e,pe=t}var pe=()=>!0;const ye=!new Error("").stack;function me(){if(ye)try{throw me.arguments,new Error}catch(e){return e}return new Error}function ve(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),n.split("\n").slice(t).filter(pe).map((e=>"\n"+e)).join("")):""}var ge=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],be=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(ge),we={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function _e(e,t){this._e=me(),this.name=e,this.message=t}function xe(e,t){return e+". Errors: "+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join("\n")}function ke(e,t,n,r){this._e=me(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=xe(e,t)}function Se(e,t){this._e=me(),this.name="BulkError",this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=xe(e,t)}q(_e).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+ve(this._e,2))}},toString:function(){return this.name+": "+this.message}}),q(ke).from(_e),q(Se).from(_e);var Ee=be.reduce(((e,t)=>(e[t]=t+"Error",e)),{});const Pe=_e;var Oe=be.reduce(((e,t)=>{var n=t+"Error";function r(e,r){this._e=me(),this.name=n,e?"string"==typeof e?(this.message=`${e}${r?"\n "+r:""}`,this.inner=r||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=we[t]||n,this.inner=null)}return q(r).from(Pe),e[t]=r,e}),{});Oe.Syntax=SyntaxError,Oe.Type=TypeError,Oe.Range=RangeError;var Ke=ge.reduce(((e,t)=>(e[t+"Error"]=Oe[t],e)),{}),Ce=be.reduce(((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=Oe[t]),e)),{});function je(){}function Ae(e){return e}function Ie(e,t){return null==e||e===Ae?t:function(n){return t(e(n))}}function De(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Re(e,t){return e===je?t:function(){var n=e.apply(this,arguments);void 0!==n&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var s=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?De(r,this.onsuccess):r),i&&(this.onerror=this.onerror?De(i,this.onerror):i),void 0!==s?s:n}}function Te(e,t){return e===je?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?De(n,this.onsuccess):n),r&&(this.onerror=this.onerror?De(r,this.onerror):r)}}function Be(e,t){return e===je?t:function(n){var r=e.apply(this,arguments);D(n,r);var i=this.onsuccess,s=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?De(i,this.onsuccess):i),s&&(this.onerror=this.onerror?De(s,this.onerror):s),void 0===r?void 0===o?void 0:o:D(r,o)}}function Me(e,t){return e===je?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Fe(e,t){return e===je?t:function(){var n=e.apply(this,arguments);if(n&&"function"==typeof n.then){for(var r=this,i=arguments.length,s=new Array(i);i--;)s[i]=arguments[i];return n.then((function(){return t.apply(r,s)}))}return t.apply(this,arguments)}}Ce.ModifyError=ke,Ce.DexieError=_e,Ce.BulkError=Se;var Ne={};const[qe,Le,Ue]="undefined"==typeof Promise?[]:(()=>{let e=Promise.resolve();if("undefined"==typeof crypto||!crypto.subtle)return[e,R(e),e];const t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,R(t),e]})(),$e=Le&&Le.then,We=qe&&qe.constructor,ze=!!Ue;var He=!1,Ve=Ue?()=>{Ue.then(mt)}:j.setImmediate?setImmediate.bind(null,mt):j.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver((()=>{mt(),e=null})).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(mt,0)},Qe=function(e,t){rt.push([e,t]),Ge&&(Ve(),Ge=!1)},Ye=!0,Ge=!0,Xe=[],Je=[],Ze=null,et=Ae,tt={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:qt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{qt(e[0],e[1])}catch(e){}}))}},nt=tt,rt=[],it=0,st=[];function ot(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=je,this._lib=!1;var t=this._PSD=nt;if(de&&(this._stackHolder=me(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==Ne)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&<(this,this._value))}this._state=null,this._value=null,++t.ref,ct(this,e)}const at={get:function(){var e=nt,t=Pt;function n(n,r){var i=!e.global&&(e!==nt||t!==Pt);const s=i&&!jt();var o=new ot(((t,o)=>{dt(this,new ut(Ft(n,e,i,s),Ft(r,e,i,s),t,o,e))}));return de&&yt(o,this),o}return n.prototype=Ne,n},set:function(e){N(this,"then",e&&e.prototype===Ne?at:{get:function(){return e},set:at.set})}};function ut(e,t,n,r,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=i}function ct(e,t){try{t((t=>{if(null===e._state){if(t===e)throw new TypeError("A promise cannot be resolved with itself.");var n=e._lib&&vt();t&&"function"==typeof t.then?ct(e,((e,n)=>{t instanceof ot?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,ht(e)),n&>()}}),lt.bind(null,e))}catch(t){lt(e,t)}}function lt(e,t){if(Je.push(t),null===e._state){var n=e._lib&&vt();t=et(t),e._state=!1,e._value=t,de&&null!==t&&"object"==typeof t&&!t._promise&&function(e,t,n){try{e.apply(null,void 0)}catch(e){}}((()=>{var n=U(t,"stack");t._promise=e,N(t,"stack",{get:()=>He?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Xe.some((t=>t._value===e._value))||Xe.push(e)}(e),ht(e),n&>()}}function ht(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)dt(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),0===it&&(++it,Qe((()=>{0==--it&&bt()}),[]))}function dt(e,t){if(null!==e._state){var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++it,Qe(ft,[n,e,t])}else e._listeners.push(t)}function ft(e,t,n){try{Ze=t;var r,i=t._value;t._state?r=e(i):(Je.length&&(Je=[]),r=e(i),-1===Je.indexOf(i)&&function(e){for(var t=Xe.length;t;)if(Xe[--t]._value===e._value)return void Xe.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ze=null,0==--it&&bt(),--n.psd.ref||n.psd.finalize()}}function pt(e,t,n){if(t.length===n)return t;var r="";if(!1===e._state){var i,s,o=e._value;null!=o?(i=o.name||"Error",s=o.message||o,r=ve(o,0)):(i=o,s=""),t.push(i+(s?": "+s:"")+r)}return de&&((r=ve(e._stackHolder,2))&&-1===t.indexOf(r)&&t.push(r),e._prev&&pt(e._prev,t,n)),t}function yt(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function mt(){vt()&>()}function vt(){var e=Ye;return Ye=!1,Ge=!1,e}function gt(){var e,t,n;do{for(;rt.length>0;)for(e=rt,rt=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}}while(rt.length>0);Ye=!0,Ge=!0}function bt(){var e=Xe;Xe=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=st.slice(0),n=t.length;n;)t[--n]()}function wt(e){return new ot(Ne,!1,e)}function _t(e,t){var n=nt;return function(){var r=vt(),i=nt;try{return Rt(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{Rt(i,!1),r&>()}}}M(ot.prototype,{then:at,_then:function(e,t){dt(this,new ut(null,null,e,t,nt))},catch:function(e){if(1===arguments.length)return this.then(null,e);var t=arguments[0],n=arguments[1];return"function"==typeof t?this.then(null,(e=>e instanceof t?n(e):wt(e))):this.then(null,(e=>e&&e.name===t?n(e):wt(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),wt(t))))},stack:{get:function(){if(this._stack)return this._stack;try{He=!0;var e=pt(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{He=!1}}},timeout:function(e,t){return e<1/0?new ot(((n,r)=>{var i=setTimeout((()=>r(new Oe.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),"undefined"!=typeof Symbol&&Symbol.toStringTag&&N(ot.prototype,Symbol.toStringTag,"Dexie.Promise"),tt.env=Tt(),M(ot,{all:function(){var e=le.apply(null,arguments).map(At);return new ot((function(t,n){0===e.length&&t([]);var r=e.length;e.forEach(((i,s)=>ot.resolve(i).then((n=>{e[s]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof ot)return e;if(e&&"function"==typeof e.then)return new ot(((t,n)=>{e.then(t,n)}));var t=new ot(Ne,!0,e);return yt(t,Ze),t},reject:wt,race:function(){var e=le.apply(null,arguments).map(At);return new ot(((t,n)=>{e.map((e=>ot.resolve(e).then(t,n)))}))},PSD:{get:()=>nt,set:e=>nt=e},totalEchoes:{get:()=>Pt},newPSD:Kt,usePSD:Bt,scheduler:{get:()=>Qe,set:e=>{Qe=e}},rejectionMapper:{get:()=>et,set:e=>{et=e}},follow:(e,t)=>new ot(((n,r)=>Kt(((t,n)=>{var r=nt;r.unhandleds=[],r.onunhandled=n,r.finalize=De((function(){!function(e){st.push((function t(){e(),st.splice(st.indexOf(t),1)})),++it,Qe((()=>{0==--it&&bt()}),[])}((()=>{0===this.unhandleds.length?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),We&&(We.allSettled&&N(ot,"allSettled",(function(){const e=le.apply(null,arguments).map(At);return new ot((t=>{0===e.length&&t([]);let n=e.length;const r=new Array(n);e.forEach(((e,i)=>ot.resolve(e).then((e=>r[i]={status:"fulfilled",value:e}),(e=>r[i]={status:"rejected",reason:e})).then((()=>--n||t(r)))))}))})),We.any&&"undefined"!=typeof AggregateError&&N(ot,"any",(function(){const e=le.apply(null,arguments).map(At);return new ot(((t,n)=>{0===e.length&&n(new AggregateError([]));let r=e.length;const i=new Array(r);e.forEach(((e,s)=>ot.resolve(e).then((e=>t(e)),(e=>{i[s]=e,--r||n(new AggregateError(i))}))))}))})));const xt={awaits:0,echoes:0,id:0};var kt=0,St=[],Et=0,Pt=0,Ot=0;function Kt(e,t,n,r){var i=nt,s=Object.create(i);s.parent=i,s.ref=0,s.global=!1,s.id=++Ot;var o=tt.env;s.env=ze?{Promise:ot,PromiseProp:{value:ot,configurable:!0,writable:!0},all:ot.all,race:ot.race,allSettled:ot.allSettled,any:ot.any,resolve:ot.resolve,reject:ot.reject,nthen:Nt(o.nthen,s),gthen:Nt(o.gthen,s)}:{},t&&D(s,t),++i.ref,s.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=Bt(s,e,n,r);return 0===s.ref&&s.finalize(),a}function Ct(){return xt.id||(xt.id=++kt),++xt.awaits,xt.echoes+=100,xt.id}function jt(){return!!xt.awaits&&(0==--xt.awaits&&(xt.id=0),xt.echoes=100*xt.awaits,!0)}function At(e){return xt.echoes&&e&&e.constructor===We?(Ct(),e.then((e=>(jt(),e)),(e=>(jt(),Lt(e))))):e}function It(e){++Pt,xt.echoes&&0!=--xt.echoes||(xt.echoes=xt.id=0),St.push(nt),Rt(e,!0)}function Dt(){var e=St[St.length-1];St.pop(),Rt(e,!1)}function Rt(e,t){var n=nt;if((t?!xt.echoes||Et++&&e===nt:!Et||--Et&&e===nt)||Mt(t?It.bind(null,e):Dt),e!==nt&&(nt=e,n===tt&&(tt.env=Tt()),ze)){var r=tt.env.Promise,i=e.env;Le.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(j,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Tt(){var e=j.Promise;return ze?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(j,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Le.then,gthen:e.prototype.then}:{}}function Bt(e,t,n,r,i){var s=nt;try{return Rt(e,!0),t(n,r,i)}finally{Rt(s,!1)}}function Mt(e){$e.call(qe,e)}function Ft(e,t,n,r){return"function"!=typeof e?e:function(){var i=nt;n&&Ct(),Rt(t,!0);try{return e.apply(this,arguments)}finally{Rt(i,!1),r&&Mt(jt)}}}function Nt(e,t){return function(n,r){return e.call(this,Ft(n,t),Ft(r,t))}}function qt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(j.document&&document.createEvent?((r=document.createEvent("Event")).initEvent("unhandledrejection",!0,!0),D(r,i)):j.CustomEvent&&D(r=new CustomEvent("unhandledrejection",{detail:i}),i),r&&j.dispatchEvent&&(dispatchEvent(r),!j.PromiseRejectionEvent&&j.onunhandledrejection))try{j.onunhandledrejection(r)}catch(e){}de&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}-1===(""+$e).indexOf("[native code]")&&(Ct=jt=je);var Lt=ot.reject;function Ut(e,t,n,r){if(e.idbdb&&(e._state.openComplete||nt.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Ee.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),e._close(),e.open().then((()=>Ut(e,t,n,r)))):Lt(i)}return i._promise(t,((e,t)=>Kt((()=>(nt.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return Lt(new Oe.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return Lt(new Oe.DatabaseClosed);e.open().catch(je)}return e._state.dbReadyPromise.then((()=>Ut(e,t,n,r)))}const $t=String.fromCharCode(65535),Wt="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",zt=[],Ht="undefined"!=typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Vt=Ht,Qt=Ht,Yt=e=>!/(dexie\.js|dexie\.min\.js)/.test(e);function Gt(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}const Xt={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Jt(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=re(t))[e],t)}class Zt{_trans(e,t,n){const r=this._tx||nt.trans,i=this.name;function s(e,n,r){if(!r.schema[i])throw new Oe.NotFound("Table "+i+" not part of transaction");return t(r.idbtrans,r)}const o=vt();try{return r&&r.db===this.db?r===nt.trans?r._promise(e,s,n):Kt((()=>r._promise(e,s,n)),{trans:r,transless:nt.transless||nt}):Ut(this.db,e,[this.name],s)}finally{o&>()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans("readonly",(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if("string"==typeof e)return new this.db.WhereClause(this,e);if(I(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);const t=A(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);const n=this.schema.indexes.concat(this.schema.primKey).filter((e=>e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))&&e.keyPath.every((e=>t.indexOf(e)>=0))))[0];if(n&&this.db._maxKey!==$t)return this.where(n.name).equals(n.keyPath.map((t=>e[t])));!n&&de&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);const{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function s(e,t){try{return 0===i.cmp(e,t)}catch(e){return!1}}const[o,a]=t.reduce((([t,n],i)=>{const o=r[i],a=e[i];return[t||o,t||!o?Gt(n,o&&o.multi?e=>{const t=Y(e,i);return I(t)&&t.some((e=>s(a,e)))}:e=>s(a,Y(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(a):n?this.filter(a):this.where(t).equals("")}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,I(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;const t=t=>{if(!t)return t;const n=Object.create(e.prototype);for(var r in t)if(B(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook("reading",t),e}defineClass(){return this.mapToClass((function(e){D(this,e)}))}add(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let i=e;return r&&n&&(i=Jt(r)(e)),this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[i]}))).then((e=>e.numFailures?ot.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{G(e,r,t)}catch(e){}return t}))}update(e,t){if("object"!=typeof e||I(e))return this.where(":id").equals(e).modify(t);{const n=Y(e,this.schema.primKey.keyPath);if(void 0===n)return Lt(new Oe.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?A(t).forEach((n=>{G(e,n,t[n])})):t(e,{value:e,primKey:n})}catch(e){}return this.where(":id").equals(n).modify(t)}}put(e,t){const{auto:n,keyPath:r}=this.schema.primKey;let i=e;return r&&n&&(i=Jt(r)(e)),this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"put",values:[i],keys:null!=t?[t]:null}))).then((e=>e.numFailures?ot.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{G(e,r,t)}catch(e){}return t}))}delete(e){return this._trans("readwrite",(t=>this.core.mutate({trans:t,type:"delete",keys:[e]}))).then((e=>e.numFailures?ot.reject(e.failures[0]):void 0))}clear(){return this._trans("readwrite",(e=>this.core.mutate({trans:e,type:"deleteRange",range:Xt}))).then((e=>e.numFailures?ot.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans("readonly",(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){const r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",(t=>{const{auto:n,keyPath:s}=this.schema.primKey;if(s&&r)throw new Oe.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new Oe.InvalidArgument("Arguments objects and keys must have the same length");const o=e.length;let a=s&&n?e.map(Jt(s)):e;return this.core.mutate({trans:t,type:"add",keys:r,values:a,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return i?t:n;throw new Se(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){const r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans("readwrite",(t=>{const{auto:n,keyPath:s}=this.schema.primKey;if(s&&r)throw new Oe.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new Oe.InvalidArgument("Arguments objects and keys must have the same length");const o=e.length;let a=s&&n?e.map(Jt(s)):e;return this.core.mutate({trans:t,type:"put",keys:r,values:a,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(0===e)return i?t:n;throw new Se(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){const t=e.length;return this._trans("readwrite",(t=>this.core.mutate({trans:t,type:"delete",keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(0===e)return n;throw new Se(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}}function en(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,s=new Array(i-1);--i;)s[i-1]=arguments[i];return t[n].subscribe.apply(null,s),e}if("string"==typeof n)return t[n]};n.addEventType=s;for(var r=1,i=arguments.length;r<i;++r)s(arguments[r]);return n;function s(e,r,i){if("object"==typeof e)return o(e);r||(r=Me),i||(i=je);var s={subscribers:[],fire:i,subscribe:function(e){-1===s.subscribers.indexOf(e)&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter((function(t){return t!==e})),s.fire=s.subscribers.reduce(r,i)}};return t[e]=n[e]=s,s}function o(e){A(e).forEach((function(t){var n=e[t];if(I(n))s(t,e[t][0],e[t][1]);else{if("asap"!==n)throw new Oe.InvalidArgument("Invalid event config");var r=s(t,Ae,(function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];r.subscribers.forEach((function(e){V((function(){e.apply(null,t)}))}))}))}}))}}function tn(e,t){return q(t).from({prototype:e}),t}function nn(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function rn(e,t){e.filter=Gt(e.filter,t)}function sn(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>Gt(r(),t()):t,e.justLimit=n&&!r}function on(e,t){if(e.isPrimKey)return t.primaryKey;const n=t.getIndexByKeyPath(e.index);if(!n)throw new Oe.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function an(e,t,n){const r=on(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function un(e,t,n,r){const i=e.replayFilter?Gt(e.filter,e.replayFilter()):e.filter;if(e.or){const s={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,a=""+o;"[object ArrayBuffer]"===a&&(a=""+new Uint8Array(o)),B(s,a)||(s[a]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),cn(an(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return cn(an(e,r,n),Gt(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function cn(e,t,n,r){var i=_t(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=je}),(t=>{e.fail(t),n=je}))||i(e.value,e,(e=>n=e)),n()}))}))}function ln(e,t){try{const n=hn(e),r=hn(t);if(n!==r)return"Array"===n?1:"Array"===r?-1:"binary"===n?1:"binary"===r?-1:"string"===n?1:"string"===r?-1:"Date"===n?1:"Date"!==r?NaN:-1;switch(n){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){const n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(dn(e),dn(t));case"Array":return function(e,t){const n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){const r=ln(e[n],t[n]);if(0!==r)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function hn(e){const t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";const n=oe(e);return"ArrayBuffer"===n?"binary":n}function dn(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class fn{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,Lt.bind(null,n.error)):n.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,Lt.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=Gt(t.algorithm,e)}_iterate(e,t){return un(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&D(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>un(t,e,n,t.table.core)))}count(e){return this._read((e=>{const t=this._ctx,n=t.table.core;if(nn(t,!0))return n.count({trans:e,query:{index:on(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return un(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){const n=e.split(".").reverse(),r=n[0],i=n.length-1;function s(e,t){return t?s(e[n[t]],t-1):e[r]}var o="next"===this._ctx.dir?1:-1;function a(e,t){var n=s(e,i),r=s(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(a)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if("next"===t.dir&&nn(t,!0)&&t.limit>0){const{valueMapper:n}=t,r=on(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{const n=[];return un(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,nn(t)?sn(t,(()=>{var t=e;return(e,n)=>0===t||(1===t?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):sn(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),sn(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return rn(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return rn(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=Gt(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique="unique",this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&nn(t,!0)&&t.limit>0)return this._read((e=>{var n=on(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique="unique",this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return rn(this._ctx,(function(e){var t=e.primaryKey.toString(),r=B(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if("function"==typeof e)r=e;else{var i=A(e),s=i.length;r=function(t){for(var n=!1,r=0;r<s;++r){var o=i[r],a=e[o];Y(t,o)!==a&&(G(t,o,a),n=!0)}return n}}const o=t.table.core,{outbound:a,extractKey:u}=o.schema.primaryKey,c=this.db._options.modifyChunkSize||200,l=[];let h=0;const d=[],f=(e,t)=>{const{failures:n,numFailures:r}=t;h+=e-r;for(let e of A(n))l.push(n[e])};return this.clone().primaryKeys().then((i=>{const s=l=>{const h=Math.min(c,i.length-l);return o.getMany({trans:n,keys:i.slice(l,l+h),cache:"immutable"}).then((d=>{const p=[],y=[],m=a?[]:null,v=[];for(let e=0;e<h;++e){const t=d[e],n={value:re(t),primKey:i[l+e]};!1!==r.call(n,n.value,n)&&(null==n.value?v.push(i[l+e]):a||0===ln(u(t),u(n.value))?(y.push(n.value),a&&m.push(i[l+e])):(v.push(i[l+e]),p.push(n.value)))}const g=nn(t)&&t.limit===1/0&&("function"!=typeof e||e===pn)&&{index:t.index,range:t.range};return Promise.resolve(p.length>0&&o.mutate({trans:n,type:"add",values:p}).then((e=>{for(let t in e.failures)v.splice(parseInt(t),1);f(p.length,e)}))).then((()=>(y.length>0||g&&"object"==typeof e)&&o.mutate({trans:n,type:"put",keys:m,values:y,criteria:g,changeSpec:"function"!=typeof e&&e}).then((e=>f(y.length,e))))).then((()=>(v.length>0||g&&e===pn)&&o.mutate({trans:n,type:"delete",keys:v,criteria:g}).then((e=>f(v.length,e))))).then((()=>i.length>l+h&&s(l+c)))}))};return s(0).then((()=>{if(l.length>0)throw new ke("Error modifying one or more objects",l,h,d);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return nn(e)&&(e.isPrimKey&&!Qt||3===t.type)?this._write((n=>{const{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:"deleteRange",range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new ke("Could not delete some values",Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(pn)}}const pn=(e,t)=>t.value=null;function yn(e,t){return e<t?-1:e===t?0:1}function mn(e,t){return e>t?-1:e===t?0:1}function vn(e,t,n){var r=e instanceof kn?new e.Collection(e):e;return r._ctx.error=n?new n(t):new TypeError(t),r}function gn(e){return new e.Collection(e,(()=>xn(""))).limit(0)}function bn(e,t,n,r,i,s){for(var o=Math.min(e.length,r.length),a=-1,u=0;u<o;++u){var c=t[u];if(c!==r[u])return i(e[u],n[u])<0?e.substr(0,u)+n[u]+n.substr(u+1):i(e[u],r[u])<0?e.substr(0,u)+r[u]+n.substr(u+1):a>=0?e.substr(0,a)+t[a]+n.substr(a+1):null;i(e[u],c)<0&&(a=u)}return o<r.length&&"next"===s?e+n.substr(e.length):o<e.length&&"prev"===s?e.substr(0,n.length):a<0?null:e.substr(0,a)+r[a]+n.substr(a+1)}function wn(e,t,n,r){var i,s,o,a,u,c,l,h=n.length;if(!n.every((e=>"string"==typeof e)))return vn(e,"String expected.");function d(e){i=function(e){return"next"===e?e=>e.toUpperCase():e=>e.toLowerCase()}(e),s=function(e){return"next"===e?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o="next"===e?yn:mn;var t=n.map((function(e){return{lower:s(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));a=t.map((function(e){return e.upper})),u=t.map((function(e){return e.lower})),c=e,l="next"===e?"":r}d("next");var f=new e.Collection(e,(()=>_n(a[0],u[h-1]+r)));f._ondirectionchange=function(e){d(e)};var p=0;return f._addAlgorithm((function(e,n,r){var i=e.key;if("string"!=typeof i)return!1;var d=s(i);if(t(d,u,p))return!0;for(var f=null,y=p;y<h;++y){var m=bn(i,d,a[y],u[y],o,c);null===m&&null===f?p=y+1:(null===f||o(f,m)>0)&&(f=m)}return n(null!==f?function(){e.continue(f+l)}:r),!1})),f}function _n(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function xn(e){return{type:1,lower:e,upper:e}}class kn{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?gn(this):new this.Collection(this,(()=>_n(e,t,!n,!r)))}catch(e){return vn(this,Wt)}}equals(e){return null==e?vn(this,Wt):new this.Collection(this,(()=>xn(e)))}above(e){return null==e?vn(this,Wt):new this.Collection(this,(()=>_n(e,void 0,!0)))}aboveOrEqual(e){return null==e?vn(this,Wt):new this.Collection(this,(()=>_n(e,void 0,!1)))}below(e){return null==e?vn(this,Wt):new this.Collection(this,(()=>_n(void 0,e,!1,!0)))}belowOrEqual(e){return null==e?vn(this,Wt):new this.Collection(this,(()=>_n(void 0,e)))}startsWith(e){return"string"!=typeof e?vn(this,"String expected."):this.between(e,e+$t,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):wn(this,((e,t)=>0===e.indexOf(t[0])),[e],$t)}equalsIgnoreCase(e){return wn(this,((e,t)=>e===t[0]),[e],"")}anyOfIgnoreCase(){var e=le.apply(ce,arguments);return 0===e.length?gn(this):wn(this,((e,t)=>-1!==t.indexOf(e)),e,"")}startsWithAnyOfIgnoreCase(){var e=le.apply(ce,arguments);return 0===e.length?gn(this):wn(this,((e,t)=>t.some((t=>0===e.indexOf(t)))),e,$t)}anyOf(){const e=le.apply(ce,arguments);let t=this._cmp;try{e.sort(t)}catch(e){return vn(this,Wt)}if(0===e.length)return gn(this);const n=new this.Collection(this,(()=>_n(e[0],e[e.length-1])));n._ondirectionchange=n=>{t="next"===n?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,s)=>{const o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(s),!1;return 0===t(o,e[r])||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[-1/0,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){const e=le.apply(ce,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return vn(this,Wt)}const t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[-1/0,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){const n=this._cmp,r=this._ascending,i=this._descending,s=this._min,o=this._max;if(0===e.length)return gn(this);if(!e.every((e=>void 0!==e[0]&&void 0!==e[1]&&r(e[0],e[1])<=0)))return vn(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",Oe.InvalidArgument);const a=!t||!1!==t.includeLowers,u=t&&!0===t.includeUppers;let c,l=r;function h(e,t){return l(e[0],t[0])}try{c=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){const i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=s(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),c.sort(h)}catch(e){return vn(this,Wt)}let d=0;const f=u?e=>r(e,c[d][1])>0:e=>r(e,c[d][1])>=0,p=a?e=>i(e,c[d][0])>0:e=>i(e,c[d][0])>=0;let y=f;const m=new this.Collection(this,(()=>_n(c[0][0],c[c.length-1][1],!a,!u)));return m._ondirectionchange=e=>{"next"===e?(y=f,l=r):(y=p,l=i),c.sort(h)},m._addAlgorithm(((e,t,n)=>{for(var i=e.key;y(i);)if(++d,d===c.length)return t(n),!1;return!!function(e){return!f(e)&&!p(e)}(i)||(0===this._cmp(i,c[d][1])||0===this._cmp(i,c[d][0])||t((()=>{l===r?e.continue(c[d][0]):e.continue(c[d][1])})),!1)})),m}startsWithAnyOf(){const e=le.apply(ce,arguments);return e.every((e=>"string"==typeof e))?0===e.length?gn(this):this.inAnyRange(e.map((e=>[e,e+$t]))):vn(this,"startsWithAnyOf() only works with strings")}}function Sn(e){return _t((function(t){return En(t),e(t.target.error),!1}))}function En(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}const Pn=en(null,"storagemutated");class On{_lock(){return H(!nt.global),++this._reculock,1!==this._reculock||nt.global||(nt.lockOwnerFor=this),this}_unlock(){if(H(!nt.global),0==--this._reculock)for(nt.global||(nt.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Bt(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&nt.lockOwnerFor!==this}create(e){if(!this.mode)return this;const t=this.db.idbdb,n=this.db._state.dbOpenError;if(H(!this.idbtrans),!e&&!t)switch(n&&n.name){case"DatabaseClosedError":throw new Oe.DatabaseClosed(n);case"MissingAPIError":throw new Oe.MissingAPI(n.message,n);default:throw new Oe.OpenFailed(n)}if(!this.active)throw new Oe.TransactionInactive;return H(null===this._completion._state),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=_t((t=>{En(t),this._reject(e.error)})),e.onabort=_t((t=>{En(t),this.active&&this._reject(new Oe.Abort(e.error)),this.active=!1,this.on("abort").fire(t)})),e.oncomplete=_t((()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&Pn.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if("readwrite"===e&&"readwrite"!==this.mode)return Lt(new Oe.ReadOnly("Transaction is readonly"));if(!this.active)return Lt(new Oe.TransactionInactive);if(this._locked())return new ot(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},nt])}));if(n)return Kt((()=>{var e=new ot(((e,n)=>{this._lock();const r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new ot(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();const n=ot.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)}()}var i=t._waitingFor;return new ot(((e,r)=>{n.then((n=>t._waitingQueue.push(_t(e.bind(null,n)))),(e=>t._waitingQueue.push(_t(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new Oe.Abort))}table(e){const t=this._memoizedTables||(this._memoizedTables={});if(B(t,e))return t[e];const n=this.schema[e];if(!n)throw new Oe.NotFound("Table "+e+" not part of transaction");const r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}}function Kn(e,t,n,r,i,s,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:s,src:(n&&!o?"&":"")+(r?"*":"")+(i?"++":"")+Cn(t)}}function Cn(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function jn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Q(n,(e=>[e.name,e]))}}let An=e=>{try{return e.only([[]]),An=()=>[[]],[[]]}catch(e){return An=()=>$t,$t}};function In(e){return null==e?()=>{}:"string"==typeof e?function(e){return 1===e.split(".").length?t=>t[e]:t=>Y(t,e)}(e):t=>Y(t,e)}function Dn(e){return[].slice.call(e)}let Rn=0;function Tn(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function Bn({_novip:e},t){const n=t.db,r=function(e,t,{IDBKeyRange:n,indexedDB:r},i){const s=function(e,t){return t.reduce(((e,{create:t})=>({...e,...t(e)})),e)}(function(e,t,n){function r(e){if(3===e.type)return null;if(4===e.type)throw new Error("Cannot convert never type to IDBKeyRange");const{lower:n,upper:r,lowerOpen:i,upperOpen:s}=e;return void 0===n?void 0===r?null:t.upperBound(r,!!s):void 0===r?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!s)}const{schema:i,hasGetAll:s}=function(e,t){const n=Dn(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{const{keyPath:t,autoIncrement:n}=e,r=I(t),i=null==t,s={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:In(t)},indexes:Dn(e.indexNames).map((t=>e.index(t))).map((e=>{const{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:I(i),keyPath:i,unique:n,multiEntry:r,extractKey:In(i)};return s[Tn(i)]=o,o})),getIndexByKeyPath:e=>s[Tn(e)]};return s[":id"]=o.primaryKey,null!=t&&(s[Tn(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&"getAll"in t.objectStore(n[0])&&!("undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){const t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:s,range:o}){return new Promise(((a,u)=>{a=_t(a);const c=e.objectStore(t),l=null==c.keyPath,h="put"===n||"add"===n;if(!h&&"delete"!==n&&"deleteRange"!==n)throw new Error("Invalid operation type: "+n);const{length:d}=i||s||{length:1};if(i&&s&&i.length!==s.length)throw new Error("Given keys array must have same length as given values array.");if(0===d)return a({numFailures:0,failures:{},results:[],lastResult:void 0});let f;const p=[],y=[];let m=0;const v=e=>{++m,En(e)};if("deleteRange"===n){if(4===o.type)return a({numFailures:m,failures:y,results:[],lastResult:void 0});3===o.type?p.push(f=c.clear()):p.push(f=c.delete(r(o)))}else{const[e,t]=h?l?[s,i]:[s,null]:[i,null];if(h)for(let r=0;r<d;++r)p.push(f=t&&void 0!==t[r]?c[n](e[r],t[r]):c[n](e[r])),f.onerror=v;else for(let t=0;t<d;++t)p.push(f=c[n](e[t])),f.onerror=v}const g=e=>{const t=e.target.result;p.forEach(((e,t)=>null!=e.error&&(y[t]=e.error))),a({numFailures:m,failures:y,results:"delete"===n?i:p.map((e=>e.result)),lastResult:t})};f.onerror=e=>{v(e),g(e)},f.onsuccess=g}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=_t(r);const s=e.objectStore(t),o=n.length,a=new Array(o);let u,c=0,l=0;const h=e=>{const t=e.target;a[t._pos]=t.result,++l===c&&r(a)},d=Sn(i);for(let e=0;e<o;++e)null!=n[e]&&(u=s.get(n[e]),u._pos=e,u.onsuccess=h,u.onerror=d,++c);0===c&&r(a)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=_t(r);const s=e.objectStore(t).get(n);s.onsuccess=e=>r(e.target.result),s.onerror=Sn(i)})),query:function(e){return n=>new Promise(((i,s)=>{i=_t(i);const{trans:o,values:a,limit:u,query:c}=n,l=u===1/0?void 0:u,{index:h,range:d}=c,f=o.objectStore(t),p=h.isPrimaryKey?f:f.index(h.name),y=r(d);if(0===u)return i({result:[]});if(e){const e=a?p.getAll(y,l):p.getAllKeys(y,l);e.onsuccess=e=>i({result:e.target.result}),e.onerror=Sn(s)}else{let e=0;const t=a||!("openKeyCursor"in p)?p.openCursor(y):p.openKeyCursor(y),n=[];t.onsuccess=r=>{const s=t.result;return s?(n.push(a?s.value:s.primaryKey),++e===u?i({result:n}):void s.continue()):i({result:n})},t.onerror=Sn(s)}}))}(s),openCursor:function({trans:e,values:n,query:i,reverse:s,unique:o}){return new Promise(((a,u)=>{a=_t(a);const{index:c,range:l}=i,h=e.objectStore(t),d=c.isPrimaryKey?h:h.index(c.name),f=s?o?"prevunique":"prev":o?"nextunique":"next",p=n||!("openKeyCursor"in d)?d.openCursor(r(l),f):d.openKeyCursor(r(l),f);p.onerror=Sn(u),p.onsuccess=_t((t=>{const n=p.result;if(!n)return void a(null);n.___id=++Rn,n.done=!1;const r=n.continue.bind(n);let i=n.continuePrimaryKey;i&&(i=i.bind(n));const s=n.advance.bind(n),o=()=>{throw new Error("Cursor not stopped")};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw new Error("Cursor not started")},n.fail=_t(u),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{const t=new Promise(((e,t)=>{e=_t(e),p.onerror=Sn(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),a=()=>{if(p.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw new Error("Cursor behind last entry")},n.stop()};return p.onsuccess=_t((e=>{p.onsuccess=a,a()})),n.continue=r,n.continuePrimaryKey=i,n.advance=s,a(),t},a(n)}),u)}))},count({query:e,trans:n}){const{index:i,range:s}=e;return new Promise(((e,o)=>{const a=n.objectStore(t),u=i.isPrimaryKey?a:a.index(i.name),c=r(s),l=c?u.count(c):u.count();l.onsuccess=_t((t=>e(t.target.result))),l.onerror=Sn(o)}))}}}(e))),a={};return o.forEach((e=>a[e.name]=e)),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!a[e])throw new Error(`Table '${e}' not found`);return a[e]},MIN_KEY:-1/0,MAX_KEY:An(t),schema:i}}(t,n,i),e.dbcore);return{dbcore:s}}(e._middlewares,n,e._deps,t);e.core=r.dbcore,e.tables.forEach((t=>{const n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Mn({_novip:e},t,n,r){n.forEach((n=>{const i=r[n];t.forEach((t=>{const r=U(t,n);(!r||"value"in r&&void 0===r.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?N(t,n,{get(){return this.table(n)},set(e){F(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Fn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Nn(e,t){return e._cfg.version-t._cfg.version}function qn(e,t){const n={del:[],add:[],change:[]};let r;for(r in e)t[r]||n.del.push(r);for(r in t){const i=e[r],s=t[r];if(i){const e={name:r,def:s,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(s.primKey.keyPath||"")||i.primKey.auto!==s.primKey.auto&&!Ht)e.recreate=!0,n.change.push(e);else{const t=i.idxByName,r=s.idxByName;let o;for(o in t)r[o]||e.del.push(o);for(o in r){const n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,s])}return n}function Ln(e,t,n,r){const i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Un(i,e))),i}function Un(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function $n(e,t,n){const r={};return W(t.objectStoreNames,0).forEach((e=>{const t=n.objectStore(e);let i=t.keyPath;const s=Kn(Cn(i),i||"",!1,!1,!!t.autoIncrement,i&&"string"!=typeof i,!0),o=[];for(let e=0;e<t.indexNames.length;++e){const n=t.index(t.indexNames[e]);i=n.keyPath;var a=Kn(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&"string"!=typeof i,!1);o.push(a)}r[e]=jn(e,s,o)})),r}function Wn({_novip:e},t,n){const r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){const s=r[i],o=n.objectStore(s);e._hasGetAll="getAll"in o;for(let e=0;e<o.indexNames.length;++e){const n=o.indexNames[e],r=o.index(n).keyPath,i="string"==typeof r?r:"["+W(r).join("+")+"]";if(t[s]){const e=t[s].idxByName[i];e&&(e.name=n,delete t[s].idxByName[i],t[s].idxByName[n]=e)}}}"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&j.WorkerGlobalScope&&j instanceof j.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class zn{_parseStoresSpec(e,t){A(e).forEach((n=>{if(null!==e[n]){var r=e[n].split(",").map(((e,t)=>{const n=(e=e.trim()).replace(/([&*]|\+\+)/g,""),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return Kn(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),I(r),0===t)})),i=r.shift();if(i.multi)throw new Oe.Schema("Primary key cannot be multi-valued");r.forEach((e=>{if(e.auto)throw new Oe.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new Oe.Schema("Index must have a name and cannot be an empty string")})),t[n]=jn(n,i,r)}}))}stores(e){const t=this.db;this._cfg.storesSource=this._cfg.storesSource?D(this._cfg.storesSource,e):e;const n=t._versions,r={};let i={};return n.forEach((e=>{D(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Fn(t,[t._allTables,t,t.Transaction.prototype]),Mn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],A(i),i),t._storeNames=A(i),this}upgrade(e){return this._cfg.contentUpgrade=Fe(this._cfg.contentUpgrade||je,e),this}}function Hn(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new fr("__dbnames",{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:"name"})),n.table("dbnames")}function Vn(e){return e&&"function"==typeof e.databases}function Qn(e){return Kt((function(){return nt.letThrough=!0,e()}))}function Yn(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function Gn(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),s=i.value;return i.done?s:s&&"function"==typeof s.then?s.then(n,r):I(s)?Promise.all(s).then(n,r):n(s)}}return i(t)()}function Xn(e,t,n){var r=arguments.length;if(r<2)throw new Oe.InvalidArgument("Too few arguments");for(var i=new Array(r-1);--r;)i[r-1]=arguments[r];n=i.pop();var s=Z(i);return[e,s,n]}function Jn(e,t,n,r,i){return ot.resolve().then((()=>{const s=nt.transless||nt,o=e._createTransaction(t,n,e._dbSchema,r),a={trans:o,transless:s};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Ee.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),e._close(),e.open().then((()=>Jn(e,t,n,null,i)))):Lt(r)}const u=he(i);let c;u&&Ct();const l=ot.follow((()=>{if(c=i.call(o,o),c)if(u){var e=jt.bind(null,null);c.then(e,e)}else"function"==typeof c.next&&"function"==typeof c.throw&&(c=Gn(c))}),a);return(c&&"function"==typeof c.then?ot.resolve(c).then((e=>o.active?e:Lt(new Oe.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn")))):l.then((()=>c))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),Lt(e))))}))}function Zn(e,t,n){const r=I(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}const er={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){const n=e.table(t),{schema:r}=n,i={},s=[];function o(e,t,n){const r=Tn(e),a=i[r]=i[r]||[],u=null==e?0:"string"==typeof e?1:e.length,c=t>0,l={...n,isVirtual:c,keyTail:t,keyLength:u,extractKey:In(e),unique:!c&&n.unique};return a.push(l),l.isPrimaryKey||s.push(l),u>1&&o(2===u?e[0]:e.slice(0,u-1),t+1,n),a.sort(((e,t)=>e.keyTail-t.keyTail)),l}const a=o(r.primaryKey.keyPath,0,r.primaryKey);i[":id"]=[a];for(const e of r.indexes)o(e.keyPath,0,e);function u(t){const n=t.query.index;return n.isVirtual?{...t,query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:1===r.type?2:r.type,lower:Zn(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:Zn(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}:t;var r,i}const c={...n,schema:{...r,primaryKey:a,indexes:s,getIndexByKeyPath:function(e){const t=i[Tn(e)];return t&&t[0]}},count:e=>n.count(u(e)),query:e=>n.query(u(e)),openCursor(t){const{keyTail:r,isVirtual:i,keyLength:s}=t.query.index;return i?n.openCursor(u(t)).then((n=>n&&function(n){const i=Object.create(n,{continue:{value:function(i){null!=i?n.continue(Zn(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r)):t.unique?n.continue(n.key.slice(0,s).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue()}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(Zn(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){const e=n.key;return 1===s?e[0]:e.slice(0,s)}},value:{get:()=>n.value}});return i}(n))):n.openCursor(t)}};return c}}}};function tr(e,t,n,r){return n=n||{},r=r||"",A(e).forEach((i=>{if(B(t,i)){var s=e[i],o=t[i];if("object"==typeof s&&"object"==typeof o&&s&&o){const e=oe(s);e!==oe(o)?n[r+i]=t[i]:"Object"===e?tr(s,o,n,r+i+"."):s!==o&&(n[r+i]=t[i])}else s!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),A(t).forEach((i=>{B(e,i)||(n[r+i]=t[i])})),n}const nr={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){const n=e.table(t),{primaryKey:r}=n.schema,i={...n,mutate(e){const i=nt.trans,{deleting:s,creating:o,updating:a}=i.table(t).hook;switch(e.type){case"add":if(o.fire===je)break;return i._promise("readwrite",(()=>u(e)),!0);case"put":if(o.fire===je&&a.fire===je)break;return i._promise("readwrite",(()=>u(e)),!0);case"delete":if(s.fire===je)break;return i._promise("readwrite",(()=>u(e)),!0);case"deleteRange":if(s.fire===je)break;return i._promise("readwrite",(()=>function(e){return c(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function u(e){const t=nt.trans,i=e.keys||function(e,t){return"delete"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw new Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:i}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return"add"===t.type?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:"immutable"})}(n,e,i).then((u=>{const c=i.map(((n,i)=>{const c=u[i],l={onerror:null,onsuccess:null};if("delete"===e.type)s.fire.call(l,n,c,t);else if("add"===e.type||void 0===c){const s=o.fire.call(l,n,e.values[i],t);null==n&&null!=s&&(n=s,e.keys[i]=n,r.outbound||G(e.values[i],r.keyPath,n))}else{const r=tr(c,e.values[i]),s=a.fire.call(l,r,n,c,t);if(s){const t=e.values[i];Object.keys(s).forEach((e=>{B(t,e)?t[e]=s[e]:G(t,e,s[e])}))}}return l}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:s})=>{for(let r=0;r<i.length;++r){const s=n?n[r]:i[r],o=c[r];null==s?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess("put"===e.type&&u[r]?e.values[r]:s)}return{failures:t,results:n,numFailures:r,lastResult:s}})).catch((e=>(c.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function c(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>u({type:"delete",keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:c(e,{...t,lower:n[n.length-1],lowerOpen:!0},i)))))}}};return i}})};function rr(e,t,n){try{if(!t)return null;if(t.keys.length<e.length)return null;const r=[];for(let i=0,s=0;i<t.keys.length&&s<e.length;++i)0===ln(t.keys[i],e[s])&&(r.push(n?re(t.values[i]):t.values[i]),++s);return r.length===e.length?r:null}catch(e){return null}}const ir={stack:"dbcore",level:-1,create:e=>({table:t=>{const n=e.table(t);return{...n,getMany:e=>{if(!e.cache)return n.getMany(e);const t=rr(e.keys,e.trans._cache,"clone"===e.cache);return t?ot.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?re(t):t},t)))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),n.mutate(e))}}})};function sr(e){return!("from"in e)}const or=function(e,t){if(!this){const t=new or;return e&&"d"in e&&D(t,e),t}D(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ar(e,t,n){const r=ln(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(sr(e))return D(e,{from:t,to:n,d:1});const i=e.l,s=e.r;if(ln(n,e.from)<0)return i?ar(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},lr(e);if(ln(t,e.to)>0)return s?ar(s,t,n):e.r={from:t,to:n,d:1,l:null,r:null},lr(e);ln(t,e.from)<0&&(e.from=t,e.l=null,e.d=s?s.d+1:1),ln(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);const o=!e.r;i&&!e.l&&ur(e,i),s&&o&&ur(e,s)}function ur(e,t){sr(t)||function e(t,{from:n,to:r,l:i,r:s}){ar(t,n,r),i&&e(t,i),s&&e(t,s)}(e,t)}function cr(e){let t=sr(e)?null:{s:0,n:e};return{next(e){const n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&ln(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||ln(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function lr(e){var t,n;const r=((null===(t=e.r)||void 0===t?void 0:t.d)||0)-((null===(n=e.l)||void 0===n?void 0:n.d)||0),i=r>1?"r":r<-1?"l":"";if(i){const t="r"===i?"l":"r",n={...e},r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=hr(n)}e.d=hr(e)}function hr({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}M(or.prototype,{add(e){return ur(this,e),this},addKey(e){return ar(this,e,e),this},addKeys(e){return e.forEach((e=>ar(this,e,e))),this},[ae](){return cr(this)}});const dr={stack:"dbcore",level:0,create:e=>{const t=e.schema.name,n=new or(e.MIN_KEY,e.MAX_KEY);return{...e,table:r=>{const i=e.table(r),{schema:s}=i,{primaryKey:o}=s,{extractKey:a,outbound:u}=o,c={...i,mutate:e=>{const o=e.trans,a=o.mutatedParts||(o.mutatedParts={}),u=e=>{const n=`idb://${t}/${r}/${e}`;return a[n]||(a[n]=new or)},c=u(""),l=u(":dels"),{type:h}=e;let[d,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[];const p=e.trans._cache;return i.mutate(e).then((e=>{if(I(d)){"delete"!==h&&(d=e.results),c.addKeys(d);const t=rr(d,p);t||"add"===h||l.addKeys(d),(t||f)&&function(e,t,n,r){t.indexes.forEach((function(t){const i=e(t.name||"");function s(e){return null!=e?t.extractKey(e):null}const o=e=>t.multiEntry&&I(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{const i=n&&s(n[t]),a=r&&s(r[t]);0!==ln(i,a)&&(null!=i&&o(i),null!=a&&o(a))}))}))}(u,s,t,f)}else if(d){const e={from:d.lower,to:d.upper};l.add(e),c.add(e)}else c.add(n),l.add(n),s.indexes.forEach((e=>u(e.name).add(n)));return e}))}},l=({query:{index:t,range:n}})=>{var r,i;return[t,new or(null!==(r=n.lower)&&void 0!==r?r:e.MIN_KEY,null!==(i=n.upper)&&void 0!==i?i:e.MAX_KEY)]},h={get:e=>[o,new or(e.key)],getMany:e=>[o,(new or).addKeys(e.keys)],count:l,query:l,openCursor:l};return A(h).forEach((e=>{c[e]=function(s){const{subscr:o}=nt;if(o){const c=e=>{const n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new or)},l=c(""),d=c(":dels"),[f,p]=h[e](s);if(c(f.name||"").add(p),!f.isPrimaryKey){if("count"!==e){const t="query"===e&&u&&s.values&&i.query({...s,values:!1});return i[e].apply(this,arguments).then((n=>{if("query"===e){if(u&&s.values)return t.then((({result:e})=>(l.addKeys(e),n)));const e=s.values?n.result.map(a):n.result;s.values?l.addKeys(e):d.addKeys(e)}else if("openCursor"===e){const e=n,t=s.values;return e&&Object.create(e,{key:{get:()=>(d.addKey(e.primaryKey),e.key)},primaryKey:{get(){const t=e.primaryKey;return d.addKey(t),t}},value:{get:()=>(t&&l.addKey(e.primaryKey),e.value)}})}return n}))}d.add(n)}}return i[e].apply(this,arguments)}})),c}}}};class fr{constructor(e,t){this._middlewares={},this.verno=0;const n=fr.dependencies;this._options=t={addons:fr.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:r}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:je,dbReadyPromise:null,cancelOpen:je,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var s;i.dbReadyPromise=new ot((e=>{i.dbReadyResolve=e})),i.openCanceller=new ot(((e,t)=>{i.cancelOpen=t})),this._state=i,this.name=e,this.on=en(this,"populate","blocked","versionchange","close",{ready:[Fe,je]}),this.on.ready.subscribe=z(this.on.ready.subscribe,(e=>(t,n)=>{fr.vip((()=>{const r=this._state;if(r.openComplete)r.dbOpenError||ot.resolve().then(t),n&&e(t);else if(r.onReadyBeingFired)r.onReadyBeingFired.push(t),n&&e(t);else{e(t);const r=this;n||e((function e(){r.on.ready.unsubscribe(t),r.on.ready.unsubscribe(e)}))}}))})),this.Collection=(s=this,tn(fn.prototype,(function(e,t){this.db=s;let n=Xt,r=null;if(t)try{n=t()}catch(e){r=e}const i=e._ctx,o=i.table,a=o.hook.reading.fire;this._ctx={table:o,index:i.index,isPrimKey:!i.index||o.schema.primKey.keyPath&&i.index===o.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:a!==Ae?a:null}}))),this.Table=function(e){return tn(Zt.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:en(null,{creating:[Re,je],reading:[Ie,Ae],updating:[Be,je],deleting:[Te,je]})}))}(this),this.Transaction=function(e){return tn(On.prototype,(function(t,n,r,i,s){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=en(this,"complete","error","abort"),this.parent=s||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new ot(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),Lt(e)}))}))}(this),this.Version=function(e){return tn(zn.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return tn(kn.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:":id"===n?null:n,or:r};const i=e._deps.indexedDB;if(!i)throw new Oe.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on("versionchange",(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on("blocked",(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=An(t.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on("blocked").fire(e),zt.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on("versionchange").fire(e)))},this.use(er),this.use(nr),this.use(dr),this.use(ir),this.vip=Object.create(this,{_vip:{value:!0}}),r.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new Oe.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new Oe.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);const t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Nn),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||nt.letThrough||this._vip)?e():new ot(((e,t)=>{if(this._state.openComplete)return t(new Oe.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new Oe.DatabaseClosed);this.open().catch(je)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});const i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:null==n?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return function(e){const t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?Lt(t.dbOpenError):e));de&&(t.openCanceller._stackHolder=me()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;const r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new Oe.DatabaseClosed("db.open() was cancelled")}let s=t.dbReadyResolve,o=null,a=!1;return ot.race([r,("undefined"==typeof navigator?ot.resolve():Yn()).then((()=>new ot(((r,s)=>{if(i(),!n)throw new Oe.MissingAPI;const u=e.name,c=t.autoSchema?n.open(u):n.open(u,Math.round(10*e.verno));if(!c)throw new Oe.MissingAPI;c.onerror=Sn(s),c.onblocked=_t(e._fireOnBlocked),c.onupgradeneeded=_t((r=>{if(o=c.transaction,t.autoSchema&&!e._options.allowEmptyDB){c.onerror=En,o.abort(),c.result.close();const e=n.deleteDatabase(u);e.onsuccess=e.onerror=_t((()=>{s(new Oe.NoSuchDatabase(`Database ${u} doesnt exist`))}))}else{o.onerror=Sn(s);var i=r.oldVersion>Math.pow(2,62)?0:r.oldVersion;a=i<1,e._novip.idbdb=c.result,function(e,t,n,r){const i=e._dbSchema,s=e._createTransaction("readwrite",e._storeNames,i);s.create(n),s._completion.catch(r);const o=s._reject.bind(s),a=nt.transless||nt;Kt((()=>{nt.trans=s,nt.transless=a,0===t?(A(i).forEach((e=>{Ln(n,e,i[e].primKey,i[e].indexes)})),Bn(e,n),ot.follow((()=>e.on.populate.fire(s))).catch(o)):function({_novip:e},t,n,r){const i=[],s=e._versions;let o=e._dbSchema=$n(0,e.idbdb,r),a=!1;return s.filter((e=>e._cfg.version>=t)).forEach((s=>{i.push((()=>{const i=o,u=s._cfg.dbschema;Wn(e,i,r),Wn(e,u,r),o=e._dbSchema=u;const c=qn(i,u);c.add.forEach((e=>{Ln(r,e[0],e[1].primKey,e[1].indexes)})),c.change.forEach((e=>{if(e.recreate)throw new Oe.Upgrade("Not yet support for changing primary key");{const t=r.objectStore(e.name);e.add.forEach((e=>Un(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Un(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));const l=s._cfg.contentUpgrade;if(l&&s._cfg.version>t){Bn(e,r),n._memoizedTables={},a=!0;let t=X(u);c.del.forEach((e=>{t[e]=i[e]})),Fn(e,[e.Transaction.prototype]),Mn(e,[e.Transaction.prototype],A(t),t),n.schema=t;const s=he(l);let o;s&&Ct();const h=ot.follow((()=>{if(o=l(n),o&&s){var e=jt.bind(null,null);o.then(e,e)}}));return o&&"function"==typeof o.then?ot.resolve(o):h.then((()=>o))}})),i.push((t=>{a&&Vt||function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>null==e[n]&&t.db.deleteObjectStore(n)))}(s._cfg.dbschema,t),Fn(e,[e.Transaction.prototype]),Mn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),function e(){return i.length?ot.resolve(i.shift()(n.idbtrans)).then(e):ot.resolve()}().then((()=>{var e,t;t=r,A(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Ln(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,s,n).catch(o)}))}(e,i/10,o,s)}}),s),c.onsuccess=_t((()=>{o=null;const n=e._novip.idbdb=c.result,i=W(n.objectStoreNames);if(i.length>0)try{const r=n.transaction(1===(s=i).length?s[0]:s,"readonly");t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;const r=e._dbSchema=$n(0,t,n);e._storeNames=W(t.objectStoreNames,0),Mn(e,[e._allTables],A(r),r)}(e,n,r):(Wn(e,e._dbSchema,r),function(e,t){const n=qn($n(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),Bn(e,r)}catch(e){}var s;zt.push(e),n.onversionchange=_t((n=>{t.vcFired=!0,e.on("versionchange").fire(n)})),n.onclose=_t((t=>{e.on("close").fire(t)})),a&&function({indexedDB:e,IDBKeyRange:t},n){!Vn(e)&&"__dbnames"!==n&&Hn(e,t).put({name:n}).catch(je)}(e._deps,u),r()}),s)}))))]).then((()=>(i(),t.onReadyBeingFired=[],ot.resolve(Qn((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Fe,je);return t.onReadyBeingFired=[],ot.resolve(Qn((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),Lt(n)})).finally((()=>{t.openComplete=!0,s()}))}(this)}_close(){const e=this._state,t=zt.indexOf(this);if(t>=0&&zt.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new ot((t=>{e.dbReadyResolve=t})),e.openCanceller=new ot(((t,n)=>{e.cancelOpen=n}))}close(){this._close();const e=this._state;this._options.autoOpen=!1,e.dbOpenError=new Oe.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){const e=arguments.length>0,t=this._state;return new ot(((n,r)=>{const i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=_t((()=>{!function({indexedDB:e,IDBKeyRange:t},n){!Vn(e)&&"__dbnames"!==n&&Hn(e,t).delete(n).catch(je)}(this._deps,this.name),n()})),e.onerror=Sn(r),e.onblocked=this._fireOnBlocked};if(e)throw new Oe.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){const e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return A(this._allTables).map((e=>this._allTables[e]))}transaction(){const e=Xn.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=nt.trans;r&&r.db===this&&-1===e.indexOf("!")||(r=null);const i=-1!==e.indexOf("?");let s,o;e=e.replace("!","").replace("?","");try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t})),"r"==e||"readonly"===e)s="readonly";else{if("rw"!=e&&"readwrite"!=e)throw new Oe.InvalidArgument("Invalid transaction mode: "+e);s="readwrite"}if(r){if("readonly"===r.mode&&"readwrite"===s){if(!i)throw new Oe.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");r=null}r&&o.forEach((e=>{if(r&&-1===r.storeNames.indexOf(e)){if(!i)throw new Oe.SubTransaction("Table "+e+" not included in parent transaction.");r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):Lt(e)}const a=Jn.bind(null,this,s,o,r,n);return r?r._promise(s,a,"lock"):nt.trans?Bt(nt.transless,(()=>this._whenReady(a))):this._whenReady(a)}table(e){if(!B(this._allTables,e))throw new Oe.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}const pr="undefined"!=typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class yr{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:n})}[pr](){return this}}function mr(e,t){return A(t).forEach((n=>{ur(e[n]||(e[n]=new or),t[n])})),e}let vr;try{vr={indexedDB:j.indexedDB||j.mozIndexedDB||j.webkitIndexedDB||j.msIndexedDB,IDBKeyRange:j.IDBKeyRange||j.webkitIDBKeyRange}}catch(n){vr={indexedDB:null,IDBKeyRange:null}}const gr=fr;function br(e){let t=wr;try{wr=!0,Pn.storagemutated.fire(e)}finally{wr=t}}M(gr,{...Ce,delete:e=>new gr(e,{addons:[]}).delete(),exists:e=>new gr(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch("NoSuchDatabaseError",(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return Vn(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>"__dbnames"!==e)))):Hn(e,t).toCollection().primaryKeys()}(gr.dependencies).then(e)}catch(e){return Lt(new Oe.MissingAPI)}},defineClass:()=>function(e){D(this,e)},ignoreTransaction:e=>nt.trans?Bt(nt.transless,e):e(),vip:Qn,async:function(e){return function(){try{var t=Gn(e.apply(this,arguments));return t&&"function"==typeof t.then?t:ot.resolve(t)}catch(e){return Lt(e)}}},spawn:function(e,t,n){try{var r=Gn(e.apply(n,t||[]));return r&&"function"==typeof r.then?r:ot.resolve(r)}catch(e){return Lt(e)}},currentTransaction:{get:()=>nt.trans||null},waitFor:function(e,t){const n=ot.resolve("function"==typeof e?gr.ignoreTransaction(e):e).timeout(t||6e4);return nt.trans?nt.trans.waitFor(n):n},Promise:ot,debug:{get:()=>de,set:e=>{fe(e,"dexie"===e?()=>!0:Yt)}},derive:q,extend:D,props:M,override:z,Events:en,on:Pn,liveQuery:function(e){return new yr((t=>{const n=he(e);let r=!1,i={},s={};const o={get closed(){return r},unsubscribe:()=>{r=!0,Pn.storagemutated.unsubscribe(l)}};t.start&&t.start(o);let a=!1,u=!1;function c(){return A(s).some((e=>i[e]&&function(e,t){const n=cr(t);let r=n.next();if(r.done)return!1;let i=r.value;const s=cr(e);let o=s.next(i.from),a=o.value;for(;!r.done&&!o.done;){if(ln(a.from,i.to)<=0&&ln(a.to,i.from)>=0)return!0;ln(i.from,a.from)<0?i=(r=n.next(a.from)).value:a=(o=s.next(i.from)).value}return!1}(i[e],s[e])))}const l=e=>{mr(i,e),c()&&h()},h=()=>{if(a||r)return;i={};const d={},f=function(t){n&&Ct();const r=()=>Kt(e,{subscr:t,trans:null}),i=nt.trans?Bt(nt.transless,r):r();return n&&i.then(jt,jt),i}(d);u||(Pn("storagemutated",l),u=!0),a=!0,Promise.resolve(f).then((e=>{a=!1,r||(c()?h():(i={},s=d,t.next&&t.next(e)))}),(e=>{a=!1,t.error&&t.error(e),o.unsubscribe()}))};return h(),o}))},extendObservabilitySet:mr,getByKeyPath:Y,setByKeyPath:G,delByKeyPath:function(e,t){"string"==typeof t?G(e,t,void 0):"length"in t&&[].map.call(t,(function(t){G(e,t,void 0)}))},shallowClone:X,deepClone:re,getObjectDiff:tr,cmp:ln,asap:V,minKey:-1/0,addons:[],connections:zt,errnames:Ee,dependencies:vr,semVer:"3.2.1",version:"3.2.1".split(".").map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/Math.pow(10,2*n)))}),gr.maxKey=An(gr.dependencies.IDBKeyRange),"undefined"!=typeof dispatchEvent&&"undefined"!=typeof addEventListener&&(Pn("storagemutated",(e=>{if(!wr){let t;Ht?(t=document.createEvent("CustomEvent"),t.initCustomEvent("x-storagemutated-1",!0,!0,e)):t=new CustomEvent("x-storagemutated-1",{detail:e}),wr=!0,dispatchEvent(t),wr=!1}})),addEventListener("x-storagemutated-1",(({detail:e})=>{wr||br(e)})));let wr=!1;if("undefined"!=typeof BroadcastChannel){const e=new BroadcastChannel("x-storagemutated-1");Pn("storagemutated",(t=>{wr||e.postMessage(t)})),e.onmessage=e=>{e.data&&br(e.data)}}else if("undefined"!=typeof self&&"undefined"!=typeof navigator){Pn("storagemutated",(e=>{try{wr||("undefined"!=typeof localStorage&&localStorage.setItem("x-storagemutated-1",JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:"x-storagemutated-1",changedParts:e}))))}catch(e){}})),addEventListener("storage",(e=>{if("x-storagemutated-1"===e.key){const t=JSON.parse(e.newValue);t&&br(t.changedParts)}}));const e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",(function({data:e}){e&&"x-storagemutated-1"===e.type&&br(e.changedParts)}))}ot.rejectionMapper=function(e,t){if(!e||e instanceof _e||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Ke[e.name])return e;var n=new Ke[e.name](t||e.message,e);return"stack"in e&&N(n,"stack",{get:function(){return this.inner.stack}}),n},fe(de,Yt);var _r=s(766),xr=s(685);const kr=new class extends fr{constructor(){super("EsmOffline"),this.version(3).stores({syncQueue:"++id,userId,type,[userId+type]"}),this.syncQueue=this.table("syncQueue")}},Sr={};function Er(){return kr}const Pr=(0,xr.createGlobalStore)("offline-synchronization",{});function Or(){return Pr}async function Kr(){if(Pr.getState().synchronization)return;const e=await kr.syncQueue.count(),t={},n=Object.entries(Sr),r=n.length,i={},s=new AbortController,o=()=>{const e=Pr.getState().synchronization;Pr.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{Pr.setState({synchronization:{totalCount:e,pendingCount:e,abortController:s}});for(let e=0;e<r&&n.length>0;e++)for(let e=n.length;e--;){const[r,a]=n[e],u=a.dependsOn.map((e=>t[e]));u.every(Boolean)&&(i[r]={},await Promise.all(u),t[r]=Cr(a,i,s,o),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{Pr.setState({synchronization:void 0})}}async function Cr(e,t,n,r){let{type:i,dependsOn:s,process:o}=e;const a=kr.syncQueue,u=[],c=[],l=await jr();await a.where({type:i,userId:l}).each(((e,t)=>{u.push([t.primaryKey,e.content,e.descriptor]),c.push(e.content)}));for(let e=0;e<u.length;e++){const[h,d,{id:f,dependencies:p=[]}]=u[e];try{const u=await o(d,{abort:n,index:e,items:c,userId:l,dependencies:p.map((e=>{let{id:n,type:r}=e;return s.includes(r)?t[r][n]:void 0}))});void 0!==f&&(t[i][f]=u),await a.delete(h)}catch(e){await a.update(h,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{r()}}}async function jr(){return(await(0,_r.getLoggedInUser)())?.uuid||"*"}async function Ar(e,t,n,r){const i=kr.syncQueue,s=r&&r.id;return void 0!==s&&await i.where({type:t,userId:e}).filter((e=>e?.descriptor.id===s)).delete(),await i.add({type:t,content:n,userId:e,descriptor:r||{},createdOn:new Date})}async function Ir(e,t,n){const r=await jr();return await Ar(r,e,t,n)}async function Dr(e,t){const n=kr.syncQueue,r=[];return await n.where({type:t,userId:e}).each((e=>{r.push(e.content)})),r}async function Rr(e){const t=await jr();return await Dr(t,e)}async function Tr(e){return await kr.syncQueue.get(e)}function Br(e){return!!Sr[e]?.options.onBeginEditSyncItem}async function Mr(e){const t=await Tr(e);if(!t)throw new Error(`No sync item with the ID ${e} exists.`);const n=Sr[t.type]?.options.onBeginEditSyncItem;if(!n)throw new Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function Fr(e){await kr.syncQueue.delete(e)}function Nr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Sr[e]={type:e,dependsOn:t,process:n,options:r}}var qr,Lr=new Uint8Array(16);function Ur(){if(!qr&&!(qr="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return qr(Lr)}const $r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Wr=function(e){return"string"==typeof e&&$r.test(e)};for(var zr=[],Hr=0;Hr<256;++Hr)zr.push((Hr+256).toString(16).substr(1));const Vr=function(e,t,n){var r=(e=e||{}).random||(e.rng||Ur)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(zr[e[t+0]]+zr[e[t+1]]+zr[e[t+2]]+zr[e[t+3]]+"-"+zr[e[t+4]]+zr[e[t+5]]+"-"+zr[e[t+6]]+zr[e[t+7]]+"-"+zr[e[t+8]]+zr[e[t+9]]+"-"+zr[e[t+10]]+zr[e[t+11]]+zr[e[t+12]]+zr[e[t+13]]+zr[e[t+14]]+zr[e[t+15]]).toLowerCase();if(!Wr(n))throw TypeError("Stringified UUID is invalid");return n}(r)},Qr="OFFLINE+";function Yr(){return Qr+Vr()}function Gr(e){return e.startsWith(Qr)}const Xr=(0,xr.createGlobalStore)("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function Jr(){return Xr}function Zr(e,t){const n=Xr.getState();Xr.setState({handlers:{...n.handlers,[e]:t}})}async function ei(e){const t=Object.entries(Xr.getState().handlers),n=t.map((e=>{let[t]=e;return t})),r=[],i=[],s={},o=new AbortController;await ti(e,{timestamp:new Date,syncingHandlers:n,syncedHandlers:r,failedHandlers:i,errors:s,abort:()=>(o.abort(),!0)}),await Promise.all(t.map((async t=>{let[n,a]=t;try{await a.onOfflinePatientAdded({patientUuid:e,signal:o.signal}),console.debug(`Offline patient handler ${n} successfully synchronized patient data.`),r.push(n)}catch(e){console.error(`Offline patient handler ${n} failed. Error: `,e),i.push(n),s[n]=e?.message??e?.toString()??""}}))),await ti(e,{timestamp:new Date,syncingHandlers:[],syncedHandlers:r,failedHandlers:i,errors:s,abort:()=>!1})}async function ti(e,t){const n=Xr.getState();Xr.setState({offlinePatientDataSyncState:{...n.offlinePatientDataSyncState,[e]:t}});const r=new ri,i={id:(await r.offlinePatientDataSyncStates.get({patientUuid:e}))?.id,patientUuid:e,state:{timestamp:t.timestamp,syncedHandlers:t.syncedHandlers,failedHandlers:[...t.failedHandlers,...t.syncingHandlers],errors:t.errors}};await r.offlinePatientDataSyncStates.put(i)}async function ni(){const e=new ri,t=await e.offlinePatientDataSyncStates.toArray(),n=Xr.getState().offlinePatientDataSyncState;for(const e of t)n[e.patientUuid]={...e.state,syncingHandlers:[],abort:()=>!1};Xr.setState({offlinePatientDataSyncState:n})}class ri extends fr{constructor(){super("EsmOfflinePatientData"),this.version(1).stores({offlinePatientDataSyncStates:"++id,&patientUuid"}),this.offlinePatientDataSyncStates=this.table("offlinePatientDataSyncStates")}}})(),o})())}}}));
|
|
2
2
|
//# sourceMappingURL=openmrs-esm-offline.js.map
|