rmapi-js 2.2.0 → 2.3.0
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.
- package/CHANGELOG.md +31 -0
- package/bundle/rmapi-js.cjs.min.js +4 -4
- package/bundle/rmapi-js.esm.min.js +4 -4
- package/bundle/rmapi-js.iife.min.js +4 -4
- package/dist/index.d.ts +47 -3
- package/dist/index.js +60 -38
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
10
|
|
|
11
|
+
## [2.3.0] - 2022-12-31
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- the root hash is now cached, with the default option of using the cached
|
|
16
|
+
value instead of making a request for it.
|
|
17
|
+
|
|
18
|
+
## [2.2.0] - 2022-12-30
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- `create` and `move` apis added for a simple high level interface for adding
|
|
23
|
+
and moving documents.
|
|
24
|
+
|
|
25
|
+
## [2.1.0] - 2022-12-30
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `putMetadata` created for adding metadata and to parallel `getMetadata`. It's
|
|
30
|
+
just a thin wrapper around `putText`.
|
|
31
|
+
- `putCollection` add to simplify folder creation.
|
|
32
|
+
|
|
33
|
+
## [2.0.0] - 2022-12-26
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- New default URLs to work with the new api.
|
|
38
|
+
- `syncComplete` was readded and working.
|
|
39
|
+
- `putPdf` added for uploading pdfs.
|
|
40
|
+
- `uploadPdf` and `uploadEpub` added to expose a different upload api.
|
|
41
|
+
|
|
11
42
|
## [1.1.0] - 2022-10-07
|
|
12
43
|
|
|
13
44
|
### Removed
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Pt=Object.create;var z=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var Tt=Object.getOwnPropertyNames;var At=Object.getPrototypeOf,Ot=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Mt=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},Fe=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Tt(t))!Ot.call(e,i)&&i!==r&&z(e,i,{get:()=>t[i],enumerable:!(n=Et(t,i))||n.enumerable});return e};var ge=(e,t,r)=>(r=e!=null?Pt(At(e)):{},Fe(t||!e||!e.__esModule?z(r,"default",{value:e,enumerable:!0}):r,e)),St=e=>Fe(z({},"__esModule",{value:!0}),e);var De=p(V=>{"use strict";V.byteLength=Ft;V.toByteArray=Rt;V.fromByteArray=Ut;var P=[],b=[],kt=typeof Uint8Array<"u"?Uint8Array:Array,he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(S=0,Ce=he.length;S<Ce;++S)P[S]=he[S],b[he.charCodeAt(S)]=S;var S,Ce;b["-".charCodeAt(0)]=62;b["_".charCodeAt(0)]=63;function Re(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Ft(e){var t=Re(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Ct(e,t,r){return(t+r)*3/4-r}function Rt(e){var t,r=Re(e),n=r[0],i=r[1],a=new kt(Ct(e,n,i)),s=0,o=i>0?n-4:n,f;for(f=0;f<o;f+=4)t=b[e.charCodeAt(f)]<<18|b[e.charCodeAt(f+1)]<<12|b[e.charCodeAt(f+2)]<<6|b[e.charCodeAt(f+3)],a[s++]=t>>16&255,a[s++]=t>>8&255,a[s++]=t&255;return i===2&&(t=b[e.charCodeAt(f)]<<2|b[e.charCodeAt(f+1)]>>4,a[s++]=t&255),i===1&&(t=b[e.charCodeAt(f)]<<10|b[e.charCodeAt(f+1)]<<4|b[e.charCodeAt(f+2)]>>2,a[s++]=t>>8&255,a[s++]=t&255),a}function Dt(e){return P[e>>18&63]+P[e>>12&63]+P[e>>6&63]+P[e&63]}function It(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(Dt(n));return i.join("")}function Ut(e){for(var t,r=e.length,n=r%3,i=[],a=16383,s=0,o=r-n;s<o;s+=a)i.push(It(e,s,s+a>o?o:s+a));return n===1?(t=e[r-1],i.push(P[t>>2]+P[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(P[t>>10]+P[t>>4&63]+P[t<<2&63]+"=")),i.join("")}});var xe=p(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.default=$t;var qt=Lt(require("crypto"));function Lt(e){return e&&e.__esModule?e:{default:e}}var Y=new Uint8Array(256),G=Y.length;function $t(){return G>Y.length-16&&(qt.default.randomFillSync(Y),G=0),Y.slice(G,G+=16)}});var Ie=p(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.default=void 0;var Nt=/^(?:[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;Z.default=Nt});var N=p(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.default=void 0;var Bt=Ht(Ie());function Ht(e){return e&&e.__esModule?e:{default:e}}function jt(e){return typeof e=="string"&&Bt.default.test(e)}var Jt=jt;W.default=Jt});var H=p(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.default=void 0;B.unsafeStringify=Ue;var zt=Vt(N());function Vt(e){return e&&e.__esModule?e:{default:e}}var y=[];for(let e=0;e<256;++e)y.push((e+256).toString(16).slice(1));function Ue(e,t=0){return(y[e[t+0]]+y[e[t+1]]+y[e[t+2]]+y[e[t+3]]+"-"+y[e[t+4]]+y[e[t+5]]+"-"+y[e[t+6]]+y[e[t+7]]+"-"+y[e[t+8]]+y[e[t+9]]+"-"+y[e[t+10]]+y[e[t+11]]+y[e[t+12]]+y[e[t+13]]+y[e[t+14]]+y[e[t+15]]).toLowerCase()}function Gt(e,t=0){let r=Ue(e,t);if(!(0,zt.default)(r))throw TypeError("Stringified UUID is invalid");return r}var Yt=Gt;B.default=Yt});var Le=p(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.default=void 0;var Zt=Kt(xe()),Wt=H();function Kt(e){return e&&e.__esModule?e:{default:e}}var qe,be,we=0,_e=0;function Qt(e,t,r){let n=t&&r||0,i=t||new Array(16);e=e||{};let a=e.node||qe,s=e.clockseq!==void 0?e.clockseq:be;if(a==null||s==null){let c=e.random||(e.rng||Zt.default)();a==null&&(a=qe=[c[0]|1,c[1],c[2],c[3],c[4],c[5]]),s==null&&(s=be=(c[6]<<8|c[7])&16383)}let o=e.msecs!==void 0?e.msecs:Date.now(),f=e.nsecs!==void 0?e.nsecs:_e+1,u=o-we+(f-_e)/1e4;if(u<0&&e.clockseq===void 0&&(s=s+1&16383),(u<0||o>we)&&e.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");we=o,_e=f,be=s,o+=122192928e5;let l=((o&268435455)*1e4+f)%4294967296;i[n++]=l>>>24&255,i[n++]=l>>>16&255,i[n++]=l>>>8&255,i[n++]=l&255;let v=o/4294967296*1e4&268435455;i[n++]=v>>>8&255,i[n++]=v&255,i[n++]=v>>>24&15|16,i[n++]=v>>>16&255,i[n++]=s>>>8|128,i[n++]=s&255;for(let c=0;c<6;++c)i[n+c]=a[c];return t||(0,Wt.unsafeStringify)(i)}var Xt=Qt;K.default=Xt});var Pe=p(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.default=void 0;var er=tr(N());function tr(e){return e&&e.__esModule?e:{default:e}}function rr(e){if(!(0,er.default)(e))throw TypeError("Invalid UUID");let t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var nr=rr;Q.default=nr});var Ee=p(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.URL=k.DNS=void 0;k.default=fr;var ir=H(),ar=sr(Pe());function sr(e){return e&&e.__esModule?e:{default:e}}function or(e){e=unescape(encodeURIComponent(e));let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}var $e="6ba7b810-9dad-11d1-80b4-00c04fd430c8";k.DNS=$e;var Ne="6ba7b811-9dad-11d1-80b4-00c04fd430c8";k.URL=Ne;function fr(e,t,r){function n(i,a,s,o){var f;if(typeof i=="string"&&(i=or(i)),typeof a=="string"&&(a=(0,ar.default)(a)),((f=a)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+i.length);if(u.set(a),u.set(i,a.length),u=r(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,s){o=o||0;for(let l=0;l<16;++l)s[o+l]=u[l];return s}return(0,ir.unsafeStringify)(u)}try{n.name=e}catch{}return n.DNS=$e,n.URL=Ne,n}});var Be=p(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.default=void 0;var ur=lr(require("crypto"));function lr(e){return e&&e.__esModule?e:{default:e}}function dr(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),ur.default.createHash("md5").update(e).digest()}var cr=dr;X.default=cr});var je=p(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.default=void 0;var pr=He(Ee()),yr=He(Be());function He(e){return e&&e.__esModule?e:{default:e}}var mr=(0,pr.default)("v3",48,yr.default),gr=mr;ee.default=gr});var Je=p(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.default=void 0;var hr=vr(require("crypto"));function vr(e){return e&&e.__esModule?e:{default:e}}var xr={randomUUID:hr.default.randomUUID};te.default=xr});var Ge=p(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.default=void 0;var ze=Ve(Je()),br=Ve(xe()),wr=H();function Ve(e){return e&&e.__esModule?e:{default:e}}function _r(e,t,r){if(ze.default.randomUUID&&!t&&!e)return ze.default.randomUUID();e=e||{};let n=e.random||(e.rng||br.default)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return(0,wr.unsafeStringify)(n)}var Pr=_r;re.default=Pr});var Ye=p(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.default=void 0;var Er=Tr(require("crypto"));function Tr(e){return e&&e.__esModule?e:{default:e}}function Ar(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),Er.default.createHash("sha1").update(e).digest()}var Or=Ar;ne.default=Or});var We=p(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.default=void 0;var Mr=Ze(Ee()),Sr=Ze(Ye());function Ze(e){return e&&e.__esModule?e:{default:e}}var kr=(0,Mr.default)("v5",80,Sr.default),Fr=kr;ie.default=Fr});var Ke=p(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.default=void 0;var Cr="00000000-0000-0000-0000-000000000000";ae.default=Cr});var Qe=p(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.default=void 0;var Rr=Dr(N());function Dr(e){return e&&e.__esModule?e:{default:e}}function Ir(e){if(!(0,Rr.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var Ur=Ir;se.default=Ur});var Xe=p(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});Object.defineProperty(_,"NIL",{enumerable:!0,get:function(){return Br.default}});Object.defineProperty(_,"parse",{enumerable:!0,get:function(){return zr.default}});Object.defineProperty(_,"stringify",{enumerable:!0,get:function(){return Jr.default}});Object.defineProperty(_,"v1",{enumerable:!0,get:function(){return qr.default}});Object.defineProperty(_,"v3",{enumerable:!0,get:function(){return Lr.default}});Object.defineProperty(_,"v4",{enumerable:!0,get:function(){return $r.default}});Object.defineProperty(_,"v5",{enumerable:!0,get:function(){return Nr.default}});Object.defineProperty(_,"validate",{enumerable:!0,get:function(){return jr.default}});Object.defineProperty(_,"version",{enumerable:!0,get:function(){return Hr.default}});var qr=T(Le()),Lr=T(je()),$r=T(Ge()),Nr=T(We()),Br=T(Ke()),Hr=T(Qe()),jr=T(N()),Jr=T(H()),zr=T(Pe());function T(e){return e&&e.__esModule?e:{default:e}}});var Oe=p(d=>{"use strict";var rt=d&&d.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function Vr(e){let{definitions:t,nullable:r,metadata:n}=e,i=rt(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=Vr;function nt(e){return"ref"in e}d.isRefForm=nt;function Gr(e){return"type"in e}d.isTypeForm=Gr;function it(e){return"enum"in e}d.isEnumForm=it;function at(e){return"elements"in e}d.isElementsForm=at;function Ae(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=Ae;function st(e){return"values"in e}d.isValuesForm=st;function ot(e){return"discriminator"in e}d.isDiscriminatorForm=ot;function F(e,t){if(t===void 0&&(t=e),e.definitions!==void 0){if(t!==e)return!1;for(let r of Object.values(e.definitions))if(!F(r,t))return!1}if(nt(e)&&!(e.ref in(t.definitions||{}))||it(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(at(e))return F(e.elements,t);if(Ae(e)){for(let r of Object.values(e.properties||{}))if(!F(r,t))return!1;for(let r of Object.values(e.optionalProperties||{}))if(!F(r,t))return!1;for(let r of Object.keys(e.properties||{}))if(r in(e.optionalProperties||{}))return!1}if(st(e))return F(e.values,t);if(ot(e)){for(let r of Object.values(e.mapping))if(!F(r,t)||!Ae(r)||r.nullable||e.discriminator in(r.properties||{})||e.discriminator in(r.optionalProperties||{}))return!1}return!0}d.isValidSchema=F;var Yr=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],Zr=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function C(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let t=e,{definitions:r=void 0,nullable:n=void 0,metadata:i=void 0,ref:a=void 0,type:s=void 0,enum:o=void 0,elements:f=void 0,properties:u=void 0,optionalProperties:l=void 0,additionalProperties:v=void 0,values:c=void 0,discriminator:$=void 0,mapping:A=void 0}=t,pe=rt(t,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),ye=[a!==void 0,s!==void 0,o!==void 0,f!==void 0,u!==void 0,l!==void 0,v!==void 0,c!==void 0,$!==void 0,A!==void 0],w=!1;for(let x of Yr)w=w||x.every((J,ke)=>J===ye[ke]);if(!w)return!1;if(r!==void 0){if(typeof r!="object"||Array.isArray(r)||r===null)return!1;for(let x of Object.values(r))if(!C(x))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||a!==void 0&&typeof a!="string"||s!==void 0&&(typeof s!="string"||!Zr.includes(s))||o!==void 0&&(!Array.isArray(o)||!o.every(x=>typeof x=="string"))||f!==void 0&&!C(f))return!1;if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let x of Object.values(u))if(!C(x))return!1}if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let x of Object.values(l))if(!C(x))return!1}if(v!==void 0&&typeof v!="boolean"||c!==void 0&&!C(c)||$!==void 0&&typeof $!="string")return!1;if(A!==void 0){if(typeof A!="object"||Array.isArray(A)||A===null)return!1;for(let x of Object.values(A))if(!C(x))return!1}return Object.keys(pe).length===0}d.isSchema=C});var ft=p(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});var Wr=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function Kr(e){let t=e.match(Wr);if(t===null)return!1;let r=parseInt(t[1],10),n=parseInt(t[2],10),i=parseInt(t[3],10),a=parseInt(t[4],10),s=parseInt(t[5],10),o=parseInt(t[6],10);return!(n>12||i>Qr(r,n)||a>23||s>59||o>60)}Me.default=Kr;function Qr(e,t){return t===2?Xr(e)?29:28:en[t]}function Xr(e){return e%4===0&&(e%100!==0||e%400===0)}var en=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var ut=p(O=>{"use strict";var tn=O&&O.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(O,"__esModule",{value:!0});O.validate=O.MaxDepthExceededError=void 0;var rn=tn(ft()),R=Oe(),fe=class extends Error{};O.MaxDepthExceededError=fe;var ue=class extends Error{};function nn(e,t,r){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:r||{maxDepth:0,maxErrors:0}};try{U(n,e,t)}catch(i){if(!(i instanceof ue))throw i}return n.errors}O.validate=nn;function U(e,t,r,n){if(!(t.nullable&&r===null)){if(R.isRefForm(t)){if(e.schemaTokens.length===e.config.maxDepth)throw new fe;e.schemaTokens.push(["definitions",t.ref]),U(e,e.root.definitions[t.ref],r),e.schemaTokens.pop()}else if(R.isTypeForm(t)){switch(m(e,"type"),t.type){case"boolean":typeof r!="boolean"&&g(e);break;case"float32":case"float64":typeof r!="number"&&g(e);break;case"int8":L(e,r,-128,127);break;case"uint8":L(e,r,0,255);break;case"int16":L(e,r,-32768,32767);break;case"uint16":L(e,r,0,65535);break;case"int32":L(e,r,-2147483648,2147483647);break;case"uint32":L(e,r,0,4294967295);break;case"string":typeof r!="string"&&g(e);break;case"timestamp":typeof r!="string"?g(e):rn.default(r)||g(e);break}h(e)}else if(R.isEnumForm(t))m(e,"enum"),(typeof r!="string"||!t.enum.includes(r))&&g(e),h(e);else if(R.isElementsForm(t)){if(m(e,"elements"),Array.isArray(r))for(let[i,a]of r.entries())D(e,i.toString()),U(e,t.elements,a),I(e);else g(e);h(e)}else if(R.isPropertiesForm(t))if(typeof r=="object"&&r!==null&&!Array.isArray(r)){if(t.properties!==void 0){m(e,"properties");for(let[i,a]of Object.entries(t.properties))m(e,i),r.hasOwnProperty(i)?(D(e,i),U(e,a,r[i]),I(e)):g(e),h(e);h(e)}if(t.optionalProperties!==void 0){m(e,"optionalProperties");for(let[i,a]of Object.entries(t.optionalProperties))m(e,i),r.hasOwnProperty(i)&&(D(e,i),U(e,a,r[i]),I(e)),h(e);h(e)}if(t.additionalProperties!==!0)for(let i of Object.keys(r)){let a=t.properties&&i in t.properties,s=t.optionalProperties&&i in t.optionalProperties;!a&&!s&&i!==n&&(D(e,i),g(e),I(e))}}else t.properties!==void 0?m(e,"properties"):m(e,"optionalProperties"),g(e),h(e);else if(R.isValuesForm(t)){if(m(e,"values"),typeof r=="object"&&r!==null&&!Array.isArray(r))for(let[i,a]of Object.entries(r))D(e,i),U(e,t.values,a),I(e);else g(e);h(e)}else if(R.isDiscriminatorForm(t))if(typeof r=="object"&&r!==null&&!Array.isArray(r))if(r.hasOwnProperty(t.discriminator)){let i=r[t.discriminator];typeof i=="string"?i in t.mapping?(m(e,"mapping"),m(e,i),U(e,t.mapping[i],r,t.discriminator),h(e),h(e)):(m(e,"mapping"),D(e,t.discriminator),g(e),I(e),h(e)):(m(e,"discriminator"),D(e,t.discriminator),g(e),I(e),h(e))}else m(e,"discriminator"),g(e),h(e);else m(e,"discriminator"),g(e),h(e)}}function L(e,t,r,n){(typeof t!="number"||!Number.isInteger(t)||t<r||t>n)&&g(e)}function D(e,t){e.instanceTokens.push(t)}function I(e){e.instanceTokens.pop()}function m(e,t){e.schemaTokens[e.schemaTokens.length-1].push(t)}function h(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function g(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new ue}});var dt=p(M=>{"use strict";var an=M&&M.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),lt=M&&M.__exportStar||function(e,t){for(var r in e)r!=="default"&&!t.hasOwnProperty(r)&&an(t,e,r)};Object.defineProperty(M,"__esModule",{value:!0});lt(Oe(),M);lt(ut(),M)});var hn={};Mt(hn,{GenerationError:()=>ce,ResponseError:()=>q,builtinFontNames:()=>ln,builtinLineHeights:()=>bt,builtinMargins:()=>xt,builtinTextScales:()=>vt,builtinTools:()=>un,formatEntry:()=>wt,parseEntry:()=>_t,register:()=>mn,remarkable:()=>gn});module.exports=St(hn);var gt=ge(De());var E=ge(Xe(),1),Un=E.default.v1,qn=E.default.v3,oe=E.default.v4,Ln=E.default.v5,$n=E.default.NIL,Nn=E.default.version,Bn=E.default.validate,Hn=E.default.stringify,jn=E.default.parse;function Te(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}function et(e){return new Uint8Array((e.match(/../g)??[]).map(t=>parseInt(t,16)))}function tt(e){let t=0;for(let i of e)t+=i.length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}var ct=ge(dt());function j(e,t){if((0,ct.validate)(e,t).length)throw new Error(`couldn't validate schema: ${JSON.stringify(t)} didn't match schema ${JSON.stringify(e)}`)}var pt="3",ht="https://webapp-prod.cloud.remarkable.engineering",sn="https://internal.cloud.remarkable.com",yt="x-goog-generation",on="x-goog-if-generation-match",fn="x-goog-content-length-range",un=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],ln=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],vt={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},xt={sm:50,md:125,rr:180,lg:200},bt={df:-1,md:100,lg:150,xl:200},dn={properties:{docID:{type:"string"},hash:{type:"string"}}},cn={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},le={visibleName:{type:"string"},lastModified:{type:"string"}},de={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},pn={discriminator:"type",mapping:{CollectionType:{properties:le,optionalProperties:de},DocumentType:{properties:le,optionalProperties:{...de,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},mt={id:{type:"string"},hash:{type:"string"}},yn={discriminator:"type",mapping:{CollectionType:{properties:{...le,...mt},optionalProperties:de},DocumentType:{properties:{...le,...mt,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...de,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},q=class extends Error{constructor(r,n,i){super(i);this.status=r,this.statusText=n}},ce=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function mn(e,{deviceDesc:t="browser-chrome",uuid:r=oe(),authHost:n=ht,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let a=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:t,deviceID:r})});if(a.ok)return await a.text();throw new q(a.status,a.statusText,"couldn't register api")}function wt({hash:e,type:t,documentId:r,subfiles:n,size:i}){return`${e}:${t}:${r}:${n}:${i}
|
|
2
|
-
`}function _t(e){let[t,r,n,i,a]=e.split(":");if(t===void 0||r===void 0||n===void 0||i===void 0||a===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(r==="80000000")return{hash:t,type:r,documentId:n,subfiles:parseInt(i),size:BigInt(a)};if(r==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:t,type:r,documentId:n,subfiles:0,size:BigInt(a)}}else throw new Error(`entries line contained invalid type: ${r}`)}var Se=class{#o;#
|
|
3
|
-
`);if(n!==pt)throw new Error(`got unexpected schema version: ${n}`);return i.map(_t)}async#
|
|
4
|
-
${
|
|
1
|
+
var Pt=Object.create;var z=Object.defineProperty;var Et=Object.getOwnPropertyDescriptor;var Tt=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,At=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Mt=(e,t)=>{for(var r in t)z(e,r,{get:t[r],enumerable:!0})},Ce=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Tt(t))!At.call(e,i)&&i!==r&&z(e,i,{get:()=>t[i],enumerable:!(n=Et(t,i))||n.enumerable});return e};var ge=(e,t,r)=>(r=e!=null?Pt(Ot(e)):{},Ce(t||!e||!e.__esModule?z(r,"default",{value:e,enumerable:!0}):r,e)),St=e=>Ce(z({},"__esModule",{value:!0}),e);var Ie=p(G=>{"use strict";G.byteLength=Ct;G.toByteArray=Rt;G.fromByteArray=Ut;var P=[],x=[],kt=typeof Uint8Array<"u"?Uint8Array:Array,he="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(S=0,Fe=he.length;S<Fe;++S)P[S]=he[S],x[he.charCodeAt(S)]=S;var S,Fe;x["-".charCodeAt(0)]=62;x["_".charCodeAt(0)]=63;function Re(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Ct(e){var t=Re(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Ft(e,t,r){return(t+r)*3/4-r}function Rt(e){var t,r=Re(e),n=r[0],i=r[1],a=new kt(Ft(e,n,i)),o=0,s=i>0?n-4:n,f;for(f=0;f<s;f+=4)t=x[e.charCodeAt(f)]<<18|x[e.charCodeAt(f+1)]<<12|x[e.charCodeAt(f+2)]<<6|x[e.charCodeAt(f+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=x[e.charCodeAt(f)]<<2|x[e.charCodeAt(f+1)]>>4,a[o++]=t&255),i===1&&(t=x[e.charCodeAt(f)]<<10|x[e.charCodeAt(f+1)]<<4|x[e.charCodeAt(f+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function It(e){return P[e>>18&63]+P[e>>12&63]+P[e>>6&63]+P[e&63]}function Dt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(It(n));return i.join("")}function Ut(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(Dt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(P[t>>2]+P[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(P[t>>10]+P[t>>4&63]+P[t<<2&63]+"=")),i.join("")}});var be=p(ve=>{"use strict";Object.defineProperty(ve,"__esModule",{value:!0});ve.default=$t;var qt=Lt(require("crypto"));function Lt(e){return e&&e.__esModule?e:{default:e}}var Y=new Uint8Array(256),V=Y.length;function $t(){return V>Y.length-16&&(qt.default.randomFillSync(Y),V=0),Y.slice(V,V+=16)}});var De=p(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.default=void 0;var Nt=/^(?:[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;Z.default=Nt});var N=p(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.default=void 0;var Bt=Ht(De());function Ht(e){return e&&e.__esModule?e:{default:e}}function jt(e){return typeof e=="string"&&Bt.default.test(e)}var Jt=jt;W.default=Jt});var H=p(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.default=void 0;B.unsafeStringify=Ue;var zt=Gt(N());function Gt(e){return e&&e.__esModule?e:{default:e}}var m=[];for(let e=0;e<256;++e)m.push((e+256).toString(16).slice(1));function Ue(e,t=0){return(m[e[t+0]]+m[e[t+1]]+m[e[t+2]]+m[e[t+3]]+"-"+m[e[t+4]]+m[e[t+5]]+"-"+m[e[t+6]]+m[e[t+7]]+"-"+m[e[t+8]]+m[e[t+9]]+"-"+m[e[t+10]]+m[e[t+11]]+m[e[t+12]]+m[e[t+13]]+m[e[t+14]]+m[e[t+15]]).toLowerCase()}function Vt(e,t=0){let r=Ue(e,t);if(!(0,zt.default)(r))throw TypeError("Stringified UUID is invalid");return r}var Yt=Vt;B.default=Yt});var Le=p(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.default=void 0;var Zt=Kt(be()),Wt=H();function Kt(e){return e&&e.__esModule?e:{default:e}}var qe,xe,we=0,_e=0;function Qt(e,t,r){let n=t&&r||0,i=t||new Array(16);e=e||{};let a=e.node||qe,o=e.clockseq!==void 0?e.clockseq:xe;if(a==null||o==null){let c=e.random||(e.rng||Zt.default)();a==null&&(a=qe=[c[0]|1,c[1],c[2],c[3],c[4],c[5]]),o==null&&(o=xe=(c[6]<<8|c[7])&16383)}let s=e.msecs!==void 0?e.msecs:Date.now(),f=e.nsecs!==void 0?e.nsecs:_e+1,u=s-we+(f-_e)/1e4;if(u<0&&e.clockseq===void 0&&(o=o+1&16383),(u<0||s>we)&&e.nsecs===void 0&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");we=s,_e=f,xe=o,s+=122192928e5;let l=((s&268435455)*1e4+f)%4294967296;i[n++]=l>>>24&255,i[n++]=l>>>16&255,i[n++]=l>>>8&255,i[n++]=l&255;let y=s/4294967296*1e4&268435455;i[n++]=y>>>8&255,i[n++]=y&255,i[n++]=y>>>24&15|16,i[n++]=y>>>16&255,i[n++]=o>>>8|128,i[n++]=o&255;for(let c=0;c<6;++c)i[n+c]=a[c];return t||(0,Wt.unsafeStringify)(i)}var Xt=Qt;K.default=Xt});var Pe=p(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.default=void 0;var er=tr(N());function tr(e){return e&&e.__esModule?e:{default:e}}function rr(e){if(!(0,er.default)(e))throw TypeError("Invalid UUID");let t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var nr=rr;Q.default=nr});var Ee=p(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.URL=k.DNS=void 0;k.default=fr;var ir=H(),ar=or(Pe());function or(e){return e&&e.__esModule?e:{default:e}}function sr(e){e=unescape(encodeURIComponent(e));let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}var $e="6ba7b810-9dad-11d1-80b4-00c04fd430c8";k.DNS=$e;var Ne="6ba7b811-9dad-11d1-80b4-00c04fd430c8";k.URL=Ne;function fr(e,t,r){function n(i,a,o,s){var f;if(typeof i=="string"&&(i=sr(i)),typeof a=="string"&&(a=(0,ar.default)(a)),((f=a)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let u=new Uint8Array(16+i.length);if(u.set(a),u.set(i,a.length),u=r(u),u[6]=u[6]&15|t,u[8]=u[8]&63|128,o){s=s||0;for(let l=0;l<16;++l)o[s+l]=u[l];return o}return(0,ir.unsafeStringify)(u)}try{n.name=e}catch{}return n.DNS=$e,n.URL=Ne,n}});var Be=p(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.default=void 0;var ur=lr(require("crypto"));function lr(e){return e&&e.__esModule?e:{default:e}}function dr(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),ur.default.createHash("md5").update(e).digest()}var cr=dr;X.default=cr});var je=p(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.default=void 0;var pr=He(Ee()),yr=He(Be());function He(e){return e&&e.__esModule?e:{default:e}}var mr=(0,pr.default)("v3",48,yr.default),gr=mr;ee.default=gr});var Je=p(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.default=void 0;var hr=vr(require("crypto"));function vr(e){return e&&e.__esModule?e:{default:e}}var br={randomUUID:hr.default.randomUUID};te.default=br});var Ve=p(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.default=void 0;var ze=Ge(Je()),xr=Ge(be()),wr=H();function Ge(e){return e&&e.__esModule?e:{default:e}}function _r(e,t,r){if(ze.default.randomUUID&&!t&&!e)return ze.default.randomUUID();e=e||{};let n=e.random||(e.rng||xr.default)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return(0,wr.unsafeStringify)(n)}var Pr=_r;re.default=Pr});var Ye=p(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.default=void 0;var Er=Tr(require("crypto"));function Tr(e){return e&&e.__esModule?e:{default:e}}function Or(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),Er.default.createHash("sha1").update(e).digest()}var Ar=Or;ne.default=Ar});var We=p(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.default=void 0;var Mr=Ze(Ee()),Sr=Ze(Ye());function Ze(e){return e&&e.__esModule?e:{default:e}}var kr=(0,Mr.default)("v5",80,Sr.default),Cr=kr;ie.default=Cr});var Ke=p(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.default=void 0;var Fr="00000000-0000-0000-0000-000000000000";ae.default=Fr});var Qe=p(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.default=void 0;var Rr=Ir(N());function Ir(e){return e&&e.__esModule?e:{default:e}}function Dr(e){if(!(0,Rr.default)(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var Ur=Dr;oe.default=Ur});var Xe=p(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});Object.defineProperty(_,"NIL",{enumerable:!0,get:function(){return Br.default}});Object.defineProperty(_,"parse",{enumerable:!0,get:function(){return zr.default}});Object.defineProperty(_,"stringify",{enumerable:!0,get:function(){return Jr.default}});Object.defineProperty(_,"v1",{enumerable:!0,get:function(){return qr.default}});Object.defineProperty(_,"v3",{enumerable:!0,get:function(){return Lr.default}});Object.defineProperty(_,"v4",{enumerable:!0,get:function(){return $r.default}});Object.defineProperty(_,"v5",{enumerable:!0,get:function(){return Nr.default}});Object.defineProperty(_,"validate",{enumerable:!0,get:function(){return jr.default}});Object.defineProperty(_,"version",{enumerable:!0,get:function(){return Hr.default}});var qr=O(Le()),Lr=O(je()),$r=O(Ve()),Nr=O(We()),Br=O(Ke()),Hr=O(Qe()),jr=O(N()),Jr=O(H()),zr=O(Pe());function O(e){return e&&e.__esModule?e:{default:e}}});var Ae=p(d=>{"use strict";var rt=d&&d.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function Gr(e){let{definitions:t,nullable:r,metadata:n}=e,i=rt(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=Gr;function nt(e){return"ref"in e}d.isRefForm=nt;function Vr(e){return"type"in e}d.isTypeForm=Vr;function it(e){return"enum"in e}d.isEnumForm=it;function at(e){return"elements"in e}d.isElementsForm=at;function Oe(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=Oe;function ot(e){return"values"in e}d.isValuesForm=ot;function st(e){return"discriminator"in e}d.isDiscriminatorForm=st;function C(e,t){if(t===void 0&&(t=e),e.definitions!==void 0){if(t!==e)return!1;for(let r of Object.values(e.definitions))if(!C(r,t))return!1}if(nt(e)&&!(e.ref in(t.definitions||{}))||it(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(at(e))return C(e.elements,t);if(Oe(e)){for(let r of Object.values(e.properties||{}))if(!C(r,t))return!1;for(let r of Object.values(e.optionalProperties||{}))if(!C(r,t))return!1;for(let r of Object.keys(e.properties||{}))if(r in(e.optionalProperties||{}))return!1}if(ot(e))return C(e.values,t);if(st(e)){for(let r of Object.values(e.mapping))if(!C(r,t)||!Oe(r)||r.nullable||e.discriminator in(r.properties||{})||e.discriminator in(r.optionalProperties||{}))return!1}return!0}d.isValidSchema=C;var Yr=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],Zr=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function F(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let t=e,{definitions:r=void 0,nullable:n=void 0,metadata:i=void 0,ref:a=void 0,type:o=void 0,enum:s=void 0,elements:f=void 0,properties:u=void 0,optionalProperties:l=void 0,additionalProperties:y=void 0,values:c=void 0,discriminator:$=void 0,mapping:T=void 0}=t,pe=rt(t,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),ye=[a!==void 0,o!==void 0,s!==void 0,f!==void 0,u!==void 0,l!==void 0,y!==void 0,c!==void 0,$!==void 0,T!==void 0],w=!1;for(let b of Yr)w=w||b.every((J,ke)=>J===ye[ke]);if(!w)return!1;if(r!==void 0){if(typeof r!="object"||Array.isArray(r)||r===null)return!1;for(let b of Object.values(r))if(!F(b))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||a!==void 0&&typeof a!="string"||o!==void 0&&(typeof o!="string"||!Zr.includes(o))||s!==void 0&&(!Array.isArray(s)||!s.every(b=>typeof b=="string"))||f!==void 0&&!F(f))return!1;if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let b of Object.values(u))if(!F(b))return!1}if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let b of Object.values(l))if(!F(b))return!1}if(y!==void 0&&typeof y!="boolean"||c!==void 0&&!F(c)||$!==void 0&&typeof $!="string")return!1;if(T!==void 0){if(typeof T!="object"||Array.isArray(T)||T===null)return!1;for(let b of Object.values(T))if(!F(b))return!1}return Object.keys(pe).length===0}d.isSchema=F});var ft=p(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});var Wr=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function Kr(e){let t=e.match(Wr);if(t===null)return!1;let r=parseInt(t[1],10),n=parseInt(t[2],10),i=parseInt(t[3],10),a=parseInt(t[4],10),o=parseInt(t[5],10),s=parseInt(t[6],10);return!(n>12||i>Qr(r,n)||a>23||o>59||s>60)}Me.default=Kr;function Qr(e,t){return t===2?Xr(e)?29:28:en[t]}function Xr(e){return e%4===0&&(e%100!==0||e%400===0)}var en=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var ut=p(A=>{"use strict";var tn=A&&A.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(A,"__esModule",{value:!0});A.validate=A.MaxDepthExceededError=void 0;var rn=tn(ft()),R=Ae(),fe=class extends Error{};A.MaxDepthExceededError=fe;var ue=class extends Error{};function nn(e,t,r){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:r||{maxDepth:0,maxErrors:0}};try{U(n,e,t)}catch(i){if(!(i instanceof ue))throw i}return n.errors}A.validate=nn;function U(e,t,r,n){if(!(t.nullable&&r===null)){if(R.isRefForm(t)){if(e.schemaTokens.length===e.config.maxDepth)throw new fe;e.schemaTokens.push(["definitions",t.ref]),U(e,e.root.definitions[t.ref],r),e.schemaTokens.pop()}else if(R.isTypeForm(t)){switch(g(e,"type"),t.type){case"boolean":typeof r!="boolean"&&h(e);break;case"float32":case"float64":typeof r!="number"&&h(e);break;case"int8":L(e,r,-128,127);break;case"uint8":L(e,r,0,255);break;case"int16":L(e,r,-32768,32767);break;case"uint16":L(e,r,0,65535);break;case"int32":L(e,r,-2147483648,2147483647);break;case"uint32":L(e,r,0,4294967295);break;case"string":typeof r!="string"&&h(e);break;case"timestamp":typeof r!="string"?h(e):rn.default(r)||h(e);break}v(e)}else if(R.isEnumForm(t))g(e,"enum"),(typeof r!="string"||!t.enum.includes(r))&&h(e),v(e);else if(R.isElementsForm(t)){if(g(e,"elements"),Array.isArray(r))for(let[i,a]of r.entries())I(e,i.toString()),U(e,t.elements,a),D(e);else h(e);v(e)}else if(R.isPropertiesForm(t))if(typeof r=="object"&&r!==null&&!Array.isArray(r)){if(t.properties!==void 0){g(e,"properties");for(let[i,a]of Object.entries(t.properties))g(e,i),r.hasOwnProperty(i)?(I(e,i),U(e,a,r[i]),D(e)):h(e),v(e);v(e)}if(t.optionalProperties!==void 0){g(e,"optionalProperties");for(let[i,a]of Object.entries(t.optionalProperties))g(e,i),r.hasOwnProperty(i)&&(I(e,i),U(e,a,r[i]),D(e)),v(e);v(e)}if(t.additionalProperties!==!0)for(let i of Object.keys(r)){let a=t.properties&&i in t.properties,o=t.optionalProperties&&i in t.optionalProperties;!a&&!o&&i!==n&&(I(e,i),h(e),D(e))}}else t.properties!==void 0?g(e,"properties"):g(e,"optionalProperties"),h(e),v(e);else if(R.isValuesForm(t)){if(g(e,"values"),typeof r=="object"&&r!==null&&!Array.isArray(r))for(let[i,a]of Object.entries(r))I(e,i),U(e,t.values,a),D(e);else h(e);v(e)}else if(R.isDiscriminatorForm(t))if(typeof r=="object"&&r!==null&&!Array.isArray(r))if(r.hasOwnProperty(t.discriminator)){let i=r[t.discriminator];typeof i=="string"?i in t.mapping?(g(e,"mapping"),g(e,i),U(e,t.mapping[i],r,t.discriminator),v(e),v(e)):(g(e,"mapping"),I(e,t.discriminator),h(e),D(e),v(e)):(g(e,"discriminator"),I(e,t.discriminator),h(e),D(e),v(e))}else g(e,"discriminator"),h(e),v(e);else g(e,"discriminator"),h(e),v(e)}}function L(e,t,r,n){(typeof t!="number"||!Number.isInteger(t)||t<r||t>n)&&h(e)}function I(e,t){e.instanceTokens.push(t)}function D(e){e.instanceTokens.pop()}function g(e,t){e.schemaTokens[e.schemaTokens.length-1].push(t)}function v(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function h(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new ue}});var dt=p(M=>{"use strict";var an=M&&M.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),lt=M&&M.__exportStar||function(e,t){for(var r in e)r!=="default"&&!t.hasOwnProperty(r)&&an(t,e,r)};Object.defineProperty(M,"__esModule",{value:!0});lt(Ae(),M);lt(ut(),M)});var hn={};Mt(hn,{GenerationError:()=>ce,ResponseError:()=>q,builtinFontNames:()=>ln,builtinLineHeights:()=>xt,builtinMargins:()=>bt,builtinTextScales:()=>vt,builtinTools:()=>un,formatEntry:()=>wt,parseEntry:()=>_t,register:()=>mn,remarkable:()=>gn});module.exports=St(hn);var gt=ge(Ie());var E=ge(Xe(),1),Un=E.default.v1,qn=E.default.v3,se=E.default.v4,Ln=E.default.v5,$n=E.default.NIL,Nn=E.default.version,Bn=E.default.validate,Hn=E.default.stringify,jn=E.default.parse;function Te(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,"0")).join("")}function et(e){return new Uint8Array((e.match(/../g)??[]).map(t=>parseInt(t,16)))}function tt(e){let t=0;for(let i of e)t+=i.length;let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}var ct=ge(dt());function j(e,t){if((0,ct.validate)(e,t).length)throw new Error(`couldn't validate schema: ${JSON.stringify(t)} didn't match schema ${JSON.stringify(e)}`)}var pt="3",ht="https://webapp-prod.cloud.remarkable.engineering",on="https://internal.cloud.remarkable.com",yt="x-goog-generation",sn="x-goog-if-generation-match",fn="x-goog-content-length-range",un=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],ln=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],vt={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},bt={sm:50,md:125,rr:180,lg:200},xt={df:-1,md:100,lg:150,xl:200},dn={properties:{docID:{type:"string"},hash:{type:"string"}}},cn={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},le={visibleName:{type:"string"},lastModified:{type:"string"}},de={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},pn={discriminator:"type",mapping:{CollectionType:{properties:le,optionalProperties:de},DocumentType:{properties:le,optionalProperties:{...de,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},mt={id:{type:"string"},hash:{type:"string"}},yn={discriminator:"type",mapping:{CollectionType:{properties:{...le,...mt},optionalProperties:de},DocumentType:{properties:{...le,...mt,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...de,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},q=class extends Error{constructor(r,n,i){super(i);this.status=r,this.statusText=n}},ce=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function mn(e,{deviceDesc:t="browser-chrome",uuid:r=se(),authHost:n=ht,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let a=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:t,deviceID:r})});if(a.ok)return await a.text();throw new q(a.status,a.statusText,"couldn't register api")}function wt({hash:e,type:t,documentId:r,subfiles:n,size:i}){return`${e}:${t}:${r}:${n}:${i}
|
|
2
|
+
`}function _t(e){let[t,r,n,i,a]=e.split(":");if(t===void 0||r===void 0||n===void 0||i===void 0||a===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(r==="80000000")return{hash:t,type:r,documentId:n,subfiles:parseInt(i),size:BigInt(a)};if(r==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:t,type:r,documentId:n,subfiles:0,size:BigInt(a)}}else throw new Error(`entries line contained invalid type: ${r}`)}var Se=class{#f;#o;#s;#t;#r;#e=null;constructor(t,r,n,i,a){this.#f=t,this.#o=r,this.#r=n,this.#s=i,this.#t=a}async#a(t,{body:r,method:n="POST",headers:i={}}){let a=await this.#o(t,{method:n,headers:{Authorization:`Bearer ${this.#f}`,...i},body:r});if(a.ok)return a;{let o=await a.text();throw new q(a.status,a.statusText,`failed reMarkable request: ${o}`)}}async#n({url:t,method:r,maxuploadsize_bytes:n},i,a={}){let o=n?{...a,[fn]:`0,${n}`}:a,s=await this.#o(t,{method:r,body:i,headers:o});if(s.ok)return s;{let f=await s.text();throw new q(s.status,s.statusText,f)}}async#i(t,r,n){let i=r===void 0?"downloads":"uploads",a=n?`{ "http_method": "PUT", "relative_path": "${t}", "root_schema": "${n}", "generation": ${r} }`:JSON.stringify({http_method:"GET",relative_path:t}),s=await(await this.#a(`${this.#t}/sync/v2/signed-urls/${i}`,{body:a})).text(),f=JSON.parse(s);return j(cn,f),f}async getRootHash({cache:t=!0}={}){if(t)for(;this.#e;)try{let[a,o]=await this.#e;return[a,o]}catch{}let r=(async()=>{try{let a=await this.#i("root"),o=await this.#n(a),s=o.headers.get(yt);if(s)return[await o.text(),BigInt(s)];throw new Error("no generation header in root hash")}catch(a){throw this.#e=null,a}})();this.#e=r;let[n,i]=await r;return[n,i]}async putRootHash(t,r){let n=await this.#i("root",r,t),i;try{i=await this.#n(n,t,{[sn]:`${r}`})}catch(s){throw s instanceof q&&s.status===412?(this.#e=null,new ce):s}let a=i.headers.get(yt);if(!a)throw new Error("no generation header in root hash");let o=BigInt(a);return this.#e=Promise.resolve([t,o]),o}async getBuffer(t){let r=await this.#i(t);return await(await this.#n(r)).arrayBuffer()}async getText(t){let r=await this.#r?.get(t);if(r)return r;{let n=await this.#i(t),a=await(await this.#n(n)).text();return await this.#r?.set(t,a),a}}async getMetadata(t){let r=await this.getText(t),n=JSON.parse(r);return j(pn,n),n}async getEntries(t){let r=await this.getText(t),[n,...i]=r.slice(0,-1).split(`
|
|
3
|
+
`);if(n!==pt)throw new Error(`got unexpected schema version: ${n}`);return i.map(_t)}async#u(t,r){let n=await this.#i(t,null);await this.#n(n,r)}async putEntries(t,r){let n=new TextEncoder;r.sort((l,y)=>l.documentId.localeCompare(y.documentId));let i=tt(r.map(l=>et(l.hash))),a=await this.#s.digest("SHA-256",i),o=Te(a),s=r.map(wt).join(""),f=`${pt}
|
|
4
|
+
${s}`,u=n.encode(f);return await this.#u(o,u),await this.#r?.set(o,f),{hash:o,type:"80000000",documentId:t,subfiles:r.length,size:0n}}async putBuffer(t,r){let n=await this.#s.digest("SHA-256",r),i=Te(n);return await this.#u(i,r),{hash:i,type:"0",documentId:t,subfiles:0,size:BigInt(r.length)}}async putText(t,r){let n=new TextEncoder,i=await this.putBuffer(t,n.encode(r));return await this.#r?.set(i.hash,r),i}async putMetadata(t,r){return await this.putText(`${t}.metadata`,JSON.stringify(r))}async putCollection(t,r=""){let n=se(),i=`${new Date().valueOf()}`,a=[],o={type:"CollectionType",visibleName:t,version:0,parent:r,synced:!0,lastModified:i};a.push(this.putMetadata(n,o)),a.push(this.putText(`${n}.content`,"{}"));let s=await Promise.all(a);return await this.putEntries(n,s)}async#l(t,r,n,i,a){if(a.fileType!==n)throw new Error(`internal error: fileTypes don't match: ${n}, ${a.fileType}`);let o=se(),s=`${new Date().valueOf()}`,f=[];f.push(this.putBuffer(`${o}.${n}`,r));let u={type:"DocumentType",visibleName:t,version:0,parent:i,synced:!0,lastModified:s};f.push(this.putMetadata(o,u)),f.push(this.putText(`${o}.content`,JSON.stringify(a)));let l=await Promise.all(f);return await this.putEntries(o,l)}async putEpub(t,r,{parent:n="",margins:i=125,orientation:a,textAlignment:o,textScale:s=1,lineHeight:f=-1,fontName:u="",cover:l="visited",lastTool:y}={}){let c={dummyDocument:!1,extraMetadata:{LastTool:y},fileType:"epub",pageCount:0,lastOpenedPage:0,lineHeight:typeof f=="string"?xt[f]:f,margins:typeof i=="string"?bt[i]:i,textScale:typeof s=="string"?vt[s]:s,pages:[],coverPageNumber:l==="first"?0:-1,formatVersion:1,orientation:a,textAlignment:o,fontName:u};return await this.#l(t,r,"epub",n,c)}async putPdf(t,r,{parent:n="",orientation:i,cover:a="first",lastTool:o}={}){let s={dummyDocument:!1,extraMetadata:{LastTool:o},fileType:"pdf",pageCount:0,lastOpenedPage:0,lineHeight:-1,margins:125,textScale:1,pages:[],coverPageNumber:a==="first"?0:-1,formatVersion:1,orientation:i};return await this.#l(t,r,"pdf",n,s)}async syncComplete(t){let r=`{ "generation": ${t} }`;await this.#a(`${this.#t}/sync/v2/sync-complete`,{body:r})}async#d(t,r,n){let{hash:i}=await this.putEntries("",r),a=await this.putRootHash(i,t);if(n)try{return await this.syncComplete(a),!0}catch{return!1}else return!1}async create(t,r={}){let{cache:n=!0,sync:i=!0}=typeof r=="boolean"?{cache:!1,sync:r}:r,[a,o]=await this.getRootHash({cache:n}),s=await this.getEntries(a);return s.push(t),await this.#d(o,s,i)}async move(t,r,n={}){let{cache:i=!0,sync:a=!0}=typeof n=="boolean"?{cache:!1,sync:n}:n,[o,s]=await this.getRootHash({cache:i}),f=await this.getEntries(o);if(!(!r||r==="trash")){let w=f.find(me=>me.documentId===r);if(w){if(w.type!=="80000000")throw new Error(`destination id was a raw file: ${r}`)}else throw new Error(`destination id not found: ${r}`);let b=await this.getEntries(w.hash),[J]=b.filter(me=>me.documentId===`${r}.metadata`);if(!J)throw new Error(`destination id didn't have metadata: ${r}`);if((await this.getMetadata(J.hash)).type!=="CollectionType")throw new Error(`destination id wasn't a collection: ${r}`)}let u=f.findIndex(w=>w.documentId===t);if(u===-1)throw new Error(`document not found: ${t}`);let[l]=f.splice(u,1);if(l.type!=="80000000")throw new Error(`document was a raw file: ${t}`);let y=await this.getEntries(l.hash),c=y.findIndex(w=>w.documentId===`${t}.metadata`);if(c===-1)throw new Error(`document didn't have metadata: ${t}`);let[$]=y.splice(c,1),T=await this.getMetadata($.hash);T.parent=r;let pe=await this.putMetadata(t,T);y.push(pe);let ye=await this.putEntries(t,y);return f.push(ye),await this.#d(s,f,a)}async getEntriesMetadata(){let r=await(await this.#a(`${this.#t}/doc/v2/files`,{method:"GET",headers:{"rm-source":"RoR-Browser"}})).text(),n=JSON.parse(r);return j({elements:yn},n),n}async#c(t,r,n){let a=new TextEncoder().encode(JSON.stringify({file_name:t})),s=await(await this.#a(`${this.#t}/doc/v2/files`,{body:r,headers:{"content-type":n,"rm-meta":(0,gt.fromByteArray)(a),"rm-source":"RoR-Browser"}})).text(),f=JSON.parse(s);return j(dn,f),f}async uploadEpub(t,r){return await this.#c(t,r,"application/epub+zip")}async uploadPdf(t,r){return await this.#c(t,r,"application/pdf")}};async function gn(e,{fetch:t=globalThis.fetch,cache:r,subtle:n=globalThis.crypto?.subtle,authHost:i=ht,syncHost:a=on}={}){let o=await t(`${i}/token/json/2/user/new`,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!o.ok)throw new Error(`couldn't fetch auth token: ${o.statusText}`);let s=await o.text();return new Se(s,t,r,n,a)}0&&(module.exports={GenerationError,ResponseError,builtinFontNames,builtinLineHeights,builtinMargins,builtinTextScales,builtinTools,formatEntry,parseEntry,register,remarkable});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var He=Object.create;var ye=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var j=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ze=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Ve(r))!Ge.call(e,i)&&i!==t&&ye(e,i,{get:()=>r[i],enumerable:!(n=Je(r,i))||n.enumerable});return e};var ge=(e,r,t)=>(t=e!=null?He(qe(e)):{},ze(r||!e||!e.__esModule?ye(t,"default",{value:e,enumerable:!0}):t,e));var we=j(W=>{"use strict";W.byteLength=Ye;W.toByteArray=Ke;W.fromByteArray=et;var S=[],T=[],We=typeof Uint8Array<"u"?Uint8Array:Array,ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(C=0,he=ie.length;C<he;++C)S[C]=ie[C],T[ie.charCodeAt(C)]=C;var C,he;T["-".charCodeAt(0)]=62;T["_".charCodeAt(0)]=63;function be(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=r);var n=t===r?0:4-t%4;return[t,n]}function Ye(e){var r=be(e),t=r[0],n=r[1];return(t+n)*3/4-n}function Ze(e,r,t){return(r+t)*3/4-t}function Ke(e){var r,t=be(e),n=t[0],i=t[1],o=new We(Ze(e,n,i)),s=0,a=i>0?n-4:n,f;for(f=0;f<a;f+=4)r=T[e.charCodeAt(f)]<<18|T[e.charCodeAt(f+1)]<<12|T[e.charCodeAt(f+2)]<<6|T[e.charCodeAt(f+3)],o[s++]=r>>16&255,o[s++]=r>>8&255,o[s++]=r&255;return i===2&&(r=T[e.charCodeAt(f)]<<2|T[e.charCodeAt(f+1)]>>4,o[s++]=r&255),i===1&&(r=T[e.charCodeAt(f)]<<10|T[e.charCodeAt(f+1)]<<4|T[e.charCodeAt(f+2)]>>2,o[s++]=r>>8&255,o[s++]=r&255),o}function Xe(e){return S[e>>18&63]+S[e>>12&63]+S[e>>6&63]+S[e&63]}function Qe(e,r,t){for(var n,i=[],o=r;o<t;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(Xe(n));return i.join("")}function et(e){for(var r,t=e.length,n=t%3,i=[],o=16383,s=0,a=t-n;s<a;s+=o)i.push(Qe(e,s,s+o>a?a:s+o));return n===1?(r=e[t-1],i.push(S[r>>2]+S[r<<4&63]+"==")):n===2&&(r=(e[t-2]<<8)+e[t-1],i.push(S[r>>10]+S[r>>4&63]+S[r<<2&63]+"=")),i.join("")}});var ue=j(d=>{"use strict";var ke=d&&d.__rest||function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]]);return t};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function gt(e){let{definitions:r,nullable:t,metadata:n}=e,i=ke(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=gt;function Se(e){return"ref"in e}d.isRefForm=Se;function ht(e){return"type"in e}d.isTypeForm=ht;function Oe(e){return"enum"in e}d.isEnumForm=Oe;function Fe(e){return"elements"in e}d.isElementsForm=Fe;function le(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=le;function Me(e){return"values"in e}d.isValuesForm=Me;function Ce(e){return"discriminator"in e}d.isDiscriminatorForm=Ce;function U(e,r){if(r===void 0&&(r=e),e.definitions!==void 0){if(r!==e)return!1;for(let t of Object.values(e.definitions))if(!U(t,r))return!1}if(Se(e)&&!(e.ref in(r.definitions||{}))||Oe(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(Fe(e))return U(e.elements,r);if(le(e)){for(let t of Object.values(e.properties||{}))if(!U(t,r))return!1;for(let t of Object.values(e.optionalProperties||{}))if(!U(t,r))return!1;for(let t of Object.keys(e.properties||{}))if(t in(e.optionalProperties||{}))return!1}if(Me(e))return U(e.values,r);if(Ce(e)){for(let t of Object.values(e.mapping))if(!U(t,r)||!le(t)||t.nullable||e.discriminator in(t.properties||{})||e.discriminator in(t.optionalProperties||{}))return!1}return!0}d.isValidSchema=U;var bt=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],wt=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function I(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let r=e,{definitions:t=void 0,nullable:n=void 0,metadata:i=void 0,ref:o=void 0,type:s=void 0,enum:a=void 0,elements:f=void 0,properties:l=void 0,optionalProperties:u=void 0,additionalProperties:E=void 0,values:P=void 0,discriminator:c=void 0,mapping:A=void 0}=r,B=ke(r,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),re=[o!==void 0,s!==void 0,a!==void 0,f!==void 0,l!==void 0,u!==void 0,E!==void 0,P!==void 0,c!==void 0,A!==void 0],k=!1;for(let v of bt)k=k||v.every((z,me)=>z===re[me]);if(!k)return!1;if(t!==void 0){if(typeof t!="object"||Array.isArray(t)||t===null)return!1;for(let v of Object.values(t))if(!I(v))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||o!==void 0&&typeof o!="string"||s!==void 0&&(typeof s!="string"||!wt.includes(s))||a!==void 0&&(!Array.isArray(a)||!a.every(v=>typeof v=="string"))||f!==void 0&&!I(f))return!1;if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let v of Object.values(l))if(!I(v))return!1}if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let v of Object.values(u))if(!I(v))return!1}if(E!==void 0&&typeof E!="boolean"||P!==void 0&&!I(P)||c!==void 0&&typeof c!="string")return!1;if(A!==void 0){if(typeof A!="object"||Array.isArray(A)||A===null)return!1;for(let v of Object.values(A))if(!I(v))return!1}return Object.keys(B).length===0}d.isSchema=I});var Ue=j(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});var xt=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function Et(e){let r=e.match(xt);if(r===null)return!1;let t=parseInt(r[1],10),n=parseInt(r[2],10),i=parseInt(r[3],10),o=parseInt(r[4],10),s=parseInt(r[5],10),a=parseInt(r[6],10);return!(n>12||i>vt(t,n)||o>23||s>59||a>60)}de.default=Et;function vt(e,r){return r===2?Pt(e)?29:28:Tt[r]}function Pt(e){return e%4===0&&(e%100!==0||e%400===0)}var Tt=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var Ie=j(F=>{"use strict";var At=F&&F.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(F,"__esModule",{value:!0});F.validate=F.MaxDepthExceededError=void 0;var kt=At(Ue()),R=ue(),X=class extends Error{};F.MaxDepthExceededError=X;var Q=class extends Error{};function St(e,r,t){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:t||{maxDepth:0,maxErrors:0}};try{L(n,e,r)}catch(i){if(!(i instanceof Q))throw i}return n.errors}F.validate=St;function L(e,r,t,n){if(!(r.nullable&&t===null)){if(R.isRefForm(r)){if(e.schemaTokens.length===e.config.maxDepth)throw new X;e.schemaTokens.push(["definitions",r.ref]),L(e,e.root.definitions[r.ref],t),e.schemaTokens.pop()}else if(R.isTypeForm(r)){switch(b(e,"type"),r.type){case"boolean":typeof t!="boolean"&&w(e);break;case"float32":case"float64":typeof t!="number"&&w(e);break;case"int8":D(e,t,-128,127);break;case"uint8":D(e,t,0,255);break;case"int16":D(e,t,-32768,32767);break;case"uint16":D(e,t,0,65535);break;case"int32":D(e,t,-2147483648,2147483647);break;case"uint32":D(e,t,0,4294967295);break;case"string":typeof t!="string"&&w(e);break;case"timestamp":typeof t!="string"?w(e):kt.default(t)||w(e);break}x(e)}else if(R.isEnumForm(r))b(e,"enum"),(typeof t!="string"||!r.enum.includes(t))&&w(e),x(e);else if(R.isElementsForm(r)){if(b(e,"elements"),Array.isArray(t))for(let[i,o]of t.entries())_(e,i.toString()),L(e,r.elements,o),$(e);else w(e);x(e)}else if(R.isPropertiesForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(r.properties!==void 0){b(e,"properties");for(let[i,o]of Object.entries(r.properties))b(e,i),t.hasOwnProperty(i)?(_(e,i),L(e,o,t[i]),$(e)):w(e),x(e);x(e)}if(r.optionalProperties!==void 0){b(e,"optionalProperties");for(let[i,o]of Object.entries(r.optionalProperties))b(e,i),t.hasOwnProperty(i)&&(_(e,i),L(e,o,t[i]),$(e)),x(e);x(e)}if(r.additionalProperties!==!0)for(let i of Object.keys(t)){let o=r.properties&&i in r.properties,s=r.optionalProperties&&i in r.optionalProperties;!o&&!s&&i!==n&&(_(e,i),w(e),$(e))}}else r.properties!==void 0?b(e,"properties"):b(e,"optionalProperties"),w(e),x(e);else if(R.isValuesForm(r)){if(b(e,"values"),typeof t=="object"&&t!==null&&!Array.isArray(t))for(let[i,o]of Object.entries(t))_(e,i),L(e,r.values,o),$(e);else w(e);x(e)}else if(R.isDiscriminatorForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t))if(t.hasOwnProperty(r.discriminator)){let i=t[r.discriminator];typeof i=="string"?i in r.mapping?(b(e,"mapping"),b(e,i),L(e,r.mapping[i],t,r.discriminator),x(e),x(e)):(b(e,"mapping"),_(e,r.discriminator),w(e),$(e),x(e)):(b(e,"discriminator"),_(e,r.discriminator),w(e),$(e),x(e))}else b(e,"discriminator"),w(e),x(e);else b(e,"discriminator"),w(e),x(e)}}function D(e,r,t,n){(typeof r!="number"||!Number.isInteger(r)||r<t||r>n)&&w(e)}function _(e,r){e.instanceTokens.push(r)}function $(e){e.instanceTokens.pop()}function b(e,r){e.schemaTokens[e.schemaTokens.length-1].push(r)}function x(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function w(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new Q}});var _e=j(M=>{"use strict";var Ot=M&&M.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return r[t]}})}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Re=M&&M.__exportStar||function(e,r){for(var t in e)t!=="default"&&!r.hasOwnProperty(t)&&Ot(r,e,t)};Object.defineProperty(M,"__esModule",{value:!0});Re(ue(),M);Re(Ie(),M)});var Be=ge(we());var Y,tt=new Uint8Array(16);function Z(){if(!Y&&(Y=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Y))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Y(tt)}var xe=/^(?:[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;function rt(e){return typeof e=="string"&&xe.test(e)}var H=rt;var p=[];for(let e=0;e<256;++e)p.push((e+256).toString(16).slice(1));function J(e,r=0){return(p[e[r+0]]+p[e[r+1]]+p[e[r+2]]+p[e[r+3]]+"-"+p[e[r+4]]+p[e[r+5]]+"-"+p[e[r+6]]+p[e[r+7]]+"-"+p[e[r+8]]+p[e[r+9]]+"-"+p[e[r+10]]+p[e[r+11]]+p[e[r+12]]+p[e[r+13]]+p[e[r+14]]+p[e[r+15]]).toLowerCase()}function nt(e){if(!H(e))throw TypeError("Invalid UUID");let r,t=new Uint8Array(16);return t[0]=(r=parseInt(e.slice(0,8),16))>>>24,t[1]=r>>>16&255,t[2]=r>>>8&255,t[3]=r&255,t[4]=(r=parseInt(e.slice(9,13),16))>>>8,t[5]=r&255,t[6]=(r=parseInt(e.slice(14,18),16))>>>8,t[7]=r&255,t[8]=(r=parseInt(e.slice(19,23),16))>>>8,t[9]=r&255,t[10]=(r=parseInt(e.slice(24,36),16))/1099511627776&255,t[11]=r/4294967296&255,t[12]=r>>>24&255,t[13]=r>>>16&255,t[14]=r>>>8&255,t[15]=r&255,t}var oe=nt;function it(e){e=unescape(encodeURIComponent(e));let r=[];for(let t=0;t<e.length;++t)r.push(e.charCodeAt(t));return r}var ot="6ba7b810-9dad-11d1-80b4-00c04fd430c8",st="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function V(e,r,t){function n(i,o,s,a){var f;if(typeof i=="string"&&(i=it(i)),typeof o=="string"&&(o=oe(o)),((f=o)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=t(l),l[6]=l[6]&15|r,l[8]=l[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=l[u];return s}return J(l)}try{n.name=e}catch{}return n.DNS=ot,n.URL=st,n}function at(e){if(typeof e=="string"){let r=unescape(encodeURIComponent(e));e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t)}return ft(lt(ut(e),e.length*8))}function ft(e){let r=[],t=e.length*32,n="0123456789abcdef";for(let i=0;i<t;i+=8){let o=e[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(o&15),16);r.push(s)}return r}function Ee(e){return(e+64>>>9<<4)+14+1}function lt(e,r){e[r>>5]|=128<<r%32,e[Ee(r)-1]=r;let t=1732584193,n=-271733879,i=-1732584194,o=271733878;for(let s=0;s<e.length;s+=16){let a=t,f=n,l=i,u=o;t=m(t,n,i,o,e[s],7,-680876936),o=m(o,t,n,i,e[s+1],12,-389564586),i=m(i,o,t,n,e[s+2],17,606105819),n=m(n,i,o,t,e[s+3],22,-1044525330),t=m(t,n,i,o,e[s+4],7,-176418897),o=m(o,t,n,i,e[s+5],12,1200080426),i=m(i,o,t,n,e[s+6],17,-1473231341),n=m(n,i,o,t,e[s+7],22,-45705983),t=m(t,n,i,o,e[s+8],7,1770035416),o=m(o,t,n,i,e[s+9],12,-1958414417),i=m(i,o,t,n,e[s+10],17,-42063),n=m(n,i,o,t,e[s+11],22,-1990404162),t=m(t,n,i,o,e[s+12],7,1804603682),o=m(o,t,n,i,e[s+13],12,-40341101),i=m(i,o,t,n,e[s+14],17,-1502002290),n=m(n,i,o,t,e[s+15],22,1236535329),t=y(t,n,i,o,e[s+1],5,-165796510),o=y(o,t,n,i,e[s+6],9,-1069501632),i=y(i,o,t,n,e[s+11],14,643717713),n=y(n,i,o,t,e[s],20,-373897302),t=y(t,n,i,o,e[s+5],5,-701558691),o=y(o,t,n,i,e[s+10],9,38016083),i=y(i,o,t,n,e[s+15],14,-660478335),n=y(n,i,o,t,e[s+4],20,-405537848),t=y(t,n,i,o,e[s+9],5,568446438),o=y(o,t,n,i,e[s+14],9,-1019803690),i=y(i,o,t,n,e[s+3],14,-187363961),n=y(n,i,o,t,e[s+8],20,1163531501),t=y(t,n,i,o,e[s+13],5,-1444681467),o=y(o,t,n,i,e[s+2],9,-51403784),i=y(i,o,t,n,e[s+7],14,1735328473),n=y(n,i,o,t,e[s+12],20,-1926607734),t=g(t,n,i,o,e[s+5],4,-378558),o=g(o,t,n,i,e[s+8],11,-2022574463),i=g(i,o,t,n,e[s+11],16,1839030562),n=g(n,i,o,t,e[s+14],23,-35309556),t=g(t,n,i,o,e[s+1],4,-1530992060),o=g(o,t,n,i,e[s+4],11,1272893353),i=g(i,o,t,n,e[s+7],16,-155497632),n=g(n,i,o,t,e[s+10],23,-1094730640),t=g(t,n,i,o,e[s+13],4,681279174),o=g(o,t,n,i,e[s],11,-358537222),i=g(i,o,t,n,e[s+3],16,-722521979),n=g(n,i,o,t,e[s+6],23,76029189),t=g(t,n,i,o,e[s+9],4,-640364487),o=g(o,t,n,i,e[s+12],11,-421815835),i=g(i,o,t,n,e[s+15],16,530742520),n=g(n,i,o,t,e[s+2],23,-995338651),t=h(t,n,i,o,e[s],6,-198630844),o=h(o,t,n,i,e[s+7],10,1126891415),i=h(i,o,t,n,e[s+14],15,-1416354905),n=h(n,i,o,t,e[s+5],21,-57434055),t=h(t,n,i,o,e[s+12],6,1700485571),o=h(o,t,n,i,e[s+3],10,-1894986606),i=h(i,o,t,n,e[s+10],15,-1051523),n=h(n,i,o,t,e[s+1],21,-2054922799),t=h(t,n,i,o,e[s+8],6,1873313359),o=h(o,t,n,i,e[s+15],10,-30611744),i=h(i,o,t,n,e[s+6],15,-1560198380),n=h(n,i,o,t,e[s+13],21,1309151649),t=h(t,n,i,o,e[s+4],6,-145523070),o=h(o,t,n,i,e[s+11],10,-1120210379),i=h(i,o,t,n,e[s+2],15,718787259),n=h(n,i,o,t,e[s+9],21,-343485551),t=O(t,a),n=O(n,f),i=O(i,l),o=O(o,u)}return[t,n,i,o]}function ut(e){if(e.length===0)return[];let r=e.length*8,t=new Uint32Array(Ee(r));for(let n=0;n<r;n+=8)t[n>>5]|=(e[n/8]&255)<<n%32;return t}function O(e,r){let t=(e&65535)+(r&65535);return(e>>16)+(r>>16)+(t>>16)<<16|t&65535}function dt(e,r){return e<<r|e>>>32-r}function K(e,r,t,n,i,o){return O(dt(O(O(r,e),O(n,o)),i),t)}function m(e,r,t,n,i,o,s){return K(r&t|~r&n,e,r,i,o,s)}function y(e,r,t,n,i,o,s){return K(r&n|t&~n,e,r,i,o,s)}function g(e,r,t,n,i,o,s){return K(r^t^n,e,r,i,o,s)}function h(e,r,t,n,i,o,s){return K(t^(r|~n),e,r,i,o,s)}var ve=at;var sr=V("v3",48,ve);var ct=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),se={randomUUID:ct};function pt(e,r,t){if(se.randomUUID&&!r&&!e)return se.randomUUID();e=e||{};let n=e.random||(e.rng||Z)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,r){t=t||0;for(let i=0;i<16;++i)r[t+i]=n[i];return r}return J(n)}var q=pt;function mt(e,r,t,n){switch(e){case 0:return r&t^~r&n;case 1:return r^t^n;case 2:return r&t^r&n^t&n;case 3:return r^t^n}}function ae(e,r){return e<<r|e>>>32-r}function yt(e){let r=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){let s=unescape(encodeURIComponent(e));e=[];for(let a=0;a<s.length;++a)e.push(s.charCodeAt(a))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);let n=e.length/4+2,i=Math.ceil(n/16),o=new Array(i);for(let s=0;s<i;++s){let a=new Uint32Array(16);for(let f=0;f<16;++f)a[f]=e[s*64+f*4]<<24|e[s*64+f*4+1]<<16|e[s*64+f*4+2]<<8|e[s*64+f*4+3];o[s]=a}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<i;++s){let a=new Uint32Array(80);for(let c=0;c<16;++c)a[c]=o[s][c];for(let c=16;c<80;++c)a[c]=ae(a[c-3]^a[c-8]^a[c-14]^a[c-16],1);let f=t[0],l=t[1],u=t[2],E=t[3],P=t[4];for(let c=0;c<80;++c){let A=Math.floor(c/20),B=ae(f,5)+mt(A,l,u,E)+P+r[A]+a[c]>>>0;P=E,E=u,u=ae(l,30)>>>0,l=f,f=B}t[0]=t[0]+f>>>0,t[1]=t[1]+l>>>0,t[2]=t[2]+u>>>0,t[3]=t[3]+E>>>0,t[4]=t[4]+P>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Pe=yt;var gr=V("v5",80,Pe);function fe(e){return[...new Uint8Array(e)].map(r=>r.toString(16).padStart(2,"0")).join("")}function Te(e){return new Uint8Array((e.match(/../g)??[]).map(r=>parseInt(r,16)))}function Ae(e){let r=0;for(let i of e)r+=i.length;let t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}var $e=ge(_e());function G(e,r){if((0,$e.validate)(e,r).length)throw new Error(`couldn't validate schema: ${JSON.stringify(r)} didn't match schema ${JSON.stringify(e)}`)}var Le="3",je="https://webapp-prod.cloud.remarkable.engineering",Ft="https://internal.cloud.remarkable.com",De="x-goog-generation",Mt="x-goog-if-generation-match",Ct="x-goog-content-length-range",zr=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],Wr=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],Ut={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},It={sm:50,md:125,rr:180,lg:200},Rt={df:-1,md:100,lg:150,xl:200},_t={properties:{docID:{type:"string"},hash:{type:"string"}}},$t={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},ee={visibleName:{type:"string"},lastModified:{type:"string"}},te={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},Lt={discriminator:"type",mapping:{CollectionType:{properties:ee,optionalProperties:te},DocumentType:{properties:ee,optionalProperties:{...te,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},Ne={id:{type:"string"},hash:{type:"string"}},Dt={discriminator:"type",mapping:{CollectionType:{properties:{...ee,...Ne},optionalProperties:te},DocumentType:{properties:{...ee,...Ne,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...te,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},N=class extends Error{constructor(t,n,i){super(i);this.status=t,this.statusText=n}},ce=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function Yr(e,{deviceDesc:r="browser-chrome",uuid:t=q(),authHost:n=je,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let o=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:r,deviceID:t})});if(o.ok)return await o.text();throw new N(o.status,o.statusText,"couldn't register api")}function Nt({hash:e,type:r,documentId:t,subfiles:n,size:i}){return`${e}:${r}:${t}:${n}:${i}
|
|
2
|
-
`}function Bt(e){let[r,t,n,i,o]=e.split(":");if(r===void 0||t===void 0||n===void 0||i===void 0||o===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(t==="80000000")return{hash:r,type:t,documentId:n,subfiles:parseInt(i),size:BigInt(o)};if(t==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:r,type:t,documentId:n,subfiles:0,size:BigInt(o)}}else throw new Error(`entries line contained invalid type: ${t}`)}var pe=class{#a;#
|
|
3
|
-
`);if(n!==Le)throw new Error(`got unexpected schema version: ${n}`);return i.map(Bt)}async#
|
|
4
|
-
${a}`,l=n.encode(f);return await this.#
|
|
1
|
+
var He=Object.create;var ye=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var j=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ze=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Ve(r))!Ge.call(e,i)&&i!==t&&ye(e,i,{get:()=>r[i],enumerable:!(n=Je(r,i))||n.enumerable});return e};var he=(e,r,t)=>(t=e!=null?He(qe(e)):{},ze(r||!e||!e.__esModule?ye(t,"default",{value:e,enumerable:!0}):t,e));var we=j(W=>{"use strict";W.byteLength=Ye;W.toByteArray=Ke;W.fromByteArray=et;var O=[],A=[],We=typeof Uint8Array<"u"?Uint8Array:Array,ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(F=0,ge=ie.length;F<ge;++F)O[F]=ie[F],A[ie.charCodeAt(F)]=F;var F,ge;A["-".charCodeAt(0)]=62;A["_".charCodeAt(0)]=63;function be(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=r);var n=t===r?0:4-t%4;return[t,n]}function Ye(e){var r=be(e),t=r[0],n=r[1];return(t+n)*3/4-n}function Ze(e,r,t){return(r+t)*3/4-t}function Ke(e){var r,t=be(e),n=t[0],i=t[1],o=new We(Ze(e,n,i)),s=0,a=i>0?n-4:n,f;for(f=0;f<a;f+=4)r=A[e.charCodeAt(f)]<<18|A[e.charCodeAt(f+1)]<<12|A[e.charCodeAt(f+2)]<<6|A[e.charCodeAt(f+3)],o[s++]=r>>16&255,o[s++]=r>>8&255,o[s++]=r&255;return i===2&&(r=A[e.charCodeAt(f)]<<2|A[e.charCodeAt(f+1)]>>4,o[s++]=r&255),i===1&&(r=A[e.charCodeAt(f)]<<10|A[e.charCodeAt(f+1)]<<4|A[e.charCodeAt(f+2)]>>2,o[s++]=r>>8&255,o[s++]=r&255),o}function Xe(e){return O[e>>18&63]+O[e>>12&63]+O[e>>6&63]+O[e&63]}function Qe(e,r,t){for(var n,i=[],o=r;o<t;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(Xe(n));return i.join("")}function et(e){for(var r,t=e.length,n=t%3,i=[],o=16383,s=0,a=t-n;s<a;s+=o)i.push(Qe(e,s,s+o>a?a:s+o));return n===1?(r=e[t-1],i.push(O[r>>2]+O[r<<4&63]+"==")):n===2&&(r=(e[t-2]<<8)+e[t-1],i.push(O[r>>10]+O[r>>4&63]+O[r<<2&63]+"=")),i.join("")}});var ue=j(d=>{"use strict";var ke=d&&d.__rest||function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]]);return t};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function ht(e){let{definitions:r,nullable:t,metadata:n}=e,i=ke(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=ht;function Oe(e){return"ref"in e}d.isRefForm=Oe;function gt(e){return"type"in e}d.isTypeForm=gt;function Se(e){return"enum"in e}d.isEnumForm=Se;function Ce(e){return"elements"in e}d.isElementsForm=Ce;function le(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=le;function Me(e){return"values"in e}d.isValuesForm=Me;function Fe(e){return"discriminator"in e}d.isDiscriminatorForm=Fe;function U(e,r){if(r===void 0&&(r=e),e.definitions!==void 0){if(r!==e)return!1;for(let t of Object.values(e.definitions))if(!U(t,r))return!1}if(Oe(e)&&!(e.ref in(r.definitions||{}))||Se(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(Ce(e))return U(e.elements,r);if(le(e)){for(let t of Object.values(e.properties||{}))if(!U(t,r))return!1;for(let t of Object.values(e.optionalProperties||{}))if(!U(t,r))return!1;for(let t of Object.keys(e.properties||{}))if(t in(e.optionalProperties||{}))return!1}if(Me(e))return U(e.values,r);if(Fe(e)){for(let t of Object.values(e.mapping))if(!U(t,r)||!le(t)||t.nullable||e.discriminator in(t.properties||{})||e.discriminator in(t.optionalProperties||{}))return!1}return!0}d.isValidSchema=U;var bt=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],wt=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function I(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let r=e,{definitions:t=void 0,nullable:n=void 0,metadata:i=void 0,ref:o=void 0,type:s=void 0,enum:a=void 0,elements:f=void 0,properties:l=void 0,optionalProperties:u=void 0,additionalProperties:p=void 0,values:P=void 0,discriminator:c=void 0,mapping:T=void 0}=r,B=ke(r,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),re=[o!==void 0,s!==void 0,a!==void 0,f!==void 0,l!==void 0,u!==void 0,p!==void 0,P!==void 0,c!==void 0,T!==void 0],k=!1;for(let v of bt)k=k||v.every((z,me)=>z===re[me]);if(!k)return!1;if(t!==void 0){if(typeof t!="object"||Array.isArray(t)||t===null)return!1;for(let v of Object.values(t))if(!I(v))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||o!==void 0&&typeof o!="string"||s!==void 0&&(typeof s!="string"||!wt.includes(s))||a!==void 0&&(!Array.isArray(a)||!a.every(v=>typeof v=="string"))||f!==void 0&&!I(f))return!1;if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let v of Object.values(l))if(!I(v))return!1}if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let v of Object.values(u))if(!I(v))return!1}if(p!==void 0&&typeof p!="boolean"||P!==void 0&&!I(P)||c!==void 0&&typeof c!="string")return!1;if(T!==void 0){if(typeof T!="object"||Array.isArray(T)||T===null)return!1;for(let v of Object.values(T))if(!I(v))return!1}return Object.keys(B).length===0}d.isSchema=I});var Ue=j(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});var xt=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function Et(e){let r=e.match(xt);if(r===null)return!1;let t=parseInt(r[1],10),n=parseInt(r[2],10),i=parseInt(r[3],10),o=parseInt(r[4],10),s=parseInt(r[5],10),a=parseInt(r[6],10);return!(n>12||i>vt(t,n)||o>23||s>59||a>60)}de.default=Et;function vt(e,r){return r===2?Pt(e)?29:28:Tt[r]}function Pt(e){return e%4===0&&(e%100!==0||e%400===0)}var Tt=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var Ie=j(C=>{"use strict";var At=C&&C.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C,"__esModule",{value:!0});C.validate=C.MaxDepthExceededError=void 0;var kt=At(Ue()),R=ue(),X=class extends Error{};C.MaxDepthExceededError=X;var Q=class extends Error{};function Ot(e,r,t){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:t||{maxDepth:0,maxErrors:0}};try{L(n,e,r)}catch(i){if(!(i instanceof Q))throw i}return n.errors}C.validate=Ot;function L(e,r,t,n){if(!(r.nullable&&t===null)){if(R.isRefForm(r)){if(e.schemaTokens.length===e.config.maxDepth)throw new X;e.schemaTokens.push(["definitions",r.ref]),L(e,e.root.definitions[r.ref],t),e.schemaTokens.pop()}else if(R.isTypeForm(r)){switch(w(e,"type"),r.type){case"boolean":typeof t!="boolean"&&x(e);break;case"float32":case"float64":typeof t!="number"&&x(e);break;case"int8":D(e,t,-128,127);break;case"uint8":D(e,t,0,255);break;case"int16":D(e,t,-32768,32767);break;case"uint16":D(e,t,0,65535);break;case"int32":D(e,t,-2147483648,2147483647);break;case"uint32":D(e,t,0,4294967295);break;case"string":typeof t!="string"&&x(e);break;case"timestamp":typeof t!="string"?x(e):kt.default(t)||x(e);break}E(e)}else if(R.isEnumForm(r))w(e,"enum"),(typeof t!="string"||!r.enum.includes(t))&&x(e),E(e);else if(R.isElementsForm(r)){if(w(e,"elements"),Array.isArray(t))for(let[i,o]of t.entries())_(e,i.toString()),L(e,r.elements,o),$(e);else x(e);E(e)}else if(R.isPropertiesForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(r.properties!==void 0){w(e,"properties");for(let[i,o]of Object.entries(r.properties))w(e,i),t.hasOwnProperty(i)?(_(e,i),L(e,o,t[i]),$(e)):x(e),E(e);E(e)}if(r.optionalProperties!==void 0){w(e,"optionalProperties");for(let[i,o]of Object.entries(r.optionalProperties))w(e,i),t.hasOwnProperty(i)&&(_(e,i),L(e,o,t[i]),$(e)),E(e);E(e)}if(r.additionalProperties!==!0)for(let i of Object.keys(t)){let o=r.properties&&i in r.properties,s=r.optionalProperties&&i in r.optionalProperties;!o&&!s&&i!==n&&(_(e,i),x(e),$(e))}}else r.properties!==void 0?w(e,"properties"):w(e,"optionalProperties"),x(e),E(e);else if(R.isValuesForm(r)){if(w(e,"values"),typeof t=="object"&&t!==null&&!Array.isArray(t))for(let[i,o]of Object.entries(t))_(e,i),L(e,r.values,o),$(e);else x(e);E(e)}else if(R.isDiscriminatorForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t))if(t.hasOwnProperty(r.discriminator)){let i=t[r.discriminator];typeof i=="string"?i in r.mapping?(w(e,"mapping"),w(e,i),L(e,r.mapping[i],t,r.discriminator),E(e),E(e)):(w(e,"mapping"),_(e,r.discriminator),x(e),$(e),E(e)):(w(e,"discriminator"),_(e,r.discriminator),x(e),$(e),E(e))}else w(e,"discriminator"),x(e),E(e);else w(e,"discriminator"),x(e),E(e)}}function D(e,r,t,n){(typeof r!="number"||!Number.isInteger(r)||r<t||r>n)&&x(e)}function _(e,r){e.instanceTokens.push(r)}function $(e){e.instanceTokens.pop()}function w(e,r){e.schemaTokens[e.schemaTokens.length-1].push(r)}function E(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function x(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new Q}});var _e=j(M=>{"use strict";var St=M&&M.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return r[t]}})}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Re=M&&M.__exportStar||function(e,r){for(var t in e)t!=="default"&&!r.hasOwnProperty(t)&&St(r,e,t)};Object.defineProperty(M,"__esModule",{value:!0});Re(ue(),M);Re(Ie(),M)});var Be=he(we());var Y,tt=new Uint8Array(16);function Z(){if(!Y&&(Y=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Y))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Y(tt)}var xe=/^(?:[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;function rt(e){return typeof e=="string"&&xe.test(e)}var H=rt;var m=[];for(let e=0;e<256;++e)m.push((e+256).toString(16).slice(1));function J(e,r=0){return(m[e[r+0]]+m[e[r+1]]+m[e[r+2]]+m[e[r+3]]+"-"+m[e[r+4]]+m[e[r+5]]+"-"+m[e[r+6]]+m[e[r+7]]+"-"+m[e[r+8]]+m[e[r+9]]+"-"+m[e[r+10]]+m[e[r+11]]+m[e[r+12]]+m[e[r+13]]+m[e[r+14]]+m[e[r+15]]).toLowerCase()}function nt(e){if(!H(e))throw TypeError("Invalid UUID");let r,t=new Uint8Array(16);return t[0]=(r=parseInt(e.slice(0,8),16))>>>24,t[1]=r>>>16&255,t[2]=r>>>8&255,t[3]=r&255,t[4]=(r=parseInt(e.slice(9,13),16))>>>8,t[5]=r&255,t[6]=(r=parseInt(e.slice(14,18),16))>>>8,t[7]=r&255,t[8]=(r=parseInt(e.slice(19,23),16))>>>8,t[9]=r&255,t[10]=(r=parseInt(e.slice(24,36),16))/1099511627776&255,t[11]=r/4294967296&255,t[12]=r>>>24&255,t[13]=r>>>16&255,t[14]=r>>>8&255,t[15]=r&255,t}var oe=nt;function it(e){e=unescape(encodeURIComponent(e));let r=[];for(let t=0;t<e.length;++t)r.push(e.charCodeAt(t));return r}var ot="6ba7b810-9dad-11d1-80b4-00c04fd430c8",st="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function V(e,r,t){function n(i,o,s,a){var f;if(typeof i=="string"&&(i=it(i)),typeof o=="string"&&(o=oe(o)),((f=o)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=t(l),l[6]=l[6]&15|r,l[8]=l[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=l[u];return s}return J(l)}try{n.name=e}catch{}return n.DNS=ot,n.URL=st,n}function at(e){if(typeof e=="string"){let r=unescape(encodeURIComponent(e));e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t)}return ft(lt(ut(e),e.length*8))}function ft(e){let r=[],t=e.length*32,n="0123456789abcdef";for(let i=0;i<t;i+=8){let o=e[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(o&15),16);r.push(s)}return r}function Ee(e){return(e+64>>>9<<4)+14+1}function lt(e,r){e[r>>5]|=128<<r%32,e[Ee(r)-1]=r;let t=1732584193,n=-271733879,i=-1732584194,o=271733878;for(let s=0;s<e.length;s+=16){let a=t,f=n,l=i,u=o;t=y(t,n,i,o,e[s],7,-680876936),o=y(o,t,n,i,e[s+1],12,-389564586),i=y(i,o,t,n,e[s+2],17,606105819),n=y(n,i,o,t,e[s+3],22,-1044525330),t=y(t,n,i,o,e[s+4],7,-176418897),o=y(o,t,n,i,e[s+5],12,1200080426),i=y(i,o,t,n,e[s+6],17,-1473231341),n=y(n,i,o,t,e[s+7],22,-45705983),t=y(t,n,i,o,e[s+8],7,1770035416),o=y(o,t,n,i,e[s+9],12,-1958414417),i=y(i,o,t,n,e[s+10],17,-42063),n=y(n,i,o,t,e[s+11],22,-1990404162),t=y(t,n,i,o,e[s+12],7,1804603682),o=y(o,t,n,i,e[s+13],12,-40341101),i=y(i,o,t,n,e[s+14],17,-1502002290),n=y(n,i,o,t,e[s+15],22,1236535329),t=h(t,n,i,o,e[s+1],5,-165796510),o=h(o,t,n,i,e[s+6],9,-1069501632),i=h(i,o,t,n,e[s+11],14,643717713),n=h(n,i,o,t,e[s],20,-373897302),t=h(t,n,i,o,e[s+5],5,-701558691),o=h(o,t,n,i,e[s+10],9,38016083),i=h(i,o,t,n,e[s+15],14,-660478335),n=h(n,i,o,t,e[s+4],20,-405537848),t=h(t,n,i,o,e[s+9],5,568446438),o=h(o,t,n,i,e[s+14],9,-1019803690),i=h(i,o,t,n,e[s+3],14,-187363961),n=h(n,i,o,t,e[s+8],20,1163531501),t=h(t,n,i,o,e[s+13],5,-1444681467),o=h(o,t,n,i,e[s+2],9,-51403784),i=h(i,o,t,n,e[s+7],14,1735328473),n=h(n,i,o,t,e[s+12],20,-1926607734),t=g(t,n,i,o,e[s+5],4,-378558),o=g(o,t,n,i,e[s+8],11,-2022574463),i=g(i,o,t,n,e[s+11],16,1839030562),n=g(n,i,o,t,e[s+14],23,-35309556),t=g(t,n,i,o,e[s+1],4,-1530992060),o=g(o,t,n,i,e[s+4],11,1272893353),i=g(i,o,t,n,e[s+7],16,-155497632),n=g(n,i,o,t,e[s+10],23,-1094730640),t=g(t,n,i,o,e[s+13],4,681279174),o=g(o,t,n,i,e[s],11,-358537222),i=g(i,o,t,n,e[s+3],16,-722521979),n=g(n,i,o,t,e[s+6],23,76029189),t=g(t,n,i,o,e[s+9],4,-640364487),o=g(o,t,n,i,e[s+12],11,-421815835),i=g(i,o,t,n,e[s+15],16,530742520),n=g(n,i,o,t,e[s+2],23,-995338651),t=b(t,n,i,o,e[s],6,-198630844),o=b(o,t,n,i,e[s+7],10,1126891415),i=b(i,o,t,n,e[s+14],15,-1416354905),n=b(n,i,o,t,e[s+5],21,-57434055),t=b(t,n,i,o,e[s+12],6,1700485571),o=b(o,t,n,i,e[s+3],10,-1894986606),i=b(i,o,t,n,e[s+10],15,-1051523),n=b(n,i,o,t,e[s+1],21,-2054922799),t=b(t,n,i,o,e[s+8],6,1873313359),o=b(o,t,n,i,e[s+15],10,-30611744),i=b(i,o,t,n,e[s+6],15,-1560198380),n=b(n,i,o,t,e[s+13],21,1309151649),t=b(t,n,i,o,e[s+4],6,-145523070),o=b(o,t,n,i,e[s+11],10,-1120210379),i=b(i,o,t,n,e[s+2],15,718787259),n=b(n,i,o,t,e[s+9],21,-343485551),t=S(t,a),n=S(n,f),i=S(i,l),o=S(o,u)}return[t,n,i,o]}function ut(e){if(e.length===0)return[];let r=e.length*8,t=new Uint32Array(Ee(r));for(let n=0;n<r;n+=8)t[n>>5]|=(e[n/8]&255)<<n%32;return t}function S(e,r){let t=(e&65535)+(r&65535);return(e>>16)+(r>>16)+(t>>16)<<16|t&65535}function dt(e,r){return e<<r|e>>>32-r}function K(e,r,t,n,i,o){return S(dt(S(S(r,e),S(n,o)),i),t)}function y(e,r,t,n,i,o,s){return K(r&t|~r&n,e,r,i,o,s)}function h(e,r,t,n,i,o,s){return K(r&n|t&~n,e,r,i,o,s)}function g(e,r,t,n,i,o,s){return K(r^t^n,e,r,i,o,s)}function b(e,r,t,n,i,o,s){return K(t^(r|~n),e,r,i,o,s)}var ve=at;var sr=V("v3",48,ve);var ct=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),se={randomUUID:ct};function pt(e,r,t){if(se.randomUUID&&!r&&!e)return se.randomUUID();e=e||{};let n=e.random||(e.rng||Z)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,r){t=t||0;for(let i=0;i<16;++i)r[t+i]=n[i];return r}return J(n)}var q=pt;function mt(e,r,t,n){switch(e){case 0:return r&t^~r&n;case 1:return r^t^n;case 2:return r&t^r&n^t&n;case 3:return r^t^n}}function ae(e,r){return e<<r|e>>>32-r}function yt(e){let r=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){let s=unescape(encodeURIComponent(e));e=[];for(let a=0;a<s.length;++a)e.push(s.charCodeAt(a))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);let n=e.length/4+2,i=Math.ceil(n/16),o=new Array(i);for(let s=0;s<i;++s){let a=new Uint32Array(16);for(let f=0;f<16;++f)a[f]=e[s*64+f*4]<<24|e[s*64+f*4+1]<<16|e[s*64+f*4+2]<<8|e[s*64+f*4+3];o[s]=a}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<i;++s){let a=new Uint32Array(80);for(let c=0;c<16;++c)a[c]=o[s][c];for(let c=16;c<80;++c)a[c]=ae(a[c-3]^a[c-8]^a[c-14]^a[c-16],1);let f=t[0],l=t[1],u=t[2],p=t[3],P=t[4];for(let c=0;c<80;++c){let T=Math.floor(c/20),B=ae(f,5)+mt(T,l,u,p)+P+r[T]+a[c]>>>0;P=p,p=u,u=ae(l,30)>>>0,l=f,f=B}t[0]=t[0]+f>>>0,t[1]=t[1]+l>>>0,t[2]=t[2]+u>>>0,t[3]=t[3]+p>>>0,t[4]=t[4]+P>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Pe=yt;var hr=V("v5",80,Pe);function fe(e){return[...new Uint8Array(e)].map(r=>r.toString(16).padStart(2,"0")).join("")}function Te(e){return new Uint8Array((e.match(/../g)??[]).map(r=>parseInt(r,16)))}function Ae(e){let r=0;for(let i of e)r+=i.length;let t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}var $e=he(_e());function G(e,r){if((0,$e.validate)(e,r).length)throw new Error(`couldn't validate schema: ${JSON.stringify(r)} didn't match schema ${JSON.stringify(e)}`)}var Le="3",je="https://webapp-prod.cloud.remarkable.engineering",Ct="https://internal.cloud.remarkable.com",De="x-goog-generation",Mt="x-goog-if-generation-match",Ft="x-goog-content-length-range",zr=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],Wr=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],Ut={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},It={sm:50,md:125,rr:180,lg:200},Rt={df:-1,md:100,lg:150,xl:200},_t={properties:{docID:{type:"string"},hash:{type:"string"}}},$t={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},ee={visibleName:{type:"string"},lastModified:{type:"string"}},te={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},Lt={discriminator:"type",mapping:{CollectionType:{properties:ee,optionalProperties:te},DocumentType:{properties:ee,optionalProperties:{...te,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},Ne={id:{type:"string"},hash:{type:"string"}},Dt={discriminator:"type",mapping:{CollectionType:{properties:{...ee,...Ne},optionalProperties:te},DocumentType:{properties:{...ee,...Ne,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...te,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},N=class extends Error{constructor(t,n,i){super(i);this.status=t,this.statusText=n}},ce=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function Yr(e,{deviceDesc:r="browser-chrome",uuid:t=q(),authHost:n=je,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let o=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:r,deviceID:t})});if(o.ok)return await o.text();throw new N(o.status,o.statusText,"couldn't register api")}function Nt({hash:e,type:r,documentId:t,subfiles:n,size:i}){return`${e}:${r}:${t}:${n}:${i}
|
|
2
|
+
`}function Bt(e){let[r,t,n,i,o]=e.split(":");if(r===void 0||t===void 0||n===void 0||i===void 0||o===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(t==="80000000")return{hash:r,type:t,documentId:n,subfiles:parseInt(i),size:BigInt(o)};if(t==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:r,type:t,documentId:n,subfiles:0,size:BigInt(o)}}else throw new Error(`entries line contained invalid type: ${t}`)}var pe=class{#f;#s;#a;#t;#r;#e=null;constructor(r,t,n,i,o){this.#f=r,this.#s=t,this.#r=n,this.#a=i,this.#t=o}async#o(r,{body:t,method:n="POST",headers:i={}}){let o=await this.#s(r,{method:n,headers:{Authorization:`Bearer ${this.#f}`,...i},body:t});if(o.ok)return o;{let s=await o.text();throw new N(o.status,o.statusText,`failed reMarkable request: ${s}`)}}async#n({url:r,method:t,maxuploadsize_bytes:n},i,o={}){let s=n?{...o,[Ft]:`0,${n}`}:o,a=await this.#s(r,{method:t,body:i,headers:s});if(a.ok)return a;{let f=await a.text();throw new N(a.status,a.statusText,f)}}async#i(r,t,n){let i=t===void 0?"downloads":"uploads",o=n?`{ "http_method": "PUT", "relative_path": "${r}", "root_schema": "${n}", "generation": ${t} }`:JSON.stringify({http_method:"GET",relative_path:r}),a=await(await this.#o(`${this.#t}/sync/v2/signed-urls/${i}`,{body:o})).text(),f=JSON.parse(a);return G($t,f),f}async getRootHash({cache:r=!0}={}){if(r)for(;this.#e;)try{let[o,s]=await this.#e;return[o,s]}catch{}let t=(async()=>{try{let o=await this.#i("root"),s=await this.#n(o),a=s.headers.get(De);if(a)return[await s.text(),BigInt(a)];throw new Error("no generation header in root hash")}catch(o){throw this.#e=null,o}})();this.#e=t;let[n,i]=await t;return[n,i]}async putRootHash(r,t){let n=await this.#i("root",t,r),i;try{i=await this.#n(n,r,{[Mt]:`${t}`})}catch(a){throw a instanceof N&&a.status===412?(this.#e=null,new ce):a}let o=i.headers.get(De);if(!o)throw new Error("no generation header in root hash");let s=BigInt(o);return this.#e=Promise.resolve([r,s]),s}async getBuffer(r){let t=await this.#i(r);return await(await this.#n(t)).arrayBuffer()}async getText(r){let t=await this.#r?.get(r);if(t)return t;{let n=await this.#i(r),o=await(await this.#n(n)).text();return await this.#r?.set(r,o),o}}async getMetadata(r){let t=await this.getText(r),n=JSON.parse(t);return G(Lt,n),n}async getEntries(r){let t=await this.getText(r),[n,...i]=t.slice(0,-1).split(`
|
|
3
|
+
`);if(n!==Le)throw new Error(`got unexpected schema version: ${n}`);return i.map(Bt)}async#l(r,t){let n=await this.#i(r,null);await this.#n(n,t)}async putEntries(r,t){let n=new TextEncoder;t.sort((u,p)=>u.documentId.localeCompare(p.documentId));let i=Ae(t.map(u=>Te(u.hash))),o=await this.#a.digest("SHA-256",i),s=fe(o),a=t.map(Nt).join(""),f=`${Le}
|
|
4
|
+
${a}`,l=n.encode(f);return await this.#l(s,l),await this.#r?.set(s,f),{hash:s,type:"80000000",documentId:r,subfiles:t.length,size:0n}}async putBuffer(r,t){let n=await this.#a.digest("SHA-256",t),i=fe(n);return await this.#l(i,t),{hash:i,type:"0",documentId:r,subfiles:0,size:BigInt(t.length)}}async putText(r,t){let n=new TextEncoder,i=await this.putBuffer(r,n.encode(t));return await this.#r?.set(i.hash,t),i}async putMetadata(r,t){return await this.putText(`${r}.metadata`,JSON.stringify(t))}async putCollection(r,t=""){let n=q(),i=`${new Date().valueOf()}`,o=[],s={type:"CollectionType",visibleName:r,version:0,parent:t,synced:!0,lastModified:i};o.push(this.putMetadata(n,s)),o.push(this.putText(`${n}.content`,"{}"));let a=await Promise.all(o);return await this.putEntries(n,a)}async#u(r,t,n,i,o){if(o.fileType!==n)throw new Error(`internal error: fileTypes don't match: ${n}, ${o.fileType}`);let s=q(),a=`${new Date().valueOf()}`,f=[];f.push(this.putBuffer(`${s}.${n}`,t));let l={type:"DocumentType",visibleName:r,version:0,parent:i,synced:!0,lastModified:a};f.push(this.putMetadata(s,l)),f.push(this.putText(`${s}.content`,JSON.stringify(o)));let u=await Promise.all(f);return await this.putEntries(s,u)}async putEpub(r,t,{parent:n="",margins:i=125,orientation:o,textAlignment:s,textScale:a=1,lineHeight:f=-1,fontName:l="",cover:u="visited",lastTool:p}={}){let P={dummyDocument:!1,extraMetadata:{LastTool:p},fileType:"epub",pageCount:0,lastOpenedPage:0,lineHeight:typeof f=="string"?Rt[f]:f,margins:typeof i=="string"?It[i]:i,textScale:typeof a=="string"?Ut[a]:a,pages:[],coverPageNumber:u==="first"?0:-1,formatVersion:1,orientation:o,textAlignment:s,fontName:l};return await this.#u(r,t,"epub",n,P)}async putPdf(r,t,{parent:n="",orientation:i,cover:o="first",lastTool:s}={}){let a={dummyDocument:!1,extraMetadata:{LastTool:s},fileType:"pdf",pageCount:0,lastOpenedPage:0,lineHeight:-1,margins:125,textScale:1,pages:[],coverPageNumber:o==="first"?0:-1,formatVersion:1,orientation:i};return await this.#u(r,t,"pdf",n,a)}async syncComplete(r){let t=`{ "generation": ${r} }`;await this.#o(`${this.#t}/sync/v2/sync-complete`,{body:t})}async#d(r,t,n){let{hash:i}=await this.putEntries("",t),o=await this.putRootHash(i,r);if(n)try{return await this.syncComplete(o),!0}catch{return!1}else return!1}async create(r,t={}){let{cache:n=!0,sync:i=!0}=typeof t=="boolean"?{cache:!1,sync:t}:t,[o,s]=await this.getRootHash({cache:n}),a=await this.getEntries(o);return a.push(r),await this.#d(s,a,i)}async move(r,t,n={}){let{cache:i=!0,sync:o=!0}=typeof n=="boolean"?{cache:!1,sync:n}:n,[s,a]=await this.getRootHash({cache:i}),f=await this.getEntries(s);if(!(!t||t==="trash")){let k=f.find(ne=>ne.documentId===t);if(k){if(k.type!=="80000000")throw new Error(`destination id was a raw file: ${t}`)}else throw new Error(`destination id not found: ${t}`);let v=await this.getEntries(k.hash),[z]=v.filter(ne=>ne.documentId===`${t}.metadata`);if(!z)throw new Error(`destination id didn't have metadata: ${t}`);if((await this.getMetadata(z.hash)).type!=="CollectionType")throw new Error(`destination id wasn't a collection: ${t}`)}let l=f.findIndex(k=>k.documentId===r);if(l===-1)throw new Error(`document not found: ${r}`);let[u]=f.splice(l,1);if(u.type!=="80000000")throw new Error(`document was a raw file: ${r}`);let p=await this.getEntries(u.hash),P=p.findIndex(k=>k.documentId===`${r}.metadata`);if(P===-1)throw new Error(`document didn't have metadata: ${r}`);let[c]=p.splice(P,1),T=await this.getMetadata(c.hash);T.parent=t;let B=await this.putMetadata(r,T);p.push(B);let re=await this.putEntries(r,p);return f.push(re),await this.#d(a,f,o)}async getEntriesMetadata(){let t=await(await this.#o(`${this.#t}/doc/v2/files`,{method:"GET",headers:{"rm-source":"RoR-Browser"}})).text(),n=JSON.parse(t);return G({elements:Dt},n),n}async#c(r,t,n){let o=new TextEncoder().encode(JSON.stringify({file_name:r})),a=await(await this.#o(`${this.#t}/doc/v2/files`,{body:t,headers:{"content-type":n,"rm-meta":(0,Be.fromByteArray)(o),"rm-source":"RoR-Browser"}})).text(),f=JSON.parse(a);return G(_t,f),f}async uploadEpub(r,t){return await this.#c(r,t,"application/epub+zip")}async uploadPdf(r,t){return await this.#c(r,t,"application/pdf")}};async function Zr(e,{fetch:r=globalThis.fetch,cache:t,subtle:n=globalThis.crypto?.subtle,authHost:i=je,syncHost:o=Ct}={}){let s=await r(`${i}/token/json/2/user/new`,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!s.ok)throw new Error(`couldn't fetch auth token: ${s.statusText}`);let a=await s.text();return new pe(a,r,t,n,o)}export{ce as GenerationError,N as ResponseError,Wr as builtinFontNames,Rt as builtinLineHeights,It as builtinMargins,Ut as builtinTextScales,zr as builtinTools,Nt as formatEntry,Bt as parseEntry,Yr as register,Zr as remarkable};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var rmapi=(()=>{var We=Object.create;var W=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Ke=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty;var j=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Qe=(e,r)=>{for(var t in r)W(e,t,{get:r[t],enumerable:!0})},ge=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Ze(r))!Xe.call(e,i)&&i!==t&&W(e,i,{get:()=>r[i],enumerable:!(n=Ye(r,i))||n.enumerable});return e};var he=(e,r,t)=>(t=e!=null?We(Ke(e)):{},ge(r||!e||!e.__esModule?W(t,"default",{value:e,enumerable:!0}):t,e)),et=e=>ge(W({},"__esModule",{value:!0}),e);var xe=j(Y=>{"use strict";Y.byteLength=rt;Y.toByteArray=it;Y.fromByteArray=at;var S=[],T=[],tt=typeof Uint8Array<"u"?Uint8Array:Array,se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(C=0,be=se.length;C<be;++C)S[C]=se[C],T[se.charCodeAt(C)]=C;var C,be;T["-".charCodeAt(0)]=62;T["_".charCodeAt(0)]=63;function we(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=r);var n=t===r?0:4-t%4;return[t,n]}function rt(e){var r=we(e),t=r[0],n=r[1];return(t+n)*3/4-n}function nt(e,r,t){return(r+t)*3/4-t}function it(e){var r,t=we(e),n=t[0],i=t[1],o=new tt(nt(e,n,i)),s=0,a=i>0?n-4:n,f;for(f=0;f<a;f+=4)r=T[e.charCodeAt(f)]<<18|T[e.charCodeAt(f+1)]<<12|T[e.charCodeAt(f+2)]<<6|T[e.charCodeAt(f+3)],o[s++]=r>>16&255,o[s++]=r>>8&255,o[s++]=r&255;return i===2&&(r=T[e.charCodeAt(f)]<<2|T[e.charCodeAt(f+1)]>>4,o[s++]=r&255),i===1&&(r=T[e.charCodeAt(f)]<<10|T[e.charCodeAt(f+1)]<<4|T[e.charCodeAt(f+2)]>>2,o[s++]=r>>8&255,o[s++]=r&255),o}function ot(e){return S[e>>18&63]+S[e>>12&63]+S[e>>6&63]+S[e&63]}function st(e,r,t){for(var n,i=[],o=r;o<t;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(ot(n));return i.join("")}function at(e){for(var r,t=e.length,n=t%3,i=[],o=16383,s=0,a=t-n;s<a;s+=o)i.push(st(e,s,s+o>a?a:s+o));return n===1?(r=e[t-1],i.push(S[r>>2]+S[r<<4&63]+"==")):n===2&&(r=(e[t-2]<<8)+e[t-1],i.push(S[r>>10]+S[r>>4&63]+S[r<<2&63]+"=")),i.join("")}});var ce=j(d=>{"use strict";var Se=d&&d.__rest||function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]]);return t};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function Pt(e){let{definitions:r,nullable:t,metadata:n}=e,i=Se(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=Pt;function Oe(e){return"ref"in e}d.isRefForm=Oe;function Tt(e){return"type"in e}d.isTypeForm=Tt;function Fe(e){return"enum"in e}d.isEnumForm=Fe;function Me(e){return"elements"in e}d.isElementsForm=Me;function de(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=de;function Ce(e){return"values"in e}d.isValuesForm=Ce;function Ue(e){return"discriminator"in e}d.isDiscriminatorForm=Ue;function U(e,r){if(r===void 0&&(r=e),e.definitions!==void 0){if(r!==e)return!1;for(let t of Object.values(e.definitions))if(!U(t,r))return!1}if(Oe(e)&&!(e.ref in(r.definitions||{}))||Fe(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(Me(e))return U(e.elements,r);if(de(e)){for(let t of Object.values(e.properties||{}))if(!U(t,r))return!1;for(let t of Object.values(e.optionalProperties||{}))if(!U(t,r))return!1;for(let t of Object.keys(e.properties||{}))if(t in(e.optionalProperties||{}))return!1}if(Ce(e))return U(e.values,r);if(Ue(e)){for(let t of Object.values(e.mapping))if(!U(t,r)||!de(t)||t.nullable||e.discriminator in(t.properties||{})||e.discriminator in(t.optionalProperties||{}))return!1}return!0}d.isValidSchema=U;var At=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],kt=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function I(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let r=e,{definitions:t=void 0,nullable:n=void 0,metadata:i=void 0,ref:o=void 0,type:s=void 0,enum:a=void 0,elements:f=void 0,properties:l=void 0,optionalProperties:u=void 0,additionalProperties:E=void 0,values:P=void 0,discriminator:c=void 0,mapping:A=void 0}=r,B=Se(r,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),ie=[o!==void 0,s!==void 0,a!==void 0,f!==void 0,l!==void 0,u!==void 0,E!==void 0,P!==void 0,c!==void 0,A!==void 0],k=!1;for(let v of At)k=k||v.every((z,ye)=>z===ie[ye]);if(!k)return!1;if(t!==void 0){if(typeof t!="object"||Array.isArray(t)||t===null)return!1;for(let v of Object.values(t))if(!I(v))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||o!==void 0&&typeof o!="string"||s!==void 0&&(typeof s!="string"||!kt.includes(s))||a!==void 0&&(!Array.isArray(a)||!a.every(v=>typeof v=="string"))||f!==void 0&&!I(f))return!1;if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let v of Object.values(l))if(!I(v))return!1}if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let v of Object.values(u))if(!I(v))return!1}if(E!==void 0&&typeof E!="boolean"||P!==void 0&&!I(P)||c!==void 0&&typeof c!="string")return!1;if(A!==void 0){if(typeof A!="object"||Array.isArray(A)||A===null)return!1;for(let v of Object.values(A))if(!I(v))return!1}return Object.keys(B).length===0}d.isSchema=I});var Ie=j(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var St=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function Ot(e){let r=e.match(St);if(r===null)return!1;let t=parseInt(r[1],10),n=parseInt(r[2],10),i=parseInt(r[3],10),o=parseInt(r[4],10),s=parseInt(r[5],10),a=parseInt(r[6],10);return!(n>12||i>Ft(t,n)||o>23||s>59||a>60)}pe.default=Ot;function Ft(e,r){return r===2?Mt(e)?29:28:Ct[r]}function Mt(e){return e%4===0&&(e%100!==0||e%400===0)}var Ct=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var Re=j(F=>{"use strict";var Ut=F&&F.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(F,"__esModule",{value:!0});F.validate=F.MaxDepthExceededError=void 0;var It=Ut(Ie()),R=ce(),Q=class extends Error{};F.MaxDepthExceededError=Q;var ee=class extends Error{};function Rt(e,r,t){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:t||{maxDepth:0,maxErrors:0}};try{L(n,e,r)}catch(i){if(!(i instanceof ee))throw i}return n.errors}F.validate=Rt;function L(e,r,t,n){if(!(r.nullable&&t===null)){if(R.isRefForm(r)){if(e.schemaTokens.length===e.config.maxDepth)throw new Q;e.schemaTokens.push(["definitions",r.ref]),L(e,e.root.definitions[r.ref],t),e.schemaTokens.pop()}else if(R.isTypeForm(r)){switch(b(e,"type"),r.type){case"boolean":typeof t!="boolean"&&w(e);break;case"float32":case"float64":typeof t!="number"&&w(e);break;case"int8":N(e,t,-128,127);break;case"uint8":N(e,t,0,255);break;case"int16":N(e,t,-32768,32767);break;case"uint16":N(e,t,0,65535);break;case"int32":N(e,t,-2147483648,2147483647);break;case"uint32":N(e,t,0,4294967295);break;case"string":typeof t!="string"&&w(e);break;case"timestamp":typeof t!="string"?w(e):It.default(t)||w(e);break}x(e)}else if(R.isEnumForm(r))b(e,"enum"),(typeof t!="string"||!r.enum.includes(t))&&w(e),x(e);else if(R.isElementsForm(r)){if(b(e,"elements"),Array.isArray(t))for(let[i,o]of t.entries())_(e,i.toString()),L(e,r.elements,o),$(e);else w(e);x(e)}else if(R.isPropertiesForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(r.properties!==void 0){b(e,"properties");for(let[i,o]of Object.entries(r.properties))b(e,i),t.hasOwnProperty(i)?(_(e,i),L(e,o,t[i]),$(e)):w(e),x(e);x(e)}if(r.optionalProperties!==void 0){b(e,"optionalProperties");for(let[i,o]of Object.entries(r.optionalProperties))b(e,i),t.hasOwnProperty(i)&&(_(e,i),L(e,o,t[i]),$(e)),x(e);x(e)}if(r.additionalProperties!==!0)for(let i of Object.keys(t)){let o=r.properties&&i in r.properties,s=r.optionalProperties&&i in r.optionalProperties;!o&&!s&&i!==n&&(_(e,i),w(e),$(e))}}else r.properties!==void 0?b(e,"properties"):b(e,"optionalProperties"),w(e),x(e);else if(R.isValuesForm(r)){if(b(e,"values"),typeof t=="object"&&t!==null&&!Array.isArray(t))for(let[i,o]of Object.entries(t))_(e,i),L(e,r.values,o),$(e);else w(e);x(e)}else if(R.isDiscriminatorForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t))if(t.hasOwnProperty(r.discriminator)){let i=t[r.discriminator];typeof i=="string"?i in r.mapping?(b(e,"mapping"),b(e,i),L(e,r.mapping[i],t,r.discriminator),x(e),x(e)):(b(e,"mapping"),_(e,r.discriminator),w(e),$(e),x(e)):(b(e,"discriminator"),_(e,r.discriminator),w(e),$(e),x(e))}else b(e,"discriminator"),w(e),x(e);else b(e,"discriminator"),w(e),x(e)}}function N(e,r,t,n){(typeof r!="number"||!Number.isInteger(r)||r<t||r>n)&&w(e)}function _(e,r){e.instanceTokens.push(r)}function $(e){e.instanceTokens.pop()}function b(e,r){e.schemaTokens[e.schemaTokens.length-1].push(r)}function x(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function w(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new ee}});var $e=j(M=>{"use strict";var _t=M&&M.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return r[t]}})}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),_e=M&&M.__exportStar||function(e,r){for(var t in e)t!=="default"&&!r.hasOwnProperty(t)&&_t(r,e,t)};Object.defineProperty(M,"__esModule",{value:!0});_e(ce(),M);_e(Re(),M)});var zt={};Qe(zt,{GenerationError:()=>ne,ResponseError:()=>D,builtinFontNames:()=>Bt,builtinLineHeights:()=>qe,builtinMargins:()=>Ve,builtinTextScales:()=>Je,builtinTools:()=>Nt,formatEntry:()=>Ge,parseEntry:()=>ze,register:()=>qt,remarkable:()=>Gt});var je=he(xe());var Z,ft=new Uint8Array(16);function K(){if(!Z&&(Z=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Z))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Z(ft)}var Ee=/^(?:[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;function lt(e){return typeof e=="string"&&Ee.test(e)}var H=lt;var p=[];for(let e=0;e<256;++e)p.push((e+256).toString(16).slice(1));function J(e,r=0){return(p[e[r+0]]+p[e[r+1]]+p[e[r+2]]+p[e[r+3]]+"-"+p[e[r+4]]+p[e[r+5]]+"-"+p[e[r+6]]+p[e[r+7]]+"-"+p[e[r+8]]+p[e[r+9]]+"-"+p[e[r+10]]+p[e[r+11]]+p[e[r+12]]+p[e[r+13]]+p[e[r+14]]+p[e[r+15]]).toLowerCase()}function ut(e){if(!H(e))throw TypeError("Invalid UUID");let r,t=new Uint8Array(16);return t[0]=(r=parseInt(e.slice(0,8),16))>>>24,t[1]=r>>>16&255,t[2]=r>>>8&255,t[3]=r&255,t[4]=(r=parseInt(e.slice(9,13),16))>>>8,t[5]=r&255,t[6]=(r=parseInt(e.slice(14,18),16))>>>8,t[7]=r&255,t[8]=(r=parseInt(e.slice(19,23),16))>>>8,t[9]=r&255,t[10]=(r=parseInt(e.slice(24,36),16))/1099511627776&255,t[11]=r/4294967296&255,t[12]=r>>>24&255,t[13]=r>>>16&255,t[14]=r>>>8&255,t[15]=r&255,t}var ae=ut;function dt(e){e=unescape(encodeURIComponent(e));let r=[];for(let t=0;t<e.length;++t)r.push(e.charCodeAt(t));return r}var ct="6ba7b810-9dad-11d1-80b4-00c04fd430c8",pt="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function V(e,r,t){function n(i,o,s,a){var f;if(typeof i=="string"&&(i=dt(i)),typeof o=="string"&&(o=ae(o)),((f=o)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=t(l),l[6]=l[6]&15|r,l[8]=l[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=l[u];return s}return J(l)}try{n.name=e}catch{}return n.DNS=ct,n.URL=pt,n}function mt(e){if(typeof e=="string"){let r=unescape(encodeURIComponent(e));e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t)}return yt(gt(ht(e),e.length*8))}function yt(e){let r=[],t=e.length*32,n="0123456789abcdef";for(let i=0;i<t;i+=8){let o=e[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(o&15),16);r.push(s)}return r}function ve(e){return(e+64>>>9<<4)+14+1}function gt(e,r){e[r>>5]|=128<<r%32,e[ve(r)-1]=r;let t=1732584193,n=-271733879,i=-1732584194,o=271733878;for(let s=0;s<e.length;s+=16){let a=t,f=n,l=i,u=o;t=m(t,n,i,o,e[s],7,-680876936),o=m(o,t,n,i,e[s+1],12,-389564586),i=m(i,o,t,n,e[s+2],17,606105819),n=m(n,i,o,t,e[s+3],22,-1044525330),t=m(t,n,i,o,e[s+4],7,-176418897),o=m(o,t,n,i,e[s+5],12,1200080426),i=m(i,o,t,n,e[s+6],17,-1473231341),n=m(n,i,o,t,e[s+7],22,-45705983),t=m(t,n,i,o,e[s+8],7,1770035416),o=m(o,t,n,i,e[s+9],12,-1958414417),i=m(i,o,t,n,e[s+10],17,-42063),n=m(n,i,o,t,e[s+11],22,-1990404162),t=m(t,n,i,o,e[s+12],7,1804603682),o=m(o,t,n,i,e[s+13],12,-40341101),i=m(i,o,t,n,e[s+14],17,-1502002290),n=m(n,i,o,t,e[s+15],22,1236535329),t=y(t,n,i,o,e[s+1],5,-165796510),o=y(o,t,n,i,e[s+6],9,-1069501632),i=y(i,o,t,n,e[s+11],14,643717713),n=y(n,i,o,t,e[s],20,-373897302),t=y(t,n,i,o,e[s+5],5,-701558691),o=y(o,t,n,i,e[s+10],9,38016083),i=y(i,o,t,n,e[s+15],14,-660478335),n=y(n,i,o,t,e[s+4],20,-405537848),t=y(t,n,i,o,e[s+9],5,568446438),o=y(o,t,n,i,e[s+14],9,-1019803690),i=y(i,o,t,n,e[s+3],14,-187363961),n=y(n,i,o,t,e[s+8],20,1163531501),t=y(t,n,i,o,e[s+13],5,-1444681467),o=y(o,t,n,i,e[s+2],9,-51403784),i=y(i,o,t,n,e[s+7],14,1735328473),n=y(n,i,o,t,e[s+12],20,-1926607734),t=g(t,n,i,o,e[s+5],4,-378558),o=g(o,t,n,i,e[s+8],11,-2022574463),i=g(i,o,t,n,e[s+11],16,1839030562),n=g(n,i,o,t,e[s+14],23,-35309556),t=g(t,n,i,o,e[s+1],4,-1530992060),o=g(o,t,n,i,e[s+4],11,1272893353),i=g(i,o,t,n,e[s+7],16,-155497632),n=g(n,i,o,t,e[s+10],23,-1094730640),t=g(t,n,i,o,e[s+13],4,681279174),o=g(o,t,n,i,e[s],11,-358537222),i=g(i,o,t,n,e[s+3],16,-722521979),n=g(n,i,o,t,e[s+6],23,76029189),t=g(t,n,i,o,e[s+9],4,-640364487),o=g(o,t,n,i,e[s+12],11,-421815835),i=g(i,o,t,n,e[s+15],16,530742520),n=g(n,i,o,t,e[s+2],23,-995338651),t=h(t,n,i,o,e[s],6,-198630844),o=h(o,t,n,i,e[s+7],10,1126891415),i=h(i,o,t,n,e[s+14],15,-1416354905),n=h(n,i,o,t,e[s+5],21,-57434055),t=h(t,n,i,o,e[s+12],6,1700485571),o=h(o,t,n,i,e[s+3],10,-1894986606),i=h(i,o,t,n,e[s+10],15,-1051523),n=h(n,i,o,t,e[s+1],21,-2054922799),t=h(t,n,i,o,e[s+8],6,1873313359),o=h(o,t,n,i,e[s+15],10,-30611744),i=h(i,o,t,n,e[s+6],15,-1560198380),n=h(n,i,o,t,e[s+13],21,1309151649),t=h(t,n,i,o,e[s+4],6,-145523070),o=h(o,t,n,i,e[s+11],10,-1120210379),i=h(i,o,t,n,e[s+2],15,718787259),n=h(n,i,o,t,e[s+9],21,-343485551),t=O(t,a),n=O(n,f),i=O(i,l),o=O(o,u)}return[t,n,i,o]}function ht(e){if(e.length===0)return[];let r=e.length*8,t=new Uint32Array(ve(r));for(let n=0;n<r;n+=8)t[n>>5]|=(e[n/8]&255)<<n%32;return t}function O(e,r){let t=(e&65535)+(r&65535);return(e>>16)+(r>>16)+(t>>16)<<16|t&65535}function bt(e,r){return e<<r|e>>>32-r}function X(e,r,t,n,i,o){return O(bt(O(O(r,e),O(n,o)),i),t)}function m(e,r,t,n,i,o,s){return X(r&t|~r&n,e,r,i,o,s)}function y(e,r,t,n,i,o,s){return X(r&n|t&~n,e,r,i,o,s)}function g(e,r,t,n,i,o,s){return X(r^t^n,e,r,i,o,s)}function h(e,r,t,n,i,o,s){return X(t^(r|~n),e,r,i,o,s)}var Pe=mt;var pr=V("v3",48,Pe);var wt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),fe={randomUUID:wt};function xt(e,r,t){if(fe.randomUUID&&!r&&!e)return fe.randomUUID();e=e||{};let n=e.random||(e.rng||K)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,r){t=t||0;for(let i=0;i<16;++i)r[t+i]=n[i];return r}return J(n)}var q=xt;function Et(e,r,t,n){switch(e){case 0:return r&t^~r&n;case 1:return r^t^n;case 2:return r&t^r&n^t&n;case 3:return r^t^n}}function le(e,r){return e<<r|e>>>32-r}function vt(e){let r=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){let s=unescape(encodeURIComponent(e));e=[];for(let a=0;a<s.length;++a)e.push(s.charCodeAt(a))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);let n=e.length/4+2,i=Math.ceil(n/16),o=new Array(i);for(let s=0;s<i;++s){let a=new Uint32Array(16);for(let f=0;f<16;++f)a[f]=e[s*64+f*4]<<24|e[s*64+f*4+1]<<16|e[s*64+f*4+2]<<8|e[s*64+f*4+3];o[s]=a}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<i;++s){let a=new Uint32Array(80);for(let c=0;c<16;++c)a[c]=o[s][c];for(let c=16;c<80;++c)a[c]=le(a[c-3]^a[c-8]^a[c-14]^a[c-16],1);let f=t[0],l=t[1],u=t[2],E=t[3],P=t[4];for(let c=0;c<80;++c){let A=Math.floor(c/20),B=le(f,5)+Et(A,l,u,E)+P+r[A]+a[c]>>>0;P=E,E=u,u=le(l,30)>>>0,l=f,f=B}t[0]=t[0]+f>>>0,t[1]=t[1]+l>>>0,t[2]=t[2]+u>>>0,t[3]=t[3]+E>>>0,t[4]=t[4]+P>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Te=vt;var Pr=V("v5",80,Te);function ue(e){return[...new Uint8Array(e)].map(r=>r.toString(16).padStart(2,"0")).join("")}function Ae(e){return new Uint8Array((e.match(/../g)??[]).map(r=>parseInt(r,16)))}function ke(e){let r=0;for(let i of e)r+=i.length;let t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}var Le=he($e());function G(e,r){if((0,Le.validate)(e,r).length)throw new Error(`couldn't validate schema: ${JSON.stringify(r)} didn't match schema ${JSON.stringify(e)}`)}var De="3",He="https://webapp-prod.cloud.remarkable.engineering",$t="https://internal.cloud.remarkable.com",Ne="x-goog-generation",Lt="x-goog-if-generation-match",Dt="x-goog-content-length-range",Nt=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],Bt=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],Je={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},Ve={sm:50,md:125,rr:180,lg:200},qe={df:-1,md:100,lg:150,xl:200},jt={properties:{docID:{type:"string"},hash:{type:"string"}}},Ht={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},te={visibleName:{type:"string"},lastModified:{type:"string"}},re={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},Jt={discriminator:"type",mapping:{CollectionType:{properties:te,optionalProperties:re},DocumentType:{properties:te,optionalProperties:{...re,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},Be={id:{type:"string"},hash:{type:"string"}},Vt={discriminator:"type",mapping:{CollectionType:{properties:{...te,...Be},optionalProperties:re},DocumentType:{properties:{...te,...Be,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...re,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},D=class extends Error{constructor(t,n,i){super(i);this.status=t,this.statusText=n}},ne=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function qt(e,{deviceDesc:r="browser-chrome",uuid:t=q(),authHost:n=He,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let o=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:r,deviceID:t})});if(o.ok)return await o.text();throw new D(o.status,o.statusText,"couldn't register api")}function Ge({hash:e,type:r,documentId:t,subfiles:n,size:i}){return`${e}:${r}:${t}:${n}:${i}
|
|
2
|
-
`}function ze(e){let[r,t,n,i,o]=e.split(":");if(r===void 0||t===void 0||n===void 0||i===void 0||o===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(t==="80000000")return{hash:r,type:t,documentId:n,subfiles:parseInt(i),size:BigInt(o)};if(t==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:r,type:t,documentId:n,subfiles:0,size:BigInt(o)}}else throw new Error(`entries line contained invalid type: ${t}`)}var me=class{#a;#
|
|
3
|
-
`);if(n!==De)throw new Error(`got unexpected schema version: ${n}`);return i.map(ze)}async#
|
|
4
|
-
${a}`,l=n.encode(f);return await this.#
|
|
1
|
+
var rmapi=(()=>{var We=Object.create;var W=Object.defineProperty;var Ye=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Ke=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty;var j=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Qe=(e,r)=>{for(var t in r)W(e,t,{get:r[t],enumerable:!0})},he=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Ze(r))!Xe.call(e,i)&&i!==t&&W(e,i,{get:()=>r[i],enumerable:!(n=Ye(r,i))||n.enumerable});return e};var ge=(e,r,t)=>(t=e!=null?We(Ke(e)):{},he(r||!e||!e.__esModule?W(t,"default",{value:e,enumerable:!0}):t,e)),et=e=>he(W({},"__esModule",{value:!0}),e);var xe=j(Y=>{"use strict";Y.byteLength=rt;Y.toByteArray=it;Y.fromByteArray=at;var O=[],A=[],tt=typeof Uint8Array<"u"?Uint8Array:Array,se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(F=0,be=se.length;F<be;++F)O[F]=se[F],A[se.charCodeAt(F)]=F;var F,be;A["-".charCodeAt(0)]=62;A["_".charCodeAt(0)]=63;function we(e){var r=e.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=e.indexOf("=");t===-1&&(t=r);var n=t===r?0:4-t%4;return[t,n]}function rt(e){var r=we(e),t=r[0],n=r[1];return(t+n)*3/4-n}function nt(e,r,t){return(r+t)*3/4-t}function it(e){var r,t=we(e),n=t[0],i=t[1],o=new tt(nt(e,n,i)),s=0,a=i>0?n-4:n,f;for(f=0;f<a;f+=4)r=A[e.charCodeAt(f)]<<18|A[e.charCodeAt(f+1)]<<12|A[e.charCodeAt(f+2)]<<6|A[e.charCodeAt(f+3)],o[s++]=r>>16&255,o[s++]=r>>8&255,o[s++]=r&255;return i===2&&(r=A[e.charCodeAt(f)]<<2|A[e.charCodeAt(f+1)]>>4,o[s++]=r&255),i===1&&(r=A[e.charCodeAt(f)]<<10|A[e.charCodeAt(f+1)]<<4|A[e.charCodeAt(f+2)]>>2,o[s++]=r>>8&255,o[s++]=r&255),o}function ot(e){return O[e>>18&63]+O[e>>12&63]+O[e>>6&63]+O[e&63]}function st(e,r,t){for(var n,i=[],o=r;o<t;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(ot(n));return i.join("")}function at(e){for(var r,t=e.length,n=t%3,i=[],o=16383,s=0,a=t-n;s<a;s+=o)i.push(st(e,s,s+o>a?a:s+o));return n===1?(r=e[t-1],i.push(O[r>>2]+O[r<<4&63]+"==")):n===2&&(r=(e[t-2]<<8)+e[t-1],i.push(O[r>>10]+O[r>>4&63]+O[r<<2&63]+"=")),i.join("")}});var ce=j(d=>{"use strict";var Oe=d&&d.__rest||function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]]);return t};Object.defineProperty(d,"__esModule",{value:!0});d.isSchema=d.isValidSchema=d.isDiscriminatorForm=d.isValuesForm=d.isPropertiesForm=d.isElementsForm=d.isEnumForm=d.isTypeForm=d.isRefForm=d.isEmptyForm=void 0;function Pt(e){let{definitions:r,nullable:t,metadata:n}=e,i=Oe(e,["definitions","nullable","metadata"]);return Object.keys(i).length===0}d.isEmptyForm=Pt;function Se(e){return"ref"in e}d.isRefForm=Se;function Tt(e){return"type"in e}d.isTypeForm=Tt;function Ce(e){return"enum"in e}d.isEnumForm=Ce;function Me(e){return"elements"in e}d.isElementsForm=Me;function de(e){return"properties"in e||"optionalProperties"in e}d.isPropertiesForm=de;function Fe(e){return"values"in e}d.isValuesForm=Fe;function Ue(e){return"discriminator"in e}d.isDiscriminatorForm=Ue;function U(e,r){if(r===void 0&&(r=e),e.definitions!==void 0){if(r!==e)return!1;for(let t of Object.values(e.definitions))if(!U(t,r))return!1}if(Se(e)&&!(e.ref in(r.definitions||{}))||Ce(e)&&(e.enum.length===0||e.enum.length!==new Set(e.enum).size))return!1;if(Me(e))return U(e.elements,r);if(de(e)){for(let t of Object.values(e.properties||{}))if(!U(t,r))return!1;for(let t of Object.values(e.optionalProperties||{}))if(!U(t,r))return!1;for(let t of Object.keys(e.properties||{}))if(t in(e.optionalProperties||{}))return!1}if(Fe(e))return U(e.values,r);if(Ue(e)){for(let t of Object.values(e.mapping))if(!U(t,r)||!de(t)||t.nullable||e.discriminator in(t.properties||{})||e.discriminator in(t.optionalProperties||{}))return!1}return!0}d.isValidSchema=U;var At=[[!1,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!0,!1,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!0,!1,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!0,!1,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!0,!1,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!1,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!1,!1,!1,!1],[!1,!1,!1,!1,!0,!1,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!0,!0,!0,!1,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!0,!1,!1],[!1,!1,!1,!1,!1,!1,!1,!1,!0,!0]],kt=["boolean","float32","float64","int8","uint8","int16","uint16","int32","uint32","string","timestamp"];function I(e){if(typeof e!="object"||Array.isArray(e)||e===null)return!1;let r=e,{definitions:t=void 0,nullable:n=void 0,metadata:i=void 0,ref:o=void 0,type:s=void 0,enum:a=void 0,elements:f=void 0,properties:l=void 0,optionalProperties:u=void 0,additionalProperties:p=void 0,values:P=void 0,discriminator:c=void 0,mapping:T=void 0}=r,B=Oe(r,["definitions","nullable","metadata","ref","type","enum","elements","properties","optionalProperties","additionalProperties","values","discriminator","mapping"]),ie=[o!==void 0,s!==void 0,a!==void 0,f!==void 0,l!==void 0,u!==void 0,p!==void 0,P!==void 0,c!==void 0,T!==void 0],k=!1;for(let v of At)k=k||v.every((z,ye)=>z===ie[ye]);if(!k)return!1;if(t!==void 0){if(typeof t!="object"||Array.isArray(t)||t===null)return!1;for(let v of Object.values(t))if(!I(v))return!1}if(n!==void 0&&typeof n!="boolean"||i!==void 0&&(typeof i!="object"||Array.isArray(i)||i===null)||o!==void 0&&typeof o!="string"||s!==void 0&&(typeof s!="string"||!kt.includes(s))||a!==void 0&&(!Array.isArray(a)||!a.every(v=>typeof v=="string"))||f!==void 0&&!I(f))return!1;if(l!==void 0){if(typeof l!="object"||Array.isArray(l)||l===null)return!1;for(let v of Object.values(l))if(!I(v))return!1}if(u!==void 0){if(typeof u!="object"||Array.isArray(u)||u===null)return!1;for(let v of Object.values(u))if(!I(v))return!1}if(p!==void 0&&typeof p!="boolean"||P!==void 0&&!I(P)||c!==void 0&&typeof c!="string")return!1;if(T!==void 0){if(typeof T!="object"||Array.isArray(T)||T===null)return!1;for(let v of Object.values(T))if(!I(v))return!1}return Object.keys(B).length===0}d.isSchema=I});var Ie=j(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});var Ot=/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(\.\d+)?([zZ]|((\+|-)(\d{2}):(\d{2})))$/;function St(e){let r=e.match(Ot);if(r===null)return!1;let t=parseInt(r[1],10),n=parseInt(r[2],10),i=parseInt(r[3],10),o=parseInt(r[4],10),s=parseInt(r[5],10),a=parseInt(r[6],10);return!(n>12||i>Ct(t,n)||o>23||s>59||a>60)}pe.default=St;function Ct(e,r){return r===2?Mt(e)?29:28:Ft[r]}function Mt(e){return e%4===0&&(e%100!==0||e%400===0)}var Ft=[0,31,0,31,30,31,30,31,31,30,31,30,31]});var Re=j(C=>{"use strict";var Ut=C&&C.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C,"__esModule",{value:!0});C.validate=C.MaxDepthExceededError=void 0;var It=Ut(Ie()),R=ce(),Q=class extends Error{};C.MaxDepthExceededError=Q;var ee=class extends Error{};function Rt(e,r,t){let n={errors:[],instanceTokens:[],schemaTokens:[[]],root:e,config:t||{maxDepth:0,maxErrors:0}};try{L(n,e,r)}catch(i){if(!(i instanceof ee))throw i}return n.errors}C.validate=Rt;function L(e,r,t,n){if(!(r.nullable&&t===null)){if(R.isRefForm(r)){if(e.schemaTokens.length===e.config.maxDepth)throw new Q;e.schemaTokens.push(["definitions",r.ref]),L(e,e.root.definitions[r.ref],t),e.schemaTokens.pop()}else if(R.isTypeForm(r)){switch(w(e,"type"),r.type){case"boolean":typeof t!="boolean"&&x(e);break;case"float32":case"float64":typeof t!="number"&&x(e);break;case"int8":N(e,t,-128,127);break;case"uint8":N(e,t,0,255);break;case"int16":N(e,t,-32768,32767);break;case"uint16":N(e,t,0,65535);break;case"int32":N(e,t,-2147483648,2147483647);break;case"uint32":N(e,t,0,4294967295);break;case"string":typeof t!="string"&&x(e);break;case"timestamp":typeof t!="string"?x(e):It.default(t)||x(e);break}E(e)}else if(R.isEnumForm(r))w(e,"enum"),(typeof t!="string"||!r.enum.includes(t))&&x(e),E(e);else if(R.isElementsForm(r)){if(w(e,"elements"),Array.isArray(t))for(let[i,o]of t.entries())_(e,i.toString()),L(e,r.elements,o),$(e);else x(e);E(e)}else if(R.isPropertiesForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(r.properties!==void 0){w(e,"properties");for(let[i,o]of Object.entries(r.properties))w(e,i),t.hasOwnProperty(i)?(_(e,i),L(e,o,t[i]),$(e)):x(e),E(e);E(e)}if(r.optionalProperties!==void 0){w(e,"optionalProperties");for(let[i,o]of Object.entries(r.optionalProperties))w(e,i),t.hasOwnProperty(i)&&(_(e,i),L(e,o,t[i]),$(e)),E(e);E(e)}if(r.additionalProperties!==!0)for(let i of Object.keys(t)){let o=r.properties&&i in r.properties,s=r.optionalProperties&&i in r.optionalProperties;!o&&!s&&i!==n&&(_(e,i),x(e),$(e))}}else r.properties!==void 0?w(e,"properties"):w(e,"optionalProperties"),x(e),E(e);else if(R.isValuesForm(r)){if(w(e,"values"),typeof t=="object"&&t!==null&&!Array.isArray(t))for(let[i,o]of Object.entries(t))_(e,i),L(e,r.values,o),$(e);else x(e);E(e)}else if(R.isDiscriminatorForm(r))if(typeof t=="object"&&t!==null&&!Array.isArray(t))if(t.hasOwnProperty(r.discriminator)){let i=t[r.discriminator];typeof i=="string"?i in r.mapping?(w(e,"mapping"),w(e,i),L(e,r.mapping[i],t,r.discriminator),E(e),E(e)):(w(e,"mapping"),_(e,r.discriminator),x(e),$(e),E(e)):(w(e,"discriminator"),_(e,r.discriminator),x(e),$(e),E(e))}else w(e,"discriminator"),x(e),E(e);else w(e,"discriminator"),x(e),E(e)}}function N(e,r,t,n){(typeof r!="number"||!Number.isInteger(r)||r<t||r>n)&&x(e)}function _(e,r){e.instanceTokens.push(r)}function $(e){e.instanceTokens.pop()}function w(e,r){e.schemaTokens[e.schemaTokens.length-1].push(r)}function E(e){e.schemaTokens[e.schemaTokens.length-1].pop()}function x(e){if(e.errors.push({instancePath:[...e.instanceTokens],schemaPath:[...e.schemaTokens[e.schemaTokens.length-1]]}),e.errors.length===e.config.maxErrors)throw new ee}});var $e=j(M=>{"use strict";var _t=M&&M.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t),Object.defineProperty(e,n,{enumerable:!0,get:function(){return r[t]}})}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),_e=M&&M.__exportStar||function(e,r){for(var t in e)t!=="default"&&!r.hasOwnProperty(t)&&_t(r,e,t)};Object.defineProperty(M,"__esModule",{value:!0});_e(ce(),M);_e(Re(),M)});var zt={};Qe(zt,{GenerationError:()=>ne,ResponseError:()=>D,builtinFontNames:()=>Bt,builtinLineHeights:()=>qe,builtinMargins:()=>Ve,builtinTextScales:()=>Je,builtinTools:()=>Nt,formatEntry:()=>Ge,parseEntry:()=>ze,register:()=>qt,remarkable:()=>Gt});var je=ge(xe());var Z,ft=new Uint8Array(16);function K(){if(!Z&&(Z=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Z))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Z(ft)}var Ee=/^(?:[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;function lt(e){return typeof e=="string"&&Ee.test(e)}var H=lt;var m=[];for(let e=0;e<256;++e)m.push((e+256).toString(16).slice(1));function J(e,r=0){return(m[e[r+0]]+m[e[r+1]]+m[e[r+2]]+m[e[r+3]]+"-"+m[e[r+4]]+m[e[r+5]]+"-"+m[e[r+6]]+m[e[r+7]]+"-"+m[e[r+8]]+m[e[r+9]]+"-"+m[e[r+10]]+m[e[r+11]]+m[e[r+12]]+m[e[r+13]]+m[e[r+14]]+m[e[r+15]]).toLowerCase()}function ut(e){if(!H(e))throw TypeError("Invalid UUID");let r,t=new Uint8Array(16);return t[0]=(r=parseInt(e.slice(0,8),16))>>>24,t[1]=r>>>16&255,t[2]=r>>>8&255,t[3]=r&255,t[4]=(r=parseInt(e.slice(9,13),16))>>>8,t[5]=r&255,t[6]=(r=parseInt(e.slice(14,18),16))>>>8,t[7]=r&255,t[8]=(r=parseInt(e.slice(19,23),16))>>>8,t[9]=r&255,t[10]=(r=parseInt(e.slice(24,36),16))/1099511627776&255,t[11]=r/4294967296&255,t[12]=r>>>24&255,t[13]=r>>>16&255,t[14]=r>>>8&255,t[15]=r&255,t}var ae=ut;function dt(e){e=unescape(encodeURIComponent(e));let r=[];for(let t=0;t<e.length;++t)r.push(e.charCodeAt(t));return r}var ct="6ba7b810-9dad-11d1-80b4-00c04fd430c8",pt="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function V(e,r,t){function n(i,o,s,a){var f;if(typeof i=="string"&&(i=dt(i)),typeof o=="string"&&(o=ae(o)),((f=o)===null||f===void 0?void 0:f.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=t(l),l[6]=l[6]&15|r,l[8]=l[8]&63|128,s){a=a||0;for(let u=0;u<16;++u)s[a+u]=l[u];return s}return J(l)}try{n.name=e}catch{}return n.DNS=ct,n.URL=pt,n}function mt(e){if(typeof e=="string"){let r=unescape(encodeURIComponent(e));e=new Uint8Array(r.length);for(let t=0;t<r.length;++t)e[t]=r.charCodeAt(t)}return yt(ht(gt(e),e.length*8))}function yt(e){let r=[],t=e.length*32,n="0123456789abcdef";for(let i=0;i<t;i+=8){let o=e[i>>5]>>>i%32&255,s=parseInt(n.charAt(o>>>4&15)+n.charAt(o&15),16);r.push(s)}return r}function ve(e){return(e+64>>>9<<4)+14+1}function ht(e,r){e[r>>5]|=128<<r%32,e[ve(r)-1]=r;let t=1732584193,n=-271733879,i=-1732584194,o=271733878;for(let s=0;s<e.length;s+=16){let a=t,f=n,l=i,u=o;t=y(t,n,i,o,e[s],7,-680876936),o=y(o,t,n,i,e[s+1],12,-389564586),i=y(i,o,t,n,e[s+2],17,606105819),n=y(n,i,o,t,e[s+3],22,-1044525330),t=y(t,n,i,o,e[s+4],7,-176418897),o=y(o,t,n,i,e[s+5],12,1200080426),i=y(i,o,t,n,e[s+6],17,-1473231341),n=y(n,i,o,t,e[s+7],22,-45705983),t=y(t,n,i,o,e[s+8],7,1770035416),o=y(o,t,n,i,e[s+9],12,-1958414417),i=y(i,o,t,n,e[s+10],17,-42063),n=y(n,i,o,t,e[s+11],22,-1990404162),t=y(t,n,i,o,e[s+12],7,1804603682),o=y(o,t,n,i,e[s+13],12,-40341101),i=y(i,o,t,n,e[s+14],17,-1502002290),n=y(n,i,o,t,e[s+15],22,1236535329),t=h(t,n,i,o,e[s+1],5,-165796510),o=h(o,t,n,i,e[s+6],9,-1069501632),i=h(i,o,t,n,e[s+11],14,643717713),n=h(n,i,o,t,e[s],20,-373897302),t=h(t,n,i,o,e[s+5],5,-701558691),o=h(o,t,n,i,e[s+10],9,38016083),i=h(i,o,t,n,e[s+15],14,-660478335),n=h(n,i,o,t,e[s+4],20,-405537848),t=h(t,n,i,o,e[s+9],5,568446438),o=h(o,t,n,i,e[s+14],9,-1019803690),i=h(i,o,t,n,e[s+3],14,-187363961),n=h(n,i,o,t,e[s+8],20,1163531501),t=h(t,n,i,o,e[s+13],5,-1444681467),o=h(o,t,n,i,e[s+2],9,-51403784),i=h(i,o,t,n,e[s+7],14,1735328473),n=h(n,i,o,t,e[s+12],20,-1926607734),t=g(t,n,i,o,e[s+5],4,-378558),o=g(o,t,n,i,e[s+8],11,-2022574463),i=g(i,o,t,n,e[s+11],16,1839030562),n=g(n,i,o,t,e[s+14],23,-35309556),t=g(t,n,i,o,e[s+1],4,-1530992060),o=g(o,t,n,i,e[s+4],11,1272893353),i=g(i,o,t,n,e[s+7],16,-155497632),n=g(n,i,o,t,e[s+10],23,-1094730640),t=g(t,n,i,o,e[s+13],4,681279174),o=g(o,t,n,i,e[s],11,-358537222),i=g(i,o,t,n,e[s+3],16,-722521979),n=g(n,i,o,t,e[s+6],23,76029189),t=g(t,n,i,o,e[s+9],4,-640364487),o=g(o,t,n,i,e[s+12],11,-421815835),i=g(i,o,t,n,e[s+15],16,530742520),n=g(n,i,o,t,e[s+2],23,-995338651),t=b(t,n,i,o,e[s],6,-198630844),o=b(o,t,n,i,e[s+7],10,1126891415),i=b(i,o,t,n,e[s+14],15,-1416354905),n=b(n,i,o,t,e[s+5],21,-57434055),t=b(t,n,i,o,e[s+12],6,1700485571),o=b(o,t,n,i,e[s+3],10,-1894986606),i=b(i,o,t,n,e[s+10],15,-1051523),n=b(n,i,o,t,e[s+1],21,-2054922799),t=b(t,n,i,o,e[s+8],6,1873313359),o=b(o,t,n,i,e[s+15],10,-30611744),i=b(i,o,t,n,e[s+6],15,-1560198380),n=b(n,i,o,t,e[s+13],21,1309151649),t=b(t,n,i,o,e[s+4],6,-145523070),o=b(o,t,n,i,e[s+11],10,-1120210379),i=b(i,o,t,n,e[s+2],15,718787259),n=b(n,i,o,t,e[s+9],21,-343485551),t=S(t,a),n=S(n,f),i=S(i,l),o=S(o,u)}return[t,n,i,o]}function gt(e){if(e.length===0)return[];let r=e.length*8,t=new Uint32Array(ve(r));for(let n=0;n<r;n+=8)t[n>>5]|=(e[n/8]&255)<<n%32;return t}function S(e,r){let t=(e&65535)+(r&65535);return(e>>16)+(r>>16)+(t>>16)<<16|t&65535}function bt(e,r){return e<<r|e>>>32-r}function X(e,r,t,n,i,o){return S(bt(S(S(r,e),S(n,o)),i),t)}function y(e,r,t,n,i,o,s){return X(r&t|~r&n,e,r,i,o,s)}function h(e,r,t,n,i,o,s){return X(r&n|t&~n,e,r,i,o,s)}function g(e,r,t,n,i,o,s){return X(r^t^n,e,r,i,o,s)}function b(e,r,t,n,i,o,s){return X(t^(r|~n),e,r,i,o,s)}var Pe=mt;var pr=V("v3",48,Pe);var wt=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),fe={randomUUID:wt};function xt(e,r,t){if(fe.randomUUID&&!r&&!e)return fe.randomUUID();e=e||{};let n=e.random||(e.rng||K)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,r){t=t||0;for(let i=0;i<16;++i)r[t+i]=n[i];return r}return J(n)}var q=xt;function Et(e,r,t,n){switch(e){case 0:return r&t^~r&n;case 1:return r^t^n;case 2:return r&t^r&n^t&n;case 3:return r^t^n}}function le(e,r){return e<<r|e>>>32-r}function vt(e){let r=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){let s=unescape(encodeURIComponent(e));e=[];for(let a=0;a<s.length;++a)e.push(s.charCodeAt(a))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);let n=e.length/4+2,i=Math.ceil(n/16),o=new Array(i);for(let s=0;s<i;++s){let a=new Uint32Array(16);for(let f=0;f<16;++f)a[f]=e[s*64+f*4]<<24|e[s*64+f*4+1]<<16|e[s*64+f*4+2]<<8|e[s*64+f*4+3];o[s]=a}o[i-1][14]=(e.length-1)*8/Math.pow(2,32),o[i-1][14]=Math.floor(o[i-1][14]),o[i-1][15]=(e.length-1)*8&4294967295;for(let s=0;s<i;++s){let a=new Uint32Array(80);for(let c=0;c<16;++c)a[c]=o[s][c];for(let c=16;c<80;++c)a[c]=le(a[c-3]^a[c-8]^a[c-14]^a[c-16],1);let f=t[0],l=t[1],u=t[2],p=t[3],P=t[4];for(let c=0;c<80;++c){let T=Math.floor(c/20),B=le(f,5)+Et(T,l,u,p)+P+r[T]+a[c]>>>0;P=p,p=u,u=le(l,30)>>>0,l=f,f=B}t[0]=t[0]+f>>>0,t[1]=t[1]+l>>>0,t[2]=t[2]+u>>>0,t[3]=t[3]+p>>>0,t[4]=t[4]+P>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Te=vt;var Pr=V("v5",80,Te);function ue(e){return[...new Uint8Array(e)].map(r=>r.toString(16).padStart(2,"0")).join("")}function Ae(e){return new Uint8Array((e.match(/../g)??[]).map(r=>parseInt(r,16)))}function ke(e){let r=0;for(let i of e)r+=i.length;let t=new Uint8Array(r),n=0;for(let i of e)t.set(i,n),n+=i.length;return t}var Le=ge($e());function G(e,r){if((0,Le.validate)(e,r).length)throw new Error(`couldn't validate schema: ${JSON.stringify(r)} didn't match schema ${JSON.stringify(e)}`)}var De="3",He="https://webapp-prod.cloud.remarkable.engineering",$t="https://internal.cloud.remarkable.com",Ne="x-goog-generation",Lt="x-goog-if-generation-match",Dt="x-goog-content-length-range",Nt=["Ballpoint","Ballpointv2","Brush","Calligraphy","ClearPage","EraseSection","Eraser","Fineliner","Finelinerv2","Highlighter","Highlighterv2","Marker","Markerv2","Paintbrush","Paintbrushv2","Pencilv2","SharpPencil","SharpPencilv2","SolidPen","ZoomTool"],Bt=["Maison Neue","EB Garamond","Noto Sans","Noto Serif","Noto Mono","Noto Sans UI"],Je={xs:.7,sm:.8,md:1,lg:1.2,xl:1.5,xx:2},Ve={sm:50,md:125,rr:180,lg:200},qe={df:-1,md:100,lg:150,xl:200},jt={properties:{docID:{type:"string"},hash:{type:"string"}}},Ht={properties:{relative_path:{type:"string"},url:{type:"string"},expires:{type:"timestamp"},method:{enum:["POST","GET","PUT","DELETE"]}},optionalProperties:{maxuploadsize_bytes:{type:"float64"}}},te={visibleName:{type:"string"},lastModified:{type:"string"}},re={version:{type:"int32"},pinned:{type:"boolean"},synced:{type:"boolean"},modified:{type:"boolean"},deleted:{type:"boolean"},metadatamodified:{type:"boolean"},parent:{type:"string"}},Jt={discriminator:"type",mapping:{CollectionType:{properties:te,optionalProperties:re},DocumentType:{properties:te,optionalProperties:{...re,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},Be={id:{type:"string"},hash:{type:"string"}},Vt={discriminator:"type",mapping:{CollectionType:{properties:{...te,...Be},optionalProperties:re},DocumentType:{properties:{...te,...Be,fileType:{enum:["notebook","epub","pdf",""]}},optionalProperties:{...re,lastOpened:{type:"string"},lastOpenedPage:{type:"int32"}}}}},D=class extends Error{constructor(t,n,i){super(i);this.status=t,this.statusText=n}},ne=class extends Error{constructor(){super("Generation preconditions failed. This means the current state is out of date with the cloud and needs to be re-synced.")}};async function qt(e,{deviceDesc:r="browser-chrome",uuid:t=q(),authHost:n=He,fetch:i=globalThis.fetch}={}){if(e.length!==8)throw new Error(`code should be length 8, but was ${e.length}`);let o=await i(`${n}/token/json/2/device/new`,{method:"POST",headers:{Authorization:"Bearer"},body:JSON.stringify({code:e,deviceDesc:r,deviceID:t})});if(o.ok)return await o.text();throw new D(o.status,o.statusText,"couldn't register api")}function Ge({hash:e,type:r,documentId:t,subfiles:n,size:i}){return`${e}:${r}:${t}:${n}:${i}
|
|
2
|
+
`}function ze(e){let[r,t,n,i,o]=e.split(":");if(r===void 0||t===void 0||n===void 0||i===void 0||o===void 0)throw new Error(`entries line didn't contain five fields: '${e}'`);if(t==="80000000")return{hash:r,type:t,documentId:n,subfiles:parseInt(i),size:BigInt(o)};if(t==="0"){if(i!=="0")throw new Error(`file type entry had nonzero number of subfiles: ${i}`);return{hash:r,type:t,documentId:n,subfiles:0,size:BigInt(o)}}else throw new Error(`entries line contained invalid type: ${t}`)}var me=class{#f;#s;#a;#t;#r;#e=null;constructor(r,t,n,i,o){this.#f=r,this.#s=t,this.#r=n,this.#a=i,this.#t=o}async#o(r,{body:t,method:n="POST",headers:i={}}){let o=await this.#s(r,{method:n,headers:{Authorization:`Bearer ${this.#f}`,...i},body:t});if(o.ok)return o;{let s=await o.text();throw new D(o.status,o.statusText,`failed reMarkable request: ${s}`)}}async#n({url:r,method:t,maxuploadsize_bytes:n},i,o={}){let s=n?{...o,[Dt]:`0,${n}`}:o,a=await this.#s(r,{method:t,body:i,headers:s});if(a.ok)return a;{let f=await a.text();throw new D(a.status,a.statusText,f)}}async#i(r,t,n){let i=t===void 0?"downloads":"uploads",o=n?`{ "http_method": "PUT", "relative_path": "${r}", "root_schema": "${n}", "generation": ${t} }`:JSON.stringify({http_method:"GET",relative_path:r}),a=await(await this.#o(`${this.#t}/sync/v2/signed-urls/${i}`,{body:o})).text(),f=JSON.parse(a);return G(Ht,f),f}async getRootHash({cache:r=!0}={}){if(r)for(;this.#e;)try{let[o,s]=await this.#e;return[o,s]}catch{}let t=(async()=>{try{let o=await this.#i("root"),s=await this.#n(o),a=s.headers.get(Ne);if(a)return[await s.text(),BigInt(a)];throw new Error("no generation header in root hash")}catch(o){throw this.#e=null,o}})();this.#e=t;let[n,i]=await t;return[n,i]}async putRootHash(r,t){let n=await this.#i("root",t,r),i;try{i=await this.#n(n,r,{[Lt]:`${t}`})}catch(a){throw a instanceof D&&a.status===412?(this.#e=null,new ne):a}let o=i.headers.get(Ne);if(!o)throw new Error("no generation header in root hash");let s=BigInt(o);return this.#e=Promise.resolve([r,s]),s}async getBuffer(r){let t=await this.#i(r);return await(await this.#n(t)).arrayBuffer()}async getText(r){let t=await this.#r?.get(r);if(t)return t;{let n=await this.#i(r),o=await(await this.#n(n)).text();return await this.#r?.set(r,o),o}}async getMetadata(r){let t=await this.getText(r),n=JSON.parse(t);return G(Jt,n),n}async getEntries(r){let t=await this.getText(r),[n,...i]=t.slice(0,-1).split(`
|
|
3
|
+
`);if(n!==De)throw new Error(`got unexpected schema version: ${n}`);return i.map(ze)}async#l(r,t){let n=await this.#i(r,null);await this.#n(n,t)}async putEntries(r,t){let n=new TextEncoder;t.sort((u,p)=>u.documentId.localeCompare(p.documentId));let i=ke(t.map(u=>Ae(u.hash))),o=await this.#a.digest("SHA-256",i),s=ue(o),a=t.map(Ge).join(""),f=`${De}
|
|
4
|
+
${a}`,l=n.encode(f);return await this.#l(s,l),await this.#r?.set(s,f),{hash:s,type:"80000000",documentId:r,subfiles:t.length,size:0n}}async putBuffer(r,t){let n=await this.#a.digest("SHA-256",t),i=ue(n);return await this.#l(i,t),{hash:i,type:"0",documentId:r,subfiles:0,size:BigInt(t.length)}}async putText(r,t){let n=new TextEncoder,i=await this.putBuffer(r,n.encode(t));return await this.#r?.set(i.hash,t),i}async putMetadata(r,t){return await this.putText(`${r}.metadata`,JSON.stringify(t))}async putCollection(r,t=""){let n=q(),i=`${new Date().valueOf()}`,o=[],s={type:"CollectionType",visibleName:r,version:0,parent:t,synced:!0,lastModified:i};o.push(this.putMetadata(n,s)),o.push(this.putText(`${n}.content`,"{}"));let a=await Promise.all(o);return await this.putEntries(n,a)}async#u(r,t,n,i,o){if(o.fileType!==n)throw new Error(`internal error: fileTypes don't match: ${n}, ${o.fileType}`);let s=q(),a=`${new Date().valueOf()}`,f=[];f.push(this.putBuffer(`${s}.${n}`,t));let l={type:"DocumentType",visibleName:r,version:0,parent:i,synced:!0,lastModified:a};f.push(this.putMetadata(s,l)),f.push(this.putText(`${s}.content`,JSON.stringify(o)));let u=await Promise.all(f);return await this.putEntries(s,u)}async putEpub(r,t,{parent:n="",margins:i=125,orientation:o,textAlignment:s,textScale:a=1,lineHeight:f=-1,fontName:l="",cover:u="visited",lastTool:p}={}){let P={dummyDocument:!1,extraMetadata:{LastTool:p},fileType:"epub",pageCount:0,lastOpenedPage:0,lineHeight:typeof f=="string"?qe[f]:f,margins:typeof i=="string"?Ve[i]:i,textScale:typeof a=="string"?Je[a]:a,pages:[],coverPageNumber:u==="first"?0:-1,formatVersion:1,orientation:o,textAlignment:s,fontName:l};return await this.#u(r,t,"epub",n,P)}async putPdf(r,t,{parent:n="",orientation:i,cover:o="first",lastTool:s}={}){let a={dummyDocument:!1,extraMetadata:{LastTool:s},fileType:"pdf",pageCount:0,lastOpenedPage:0,lineHeight:-1,margins:125,textScale:1,pages:[],coverPageNumber:o==="first"?0:-1,formatVersion:1,orientation:i};return await this.#u(r,t,"pdf",n,a)}async syncComplete(r){let t=`{ "generation": ${r} }`;await this.#o(`${this.#t}/sync/v2/sync-complete`,{body:t})}async#d(r,t,n){let{hash:i}=await this.putEntries("",t),o=await this.putRootHash(i,r);if(n)try{return await this.syncComplete(o),!0}catch{return!1}else return!1}async create(r,t={}){let{cache:n=!0,sync:i=!0}=typeof t=="boolean"?{cache:!1,sync:t}:t,[o,s]=await this.getRootHash({cache:n}),a=await this.getEntries(o);return a.push(r),await this.#d(s,a,i)}async move(r,t,n={}){let{cache:i=!0,sync:o=!0}=typeof n=="boolean"?{cache:!1,sync:n}:n,[s,a]=await this.getRootHash({cache:i}),f=await this.getEntries(s);if(!(!t||t==="trash")){let k=f.find(oe=>oe.documentId===t);if(k){if(k.type!=="80000000")throw new Error(`destination id was a raw file: ${t}`)}else throw new Error(`destination id not found: ${t}`);let v=await this.getEntries(k.hash),[z]=v.filter(oe=>oe.documentId===`${t}.metadata`);if(!z)throw new Error(`destination id didn't have metadata: ${t}`);if((await this.getMetadata(z.hash)).type!=="CollectionType")throw new Error(`destination id wasn't a collection: ${t}`)}let l=f.findIndex(k=>k.documentId===r);if(l===-1)throw new Error(`document not found: ${r}`);let[u]=f.splice(l,1);if(u.type!=="80000000")throw new Error(`document was a raw file: ${r}`);let p=await this.getEntries(u.hash),P=p.findIndex(k=>k.documentId===`${r}.metadata`);if(P===-1)throw new Error(`document didn't have metadata: ${r}`);let[c]=p.splice(P,1),T=await this.getMetadata(c.hash);T.parent=t;let B=await this.putMetadata(r,T);p.push(B);let ie=await this.putEntries(r,p);return f.push(ie),await this.#d(a,f,o)}async getEntriesMetadata(){let t=await(await this.#o(`${this.#t}/doc/v2/files`,{method:"GET",headers:{"rm-source":"RoR-Browser"}})).text(),n=JSON.parse(t);return G({elements:Vt},n),n}async#c(r,t,n){let o=new TextEncoder().encode(JSON.stringify({file_name:r})),a=await(await this.#o(`${this.#t}/doc/v2/files`,{body:t,headers:{"content-type":n,"rm-meta":(0,je.fromByteArray)(o),"rm-source":"RoR-Browser"}})).text(),f=JSON.parse(a);return G(jt,f),f}async uploadEpub(r,t){return await this.#c(r,t,"application/epub+zip")}async uploadPdf(r,t){return await this.#c(r,t,"application/pdf")}};async function Gt(e,{fetch:r=globalThis.fetch,cache:t,subtle:n=globalThis.crypto?.subtle,authHost:i=He,syncHost:o=$t}={}){let s=await r(`${i}/token/json/2/user/new`,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!s.ok)throw new Error(`couldn't fetch auth token: ${s.statusText}`);let a=await s.text();return new me(a,r,t,n,o)}return et(zt);})();
|
package/dist/index.d.ts
CHANGED
|
@@ -302,6 +302,35 @@ export interface PutEpubOptions {
|
|
|
302
302
|
/** the tool to have enabled by default */
|
|
303
303
|
lastTool?: string;
|
|
304
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* options for {@link RemarkableApi.getRootHash | `getRootHash`}
|
|
307
|
+
*/
|
|
308
|
+
export interface GetRootHashOptions {
|
|
309
|
+
/**
|
|
310
|
+
* whether to use the last known valid root hash
|
|
311
|
+
*
|
|
312
|
+
* @defaultValue true
|
|
313
|
+
*/
|
|
314
|
+
cache?: boolean;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* options for {@link RemarkableApi.create | `create`} and
|
|
318
|
+
* {@link RemarkableApi.move | `move`}
|
|
319
|
+
*/
|
|
320
|
+
export interface CreateMoveOptions {
|
|
321
|
+
/**
|
|
322
|
+
* whether to use the last known valid root hash
|
|
323
|
+
*
|
|
324
|
+
* @defaultValue true
|
|
325
|
+
*/
|
|
326
|
+
cache?: boolean;
|
|
327
|
+
/**
|
|
328
|
+
* whether broadcast syncing complete to other devices
|
|
329
|
+
*
|
|
330
|
+
* @defaultValue true
|
|
331
|
+
*/
|
|
332
|
+
sync?: boolean;
|
|
333
|
+
}
|
|
305
334
|
/** options for uploading a pdf */
|
|
306
335
|
export interface PutPdfOptions {
|
|
307
336
|
/** the parent id, default to root */
|
|
@@ -322,7 +351,7 @@ export interface RemarkableApi {
|
|
|
322
351
|
*
|
|
323
352
|
* If this hasn't changed, then neither have any of the files.
|
|
324
353
|
*/
|
|
325
|
-
getRootHash(): Promise<[string, bigint]>;
|
|
354
|
+
getRootHash(options?: GetRootHashOptions): Promise<[string, bigint]>;
|
|
326
355
|
/**
|
|
327
356
|
* write the root hash, incrimenting from the current generation
|
|
328
357
|
*
|
|
@@ -479,7 +508,14 @@ export interface RemarkableApi {
|
|
|
479
508
|
* @throws error - if any error occurred, in this case, nothing will be
|
|
480
509
|
* changed
|
|
481
510
|
*/
|
|
482
|
-
create(entry: CollectionEntry,
|
|
511
|
+
create(entry: CollectionEntry, options?: CreateMoveOptions): Promise<boolean>;
|
|
512
|
+
/**
|
|
513
|
+
* deprecated variant without the ability to specify caching behavior
|
|
514
|
+
*
|
|
515
|
+
* @deprecated in favor of the options syntax: replace `create(entry, sync)`
|
|
516
|
+
* with `create(entry, { cache: false, sync: sync })`
|
|
517
|
+
*/
|
|
518
|
+
create(entry: CollectionEntry, sync: boolean): Promise<boolean>;
|
|
483
519
|
/**
|
|
484
520
|
* high level api to move a document / collection
|
|
485
521
|
*
|
|
@@ -512,7 +548,15 @@ export interface RemarkableApi {
|
|
|
512
548
|
* @throws error - if any error occurred, in this case, nothing will be
|
|
513
549
|
* changed
|
|
514
550
|
*/
|
|
515
|
-
move(documentId: string, dest: string,
|
|
551
|
+
move(documentId: string, dest: string, opts?: CreateMoveOptions): Promise<boolean>;
|
|
552
|
+
/**
|
|
553
|
+
* deprecated variant without the ability to specify caching behavior
|
|
554
|
+
*
|
|
555
|
+
* @deprecated in favor of the options syntax: replace
|
|
556
|
+
* `move(docid, dest, sync)` with
|
|
557
|
+
* `move(docid, dest, { cache: false, sync: sync })`
|
|
558
|
+
*/
|
|
559
|
+
move(documentId: string, dest: string, sync: boolean): Promise<boolean>;
|
|
516
560
|
/**
|
|
517
561
|
* get metadata on all entries
|
|
518
562
|
*
|
package/dist/index.js
CHANGED
|
@@ -295,9 +295,11 @@ export function parseEntry(line) {
|
|
|
295
295
|
class Remarkable {
|
|
296
296
|
#userToken;
|
|
297
297
|
#fetch;
|
|
298
|
-
#cache;
|
|
299
298
|
#subtle;
|
|
300
299
|
#syncHost;
|
|
300
|
+
// caches
|
|
301
|
+
#cache;
|
|
302
|
+
#rootCache = null;
|
|
301
303
|
constructor(userToken, fetch, cache, subtle, syncHost) {
|
|
302
304
|
this.#userToken = userToken;
|
|
303
305
|
this.#fetch = fetch;
|
|
@@ -360,14 +362,38 @@ class Remarkable {
|
|
|
360
362
|
/**
|
|
361
363
|
* get the root hash and the current generation
|
|
362
364
|
*/
|
|
363
|
-
async getRootHash() {
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
365
|
+
async getRootHash({ cache = true } = {}) {
|
|
366
|
+
if (cache) {
|
|
367
|
+
while (this.#rootCache) {
|
|
368
|
+
try {
|
|
369
|
+
const [hash, gen] = await this.#rootCache;
|
|
370
|
+
return [hash, gen];
|
|
371
|
+
}
|
|
372
|
+
catch {
|
|
373
|
+
// noop
|
|
374
|
+
}
|
|
375
|
+
}
|
|
369
376
|
}
|
|
370
|
-
|
|
377
|
+
const prom = (async () => {
|
|
378
|
+
try {
|
|
379
|
+
const signed = await this.#getUrl("root");
|
|
380
|
+
const resp = await this.#signedFetch(signed);
|
|
381
|
+
const generation = resp.headers.get(GENERATION_HEADER);
|
|
382
|
+
if (!generation) {
|
|
383
|
+
throw new Error("no generation header in root hash");
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
return [await resp.text(), BigInt(generation)];
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
catch (ex) {
|
|
390
|
+
this.#rootCache = null;
|
|
391
|
+
throw ex;
|
|
392
|
+
}
|
|
393
|
+
})();
|
|
394
|
+
this.#rootCache = prom;
|
|
395
|
+
const [hash, gen] = await prom;
|
|
396
|
+
return [hash, gen];
|
|
371
397
|
}
|
|
372
398
|
/**
|
|
373
399
|
* write the root hash, incrementing from the current generation
|
|
@@ -382,17 +408,20 @@ class Remarkable {
|
|
|
382
408
|
}
|
|
383
409
|
catch (ex) {
|
|
384
410
|
if (ex instanceof ResponseError && ex.status === 412) {
|
|
411
|
+
this.#rootCache = null;
|
|
385
412
|
throw new GenerationError();
|
|
386
413
|
}
|
|
387
414
|
else {
|
|
388
415
|
throw ex;
|
|
389
416
|
}
|
|
390
417
|
}
|
|
391
|
-
const
|
|
392
|
-
if (!
|
|
418
|
+
const genStr = resp.headers.get(GENERATION_HEADER);
|
|
419
|
+
if (!genStr) {
|
|
393
420
|
throw new Error("no generation header in root hash");
|
|
394
421
|
}
|
|
395
|
-
|
|
422
|
+
const gen = BigInt(genStr);
|
|
423
|
+
this.#rootCache = Promise.resolve([hash, gen]);
|
|
424
|
+
return gen;
|
|
396
425
|
}
|
|
397
426
|
/**
|
|
398
427
|
* get text content associated with hash
|
|
@@ -593,32 +622,34 @@ class Remarkable {
|
|
|
593
622
|
});
|
|
594
623
|
}
|
|
595
624
|
/** try to sync, always succeed */
|
|
596
|
-
async #
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
625
|
+
async #tryPutRootEntries(gen, entries, sync) {
|
|
626
|
+
const { hash } = await this.putEntries("", entries);
|
|
627
|
+
const nextGen = await this.putRootHash(hash, gen);
|
|
628
|
+
if (sync) {
|
|
629
|
+
try {
|
|
630
|
+
await this.syncComplete(nextGen);
|
|
631
|
+
return true;
|
|
632
|
+
}
|
|
633
|
+
catch {
|
|
634
|
+
return false;
|
|
635
|
+
}
|
|
600
636
|
}
|
|
601
|
-
|
|
637
|
+
else {
|
|
602
638
|
return false;
|
|
603
639
|
}
|
|
604
640
|
}
|
|
605
641
|
/** high level api to create an entry */
|
|
606
|
-
async create(entry,
|
|
607
|
-
const
|
|
642
|
+
async create(entry, opts = {}) {
|
|
643
|
+
const { cache = true, sync = true } = typeof opts === "boolean" ? { cache: false, sync: opts } : opts;
|
|
644
|
+
const [root, gen] = await this.getRootHash({ cache });
|
|
608
645
|
const rootEntries = await this.getEntries(root);
|
|
609
646
|
rootEntries.push(entry);
|
|
610
|
-
|
|
611
|
-
const nextGen = await this.putRootHash(hash, gen);
|
|
612
|
-
if (sync) {
|
|
613
|
-
return await this.#trySync(nextGen);
|
|
614
|
-
}
|
|
615
|
-
else {
|
|
616
|
-
return false;
|
|
617
|
-
}
|
|
647
|
+
return await this.#tryPutRootEntries(gen, rootEntries, sync);
|
|
618
648
|
}
|
|
619
649
|
/** high level api to move a document / collection */
|
|
620
|
-
async move(documentId, dest,
|
|
621
|
-
const
|
|
650
|
+
async move(documentId, dest, opts = {}) {
|
|
651
|
+
const { cache = true, sync = true } = typeof opts === "boolean" ? { cache: false, sync: opts } : opts;
|
|
652
|
+
const [root, gen] = await this.getRootHash({ cache });
|
|
622
653
|
const rootEntries = await this.getEntries(root);
|
|
623
654
|
// check if destination is a collection
|
|
624
655
|
if (!dest || dest === "trash") {
|
|
@@ -667,16 +698,7 @@ class Remarkable {
|
|
|
667
698
|
// update root entries
|
|
668
699
|
const newEntry = await this.putEntries(documentId, docEnts);
|
|
669
700
|
rootEntries.push(newEntry);
|
|
670
|
-
|
|
671
|
-
const { hash } = await this.putEntries("", rootEntries);
|
|
672
|
-
const nextGen = await this.putRootHash(hash, gen);
|
|
673
|
-
// sync
|
|
674
|
-
if (sync) {
|
|
675
|
-
return await this.#trySync(nextGen);
|
|
676
|
-
}
|
|
677
|
-
else {
|
|
678
|
-
return false;
|
|
679
|
-
}
|
|
701
|
+
return await this.#tryPutRootEntries(gen, rootEntries, sync);
|
|
680
702
|
}
|
|
681
703
|
/** get entries and metadata for all files */
|
|
682
704
|
async getEntriesMetadata() {
|
package/package.json
CHANGED