(()=>{"use strict";vare,t=newUint8Array(16);functionn(){if(!e&&!(e="undefined"!=typeofcrypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeofmsCrypto&&"function"==typeofmsCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))thrownewError("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");returne(t)}consts=/^(?:[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;for(vara=[],o=0;o<256;++o)a.push((o+256).toString(16).substr(1));constr=function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:0,n=(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeofe&&s.test(e)}(n))throwTypeError("Stringified UUID is invalid");returnn},i=function(e,t,s){vara=(e=e||{}).random||(e.rng||n)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){s=s||0;for(varo=0;o<16;++o)t[s+o]=a[o];returnt}returnr(a)};letc=(e=21)=>crypto.getRandomValues(newUint8Array(e)).reduce(((e,t)=>e+((t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_")),"");constd=newclass{constructor(){this.queue=[],this.isRunning=!1,this.isReady=!1}enqueue(e){this.queue.push(e),this.isReady&&this.runNext()}asyncrunNext(){if(this.isRunning||0===this.queue.length||!this.isReady)return;this.isRunning=!0;conste=this.queue.shift();try{awaite()}catch(e){console.error("Task failed:",e)}finally{this.isRunning=!1,this.isReady&&this.runNext()}}setReady(){this.isReady=!0,this.runNext()}},u="https://omnivore.app",l="https://api-prod.omnivore.app/api/";letp={};asyncfunctiong(e,t){constn=JSON.stringify({query:"mutation UploadFileRequest($input: UploadFileRequestInput!) {\n uploadFileRequest(input:$input) {\n ... on UploadFileRequestError {\n errorCodes\n }\n ... on UploadFileRequestSuccess {\n id\n createdPageId\n uploadSignedUrl\n }\n }\n }",variables:{input:{url:e,contentType:t,createPageEntry:!0}}}),s="uploadFileRequest",a=awaitgqlRequest(l+"graphql",n);if(!a[s].errorCodes)returna.uploadFileRequest;"UNAUTHORIZED"===a[s].errorCodes[0]?(browserApi.tabs.sendMessage(currentTab.id,{action:ACTIONS.UpdateStatus,payload:{target:"logged_out",status:"logged_out",message:"You are not logged in.",ctx:toolbarCtx}}),b()):browserApi.tabs.sendMessage(currentTab.id,{action:ACTIONS.UpdateStatus,payload:{status:"failure",message:"Unable to save page.",ctx:toolbarCtx}})}functionb(){getStorageItem("postInstallClickComplete").then((e=>{e&&removeStorage("postInstallClickComplete")}))}asyncfunctionI(e,t){constn=i();awaitf(e,SAVE_URL_QUERY,"saveUrl",{source:"extension",clientRequestId:n,url:encodeURI(t)})}asyncfunctionf(e,t,n,s){consta={omnivoreURL:u,originalURL:s.url,requestId:s.clientRequestId};p[a.requestId]=void0;consto=JSON.stringify({query:t,variables:{input:s}});browserApi.tabs.sendMessage(e.id,{action:ACTIONS.ShowToolbar,payload:{type:"loading",ctx:a}});try{constt=awaitgqlRequest(l+"graphql",o);if(t[n].errorCodes)returnvoid("UNAUTHORIZED"===t[n].errorCodes[0]?(browserApi.tabs.sendMessage(e.id,{action:ACTIONS.UpdateStatus,payload:{target:"logged_out",status:"logged_out",message:"You are not logged in.",ctx:a}}),b()):browserApi.tabs.sendMessage(e.id,{action:ACTIONS.UpdateStatus,payload:{status:"failure",message:"Unable to save page.",ctx:a}}));consts=t[n]?t[n].url:void0,r=t[n]?t[n].clientRequestId:void0;browserApi.tabs.sendMessage(e.id,{action:ACTIONS.UpdateStatus,payload:{status:"success",target:"page",ctx:{readerURL:s,responseId:r,requestId:a.requestId}}}),p[a.requestId]={readerURL:s,responseId:r,requestId:a.requestId}}catch(e){console.log("error saving: ",e)}d.setReady()}functiony(e,t,n,s){browserApi.tabs.sendMessage(e,{action:ACTIONS.UpdateStatus,payload:{target:t,status:n,message:s}})}asyncfunctionh(e,t){browserApi.tabs