@liascript/editor 1.1.0--0.11.0 → 1.1.0--0.12.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/README.md +1 -1
- package/dist/Beaker.fa05b2ca.js +1 -0
- package/dist/Gun.966396f4.js +1 -0
- package/dist/Jitsi.1af059a5.js +1 -0
- package/dist/index.9f4d4a3e.js +1 -0
- package/dist/index.dc326884.js +1 -0
- package/dist/index.ff76e286.css +1 -0
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/Beaker.cd31b236.js +0 -1
- package/dist/Gun.88b545e0.js +0 -1
- package/dist/Jitsi.59c46102.js +0 -1
- package/dist/index.744c9dbb.js +0 -1
- package/dist/index.78d06983.js +0 -1
- package/dist/index.e1c98e20.css +0 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ install via npm:
|
|
|
23
23
|
`npm i @liascript/editor`
|
|
24
24
|
|
|
25
25
|
> **Note:** The version information might look a bit different e.g.
|
|
26
|
-
> `1.1.0--0.
|
|
26
|
+
> `1.1.0--0.12.0`. The second version mirrors current version of LiaScript,
|
|
27
27
|
> while the first number is referring to the changes of the editor-branch.
|
|
28
28
|
|
|
29
29
|
## HowTo
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,e,r,n){Object.defineProperty(t,e,{get:r,set:n,enumerable:!0,configurable:!0})}var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r=e.parcelRequirea18f;r.register("bQEo7",(function(e,n){t(e.exports,"uint8_to_base64",(()=>c)),t(e.exports,"base64_to_unit8",(()=>l)),t(e.exports,"Sync",(()=>h));var s=r("8kr9p"),i=r("bDw11"),o=r("gjWRH");function c(t){return(0,o.encode)(t)}function l(t){return(0,o.decode)(t)}function a(t=16){let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let n=0;n<t;n++)r+=e.charAt(Math.floor(Math.random()*e.length));return r}class h{isConnected=!1;constructor(t,e,r=!0){let n;try{n=window.localStorage.getItem("lia-token"),n||(n=a(),window.localStorage.setItem("lia-token",n))}catch(t){console.warn("cannot write to localStorage"),n=a()}this.token=n,this.urlCounter=0,this.cbConnection=t,this.cbRelay=e;const o=this,c=function(t){let e=null;function r(){return 2e3*(t.db.getPeers().length+1)}function n(){if(t.isConnected)try{t.broadcast(t.db.encode()),e=window.setTimeout(n,r())}catch(t){e=null}}return()=>{e&&window.clearTimeout(e),e=window.setTimeout(n,r())}}(o);this.gossip=c;const l=s.throttle((()=>{o.broadcast(o.db.encode()),c()}),1e3);this.db=new(0,i.CRDT)(n,r?(t,e)=>{if(o.db){switch(e){case"cursor":this.sync("update",{cmd:"cursor",param:t});break;case"peer":this.sync("update",{cmd:"peer",param:t});break;case"code":this.sync("update",{cmd:"code",param:t});break;case"quiz":this.sync("update",{cmd:"quiz",param:t});break;case"survey":this.sync("update",{cmd:"survey",param:t});break;case"chat":this.sync("update",{cmd:"chat",param:t});break;case"exit":try{e=null,this.broadcast(t),this.destroy()}catch(t){}break;default:console.warn("Sync unknown origin",e)}e&&l()}}:void 0)}connect(t){this.room=t.room,this.course=t.course,this.password=t.password,this.isConnected=!0}destroy(){this.db.destroy(),this.cbConnection("disconnect",this.token),this.isConnected=!1}disconnect(){this.db.removePeer()}uniqueID(){return"string"==typeof this.room&&(this.room.startsWith('"')&&this.room.endsWith('"')||this.room.startsWith("'")&&this.room.endsWith("'"))?this.room:this.course&&this.room?JSON.stringify({course:this.course,room:this.room,pw:s.getHashCode(this.password||"")}):(console.warn("Sync: no uniqueID"),null)}sendToLia(t){this.cbRelay(t)}sync(t,e=null){this.cbConnection(t,e)}sendDisconnectError(t){this.sync("error",t)}sendConnect(){this.sync("connect",this.token)}broadcast(t){console.warn("broadcast needs to be implemented")}load(t,e){try{for(let r=0;r<t.length;r++){const n=document.createElement("script");n.async=!1,n.defer=!0,n.src=t[r],this.urlCounter++;let s=this;n.onload=function(){console.log("successfully loaded =>",t),s.urlCounter--,0==s.urlCounter&&e.init(!0)},n.onerror=function(r){console.warn("could not load =>",t,r),s.urlCounter=0,e.init(!1,`could not load => ${t}`)},document.head.appendChild(n)}}catch(t){console.error("load: ",t),e.init(!1,t.message)}}publish(t){switch(t.message.cmd){case"update":break;case"join":this.db.init(t.message.param),this.gossip();break;case"chat":this.db.addChatMessage(t.message.param);break;case"quiz":"quiz"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addQuiz(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"survey":"survey"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.addSurvey(t.track[0][1],t.track[1][1],t.message.param):console.warn("SyncTX wrong event ->",t);break;case"code":"code"===t.track?.[0][0]&&"id"===t.track?.[1][0]?this.db.updateCode(t.track[0][1],t.track[1][1],t.message.param.j,t.message.param.msg):console.warn("SyncTX wrong event ->",t);break;case"codes":if("code"===t.track?.[0][0]&&1===t.track.length)for(let e=0;e<t.message.param.length;e++)for(let r=0;r<t.message.param[e].length;r++)this.db.initCode(t.track[0][1],e,r,t.message.param[e][r]);else console.warn("SyncTX wrong event ->",t);break;case"cursor":"code"==t.track?.[0][0]&&this.db.setCursor(t.track[0][1],t.message.param);break;default:console.warn("SyncTX unknown command:",t.message)}}applyUpdate(t){this.db.applyUpdate(t)}}})),r.register("bDw11",(function(e,n){t(e.exports,"CRDT",(()=>c));var s=r("bx9uf"),i=r("8kr9p"),o=r("7X7lt");class c{constructor(t,e){this.doc=new s.Doc,this.callback=e||((t,e)=>{console.warn("SyncDB: no callback provided")}),this.length=0,this.peerID=t,this.peers=this.doc.getMap("peers"),this.cursors=this.doc.getMap("cursors"),this.codes=this.doc.getMap("c"),this.quizzes=new(0,o.YKeyValue)(this.doc.getArray("q")),this.surveys=new(0,o.YKeyValue)(this.doc.getArray("s")),this.chat=new(0,o.YKeyValue)(this.doc.getArray("chat")),e&&(this.peers.observe((t=>{const r=this.getPeers();e(r,"peer")})),this.cursors.observe((t=>{const r=this.getPeers();e(this.getCursors(r),"cursor")})),this.quizzes.on("change",(t=>{const r=this.getUpdates(this.quizzes,t);r&&e(r,"quiz")})),this.surveys.on("change",(t=>{const r=this.getUpdates(this.surveys,t);r&&e(r,"survey")})),this.chat.on("change",(t=>{const r=[];let n;for(let[e,s]of t)"add"===s.action&&(n=s.newValue,n.id=parseInt(e),r.push(n));r.length>0&&e(r,"chat")})),this.codes.observeDeep((t=>{const r=new Set;for(const e of t){const n=e.currentTarget.keys();for(const e of n)try{const[t]=JSON.parse(e);r.add(t)}catch(t){}}r.size>0&&e(this.getCode(r),"code")}))),this.peers.set(t,!0)}init(t){this.length=Math.max(this.length,t.length);const e=this;this.doc.transact((()=>{for(let r=0;r<t.length;r++)e.initMap(this.quizzes,r,t[r].q),e.initMap(this.surveys,r,t[r].s),e.initText(r,t[r].c)}),this.peerID)}encode(){return s.encodeStateAsUpdate(this.doc)}destroy(){this.doc.destroy()}applyUpdate(t){this.doc.transact((()=>{!1===this.peers.get(this.peerID)&&this.peers.set(this.peerID,!0),s.applyUpdate(this.doc,t)}))}log(){console.warn("*********** PEERS ***********"),console.warn(this.peers.toJSON()),console.warn("*********** STATE ***********"),console.warn(this.doc.toJSON())}initMap(t,e,r){if(0===r.length)return;let n;for(let s=0;s<r.length;s++){n=t.get(this.id(e,s)),n||(n={});for(const t in r[s])n[t]=r[s][t];t.set(this.id(e,s),n)}}initText(t,e){if(0!==e.length)for(let r=0;r<e.length;r++)for(let n=0;n<e[r].length;n++)this.initCode(t,r,n,e[r][n])}diff(t){return s.encodeStateAsUpdate(this.doc,t)}getCode(t){let e=[];for(const r of t)e.push({id:r,data:this.getAllTexts(r)});return e}getCursors(t){const e=[],r=this.cursors.toJSON();for(let n of t)n!==this.peerID&&void 0!==r[n]&&e.push(r[n]);return e}getPeers(){const t=this.peers.toJSON();return t?Object.entries(t).filter((([t,e])=>e)).map((([t,e])=>t)):[]}removePeer(t){this.doc.transact((()=>{this.peers.set(t||this.peerID,!1)})),void 0===t&&this.callback(this.encode(),"exit")}id(t,e,r){return void 0===r?JSON.stringify([t,e]):JSON.stringify([t,e,r])}getMap(t,e,r){return this.doc.getMap(this.id(e,r))}getAllMaps(t){const e=[];for(let r=0;r<this.length;r++){let n=[];for(let e=0;t.has(this.id(r,e));e++)n.push(t.get(this.id(r,e)));e.push(n)}return e}getMaps(t,e){const r=[];for(let n=0;e.has(this.id(t,n));n++)r.push(e.get(this.id(t,n)));return r}getAllTexts(t){let e,r=[];for(let n=0;this.codes.has(this.id(t,n,0));n++){let s=[];for(let r=0;this.codes.has(this.id(t,n,r));r++)e=this.codes.get(this.id(t,n,r)),s.push(e?.toString()||"");r.push(s)}return r}addQuiz(t,e,r){this.addRecord(this.quizzes,t,e,r)}addSurvey(t,e,r){this.addRecord(this.surveys,t,e,r)}addRecord(t,e,r,n){let s=t.get(this.id(e,r));s||(s={}),s[this.peerID]=n,t.set(this.id(e,r),s)}initCode(t,e,r,n){if(!this.codes.has(this.id(t,e,r))){const i=this.doc.clientID;this.doc.clientID=0;const o=new s.Text;o.insert(0,n),this.codes.set(this.id(t,e,r),o),this.doc.clientID=i}}addChatMessage(t){this.chat.set(""+Date.now(),{color:this.getColor(),message:t,user:this.peerID})}updateCode(t,e,r,n){this.codes.has(this.id(t,e,r))&&this.doc.transact((()=>{const s=this.codes.get(this.id(t,e,r));if(void 0!==s)for(let t of n)switch(t.action){case"insert":s.insert(t.index,t.content);break;case"remove":s.delete(t.index,t.content.length);break;default:console.warn("Sync code, unknown action ->",t)}}),"code")}getColor(){return this.color||(this.color=i.getColorFor(this.peerID)),this.color}setCursor(t,e){this.doc.transact((()=>{this.cursors.set(this.peerID,{id:this.peerID,section:t,project:e.project,file:e.file,state:e.state,color:this.getColor()})}),"cursor")}removeCursor(){this.cursors.delete(this.peerID)}getUpdates(t,e){const r=new Set,n=[];for(const[s,i]of e)switch(i.action){case"update":if(JSON.stringify(Object.keys(i.oldValue).sort())!==JSON.stringify(Object.keys(i.newValue).sort())){n.push([s,{...i.oldValue,...i.newValue}]);continue}case"add":try{const[t]=JSON.parse(s);r.add(t)}catch(t){}}const s=[];for(const e of r)s.push({id:e,data:this.getMaps(e,t)});for(const[e,r]of n)t.set(e,r);return s.length>0?s:null}}})),r.register("bx9uf",(function(n,s){t(n.exports,"Doc",(()=>M)),t(n.exports,"Text",(()=>_e)),t(n.exports,"applyUpdate",(()=>q)),t(n.exports,"encodeStateAsUpdate",(()=>G));var i=r("8Gyr5"),o=r("9GMWx"),c=r("bGsfJ"),l=r("96q9T"),a=r("7BTJz"),h=r("l5188"),d=r("ouOhr"),u=r("fJEwH"),g=r("jx2H5"),f=r("3Y8uz"),p=r("bcXZT"),w=r("4H1bc"),m=(w=r("4H1bc"),r("5zT0w")),y=r("9hwjE"),b=(r("16gRh"),r("iRxFz")),k=r("7C9F2");class _ extends i.Observable{constructor(t,e){super(),this.doc=t,this.awareness=e}}class S{constructor(t,e){this.clock=t,this.len=e}}class x{constructor(){this.clients=new Map}}const C=(t,e,r)=>e.clients.forEach(((e,n)=>{const s=t.doc.store.clients.get(n);for(let n=0;n<e.length;n++){const i=e[n];pt(t,s,i.clock,i.len,r)}})),E=(t,e)=>{const r=t.clients.get(e.client);return void 0!==r&&null!==((t,e)=>{let r=0,n=t.length-1;for(;r<=n;){const s=c.floor((r+n)/2),i=t[s],o=i.clock;if(o<=e){if(e<o+i.len)return s;r=s+1}else n=s-1}return null})(r,e.clock)},D=t=>{t.clients.forEach((t=>{let e,r;for(t.sort(((t,e)=>t.clock-e.clock)),e=1,r=1;e<t.length;e++){const n=t[r-1],s=t[e];n.clock+n.len>=s.clock?n.len=c.max(n.len,s.clock+s.len-n.clock):(r<e&&(t[r]=s),r++)}t.length=r}))},A=t=>{const e=new x;for(let r=0;r<t.length;r++)t[r].clients.forEach(((n,s)=>{if(!e.clients.has(s)){const i=n.slice();for(let e=r+1;e<t.length;e++)o.appendTo(i,t[e].clients.get(s)||[]);e.clients.set(s,i)}}));return D(e),e},T=(t,e,r,n)=>{l.setIfUndefined(t.clients,e,(()=>[])).push(new S(r,n))},U=()=>new x,v=(t,e)=>{a.writeVarUint(t.restEncoder,e.clients.size),e.clients.forEach(((e,r)=>{t.resetDsCurVal(),a.writeVarUint(t.restEncoder,r);const n=e.length;a.writeVarUint(t.restEncoder,n);for(let r=0;r<n;r++){const n=e[r];t.writeDsClock(n.clock),t.writeDsLen(n.len)}}))},I=t=>{const e=new x,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){t.resetDsCurVal();const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);if(n>0){const s=l.setIfUndefined(e.clients,r,(()=>[]));for(let e=0;e<n;e++)s.push(new S(t.readDsClock(),t.readDsLen()))}}return e},O=(t,e,r)=>{const n=new x,s=h.readVarUint(t.restDecoder);for(let i=0;i<s;i++){t.resetDsCurVal();const s=h.readVarUint(t.restDecoder),i=h.readVarUint(t.restDecoder),o=r.clients.get(s)||[],c=lt(r,s);for(let r=0;r<i;r++){const r=t.readDsClock(),i=r+t.readDsLen();if(r<c){c<i&&T(n,s,c,i-c);let t=ht(o,r),l=o[t];for(!l.deleted&&l.id.clock<r&&(o.splice(t+1,0,He(e,l,r-l.id.clock)),t++);t<o.length&&(l=o[t++],l.id.clock<i);)l.deleted||(i<l.id.clock+l.length&&o.splice(t,0,He(e,l,i-l.id.clock)),l.delete(e))}else T(n,s,r,i-r)}}if(n.clients.size>0){const t=new F;return a.writeVarUint(t.restEncoder,0),v(t,n),t.toUint8Array()}return null},V=d.uint32;class M extends i.Observable{constructor({guid:t=d.uuidv4(),collectionid:e=null,gc:r=!0,gcFilter:n=(()=>!0),meta:s=null,autoLoad:i=!1,shouldLoad:o=!0}={}){super(),this.gc=r,this.gcFilter=n,this.clientID=V(),this.guid=t,this.collectionid=e,this.share=new Map,this.store=new ot,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=i,this.meta=s,this.isLoaded=!1,this.whenLoaded=u.create((t=>{this.on("load",(()=>{this.isLoaded=!0,t(this)}))}))}load(){const t=this._item;null===t||this.shouldLoad||_t(t.parent.doc,(t=>{t.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(Array.from(this.subdocs).map((t=>t.guid)))}transact(t,e=null){_t(this,t,e)}get(t,e=jt){const r=l.setIfUndefined(this.share,t,(()=>{const t=new e;return t._integrate(this,null),t})),n=r.constructor;if(e!==jt&&n!==e){if(n===jt){const n=new e;n._map=r._map,r._map.forEach((t=>{for(;null!==t;t=t.left)t.parent=n})),n._start=r._start;for(let t=n._start;null!==t;t=t.right)t.parent=n;return n._length=r._length,this.share.set(t,n),n._integrate(this,null),n}throw new Error(`Type with the name ${t} has already been defined with a different constructor`)}return r}getArray(t=""){return this.get(t,ie)}getText(t=""){return this.get(t,_e)}getMap(t=""){return this.get(t,ce)}getXmlFragment(t=""){return this.get(t,xe)}toJSON(){const t={};return this.share.forEach(((e,r)=>{t[r]=e.toJSON()})),t}destroy(){o.from(this.subdocs).forEach((t=>t.destroy()));const t=this._item;if(null!==t){this._item=null;const e=t.content;e.doc=new M({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=t,_t(t.parent.doc,(r=>{const n=e.doc;t.deleted||r.subdocsAdded.add(n),r.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}on(t,e){super.on(t,e)}off(t,e){super.off(t,e)}}class N{constructor(t){this.restDecoder=t}resetDsCurVal(){}readDsClock(){return h.readVarUint(this.restDecoder)}readDsLen(){return h.readVarUint(this.restDecoder)}}class R extends N{readLeftID(){return rt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readRightID(){return rt(h.readVarUint(this.restDecoder),h.readVarUint(this.restDecoder))}readClient(){return h.readVarUint(this.restDecoder)}readInfo(){return h.readUint8(this.restDecoder)}readString(){return h.readVarString(this.restDecoder)}readParentInfo(){return 1===h.readVarUint(this.restDecoder)}readTypeRef(){return h.readVarUint(this.restDecoder)}readLen(){return h.readVarUint(this.restDecoder)}readAny(){return h.readAny(this.restDecoder)}readBuf(){return g.copyUint8Array(h.readVarUint8Array(this.restDecoder))}readJSON(){return JSON.parse(h.readVarString(this.restDecoder))}readKey(){return h.readVarString(this.restDecoder)}}class B{constructor(t){this.dsCurrVal=0,this.restDecoder=t}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=h.readVarUint(this.restDecoder),this.dsCurrVal}readDsLen(){const t=h.readVarUint(this.restDecoder)+1;return this.dsCurrVal+=t,t}}class L extends B{constructor(t){super(t),this.keys=[],h.readVarUint(t),this.keyClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.clientDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.leftClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.rightClockDecoder=new h.IntDiffOptRleDecoder(h.readVarUint8Array(t)),this.infoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.stringDecoder=new h.StringDecoder(h.readVarUint8Array(t)),this.parentInfoDecoder=new h.RleDecoder(h.readVarUint8Array(t),h.readUint8),this.typeRefDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t)),this.lenDecoder=new h.UintOptRleDecoder(h.readVarUint8Array(t))}readLeftID(){return new tt(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new tt(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return h.readAny(this.restDecoder)}readBuf(){return h.readVarUint8Array(this.restDecoder)}readJSON(){return h.readAny(this.restDecoder)}readKey(){const t=this.keyClockDecoder.read();if(t<this.keys.length)return this.keys[t];{const t=this.stringDecoder.read();return this.keys.push(t),t}}}class J{constructor(){this.restEncoder=a.createEncoder()}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){}writeDsClock(t){a.writeVarUint(this.restEncoder,t)}writeDsLen(t){a.writeVarUint(this.restEncoder,t)}}class z extends J{writeLeftID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeRightID(t){a.writeVarUint(this.restEncoder,t.client),a.writeVarUint(this.restEncoder,t.clock)}writeClient(t){a.writeVarUint(this.restEncoder,t)}writeInfo(t){a.writeUint8(this.restEncoder,t)}writeString(t){a.writeVarString(this.restEncoder,t)}writeParentInfo(t){a.writeVarUint(this.restEncoder,t?1:0)}writeTypeRef(t){a.writeVarUint(this.restEncoder,t)}writeLen(t){a.writeVarUint(this.restEncoder,t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeVarString(this.restEncoder,JSON.stringify(t))}writeKey(t){a.writeVarString(this.restEncoder,t)}}class j{constructor(){this.restEncoder=a.createEncoder(),this.dsCurrVal=0}toUint8Array(){return a.toUint8Array(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(t){const e=t-this.dsCurrVal;this.dsCurrVal=t,a.writeVarUint(this.restEncoder,e)}writeDsLen(t){0===t&&f.unexpectedCase(),a.writeVarUint(this.restEncoder,t-1),this.dsCurrVal+=t}}class F extends j{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new a.IntDiffOptRleEncoder,this.clientEncoder=new a.UintOptRleEncoder,this.leftClockEncoder=new a.IntDiffOptRleEncoder,this.rightClockEncoder=new a.IntDiffOptRleEncoder,this.infoEncoder=new a.RleEncoder(a.writeUint8),this.stringEncoder=new a.StringEncoder,this.parentInfoEncoder=new a.RleEncoder(a.writeUint8),this.typeRefEncoder=new a.UintOptRleEncoder,this.lenEncoder=new a.UintOptRleEncoder}toUint8Array(){const t=a.createEncoder();return a.writeVarUint(t,0),a.writeVarUint8Array(t,this.keyClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.clientEncoder.toUint8Array()),a.writeVarUint8Array(t,this.leftClockEncoder.toUint8Array()),a.writeVarUint8Array(t,this.rightClockEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.infoEncoder)),a.writeVarUint8Array(t,this.stringEncoder.toUint8Array()),a.writeVarUint8Array(t,a.toUint8Array(this.parentInfoEncoder)),a.writeVarUint8Array(t,this.typeRefEncoder.toUint8Array()),a.writeVarUint8Array(t,this.lenEncoder.toUint8Array()),a.writeUint8Array(t,a.toUint8Array(this.restEncoder)),a.toUint8Array(t)}writeLeftID(t){this.clientEncoder.write(t.client),this.leftClockEncoder.write(t.clock)}writeRightID(t){this.clientEncoder.write(t.client),this.rightClockEncoder.write(t.clock)}writeClient(t){this.clientEncoder.write(t)}writeInfo(t){this.infoEncoder.write(t)}writeString(t){this.stringEncoder.write(t)}writeParentInfo(t){this.parentInfoEncoder.write(t?1:0)}writeTypeRef(t){this.typeRefEncoder.write(t)}writeLen(t){this.lenEncoder.write(t)}writeAny(t){a.writeAny(this.restEncoder,t)}writeBuf(t){a.writeVarUint8Array(this.restEncoder,t)}writeJSON(t){a.writeAny(this.restEncoder,t)}writeKey(t){const e=this.keyMap.get(t);void 0===e?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(t)):this.keyClockEncoder.write(e)}}const $=(t,e,r)=>{const n=new Map;r.forEach(((t,r)=>{lt(e,r)>t&&n.set(r,t)})),ct(e).forEach(((t,e)=>{r.has(e)||n.set(e,0)})),a.writeVarUint(t.restEncoder,n.size),Array.from(n.entries()).sort(((t,e)=>e[0]-t[0])).forEach((([r,n])=>{((t,e,r,n)=>{n=c.max(n,e[0].id.clock);const s=ht(e,n);a.writeVarUint(t.restEncoder,e.length-s),t.writeClient(r),a.writeVarUint(t.restEncoder,n);const i=e[s];i.write(t,n-i.id.clock);for(let r=s+1;r<e.length;r++)e[r].write(t,0)})(t,e.clients.get(r),r,n)}))},P=(t,e,r,n=L)=>{const s=h.createDecoder(e);((t,e,r,n=new L(t))=>{_t(e,(t=>{t.local=!1;let e=!1;const r=t.doc,s=r.store,i=((t,e)=>{const r=l.create(),n=h.readVarUint(t.restDecoder);for(let s=0;s<n;s++){const n=h.readVarUint(t.restDecoder),s=new Array(n),i=t.readClient();let o=h.readVarUint(t.restDecoder);r.set(i,{i:0,refs:s});for(let r=0;r<n;r++){const n=t.readInfo();switch(p.BITS5&n){case 0:{const e=t.readLen();s[r]=new Ue(rt(i,o),e),o+=e;break}case 10:{const e=h.readVarUint(t.restDecoder);s[r]=new Qe(rt(i,o),e),o+=e;break}default:{const c=0==(n&(p.BIT7|p.BIT8)),l=new Xe(rt(i,o),null,(n&p.BIT8)===p.BIT8?t.readLeftID():null,null,(n&p.BIT7)===p.BIT7?t.readRightID():null,c?t.readParentInfo()?e.get(t.readString()):t.readLeftID():null,c&&(n&p.BIT6)===p.BIT6?t.readString():null,Ke(t,n));s[r]=l,o+=l.length}}}}return r})(n,r),o=((t,e,r)=>{const n=[];let s=Array.from(r.keys()).sort(((t,e)=>t-e));if(0===s.length)return null;const i=()=>{if(0===s.length)return null;let t=r.get(s[s.length-1]);for(;t.refs.length===t.i;){if(s.pop(),!(s.length>0))return null;t=r.get(s[s.length-1])}return t};let o=i();if(null===o&&0===n.length)return null;const c=new ot,h=new Map,d=(t,e)=>{const r=h.get(t);(null==r||r>e)&&h.set(t,e)};let u=o.refs[o.i++];const g=new Map,f=()=>{for(const t of n){const e=t.id.client,n=r.get(e);n?(n.i--,c.clients.set(e,n.refs.slice(n.i)),r.delete(e),n.i=0,n.refs=[]):c.clients.set(e,[t]),s=s.filter((t=>t!==e))}n.length=0};for(;;){if(u.constructor!==Qe){const s=l.setIfUndefined(g,u.id.client,(()=>lt(e,u.id.client)))-u.id.clock;if(s<0)n.push(u),d(u.id.client,u.id.clock-1),f();else{const i=u.getMissing(t,e);if(null!==i){n.push(u);const t=r.get(i)||{refs:[],i:0};if(t.refs.length!==t.i){u=t.refs[t.i++];continue}d(i,lt(e,i)),f()}else(0===s||s<u.length)&&(u.integrate(t,s),g.set(u.id.client,u.id.clock+u.length))}}if(n.length>0)u=n.pop();else if(null!==o&&o.i<o.refs.length)u=o.refs[o.i++];else{if(o=i(),null===o)break;u=o.refs[o.i++]}}if(c.clients.size>0){const t=new F;return $(t,c,new Map),a.writeVarUint(t.restEncoder,0),{missing:h,update:t.toUint8Array()}}return null})(t,s,i),c=s.pendingStructs;if(c){for(const[t,r]of c.missing)if(r<lt(s,t)){e=!0;break}if(o){for(const[t,e]of o.missing){const r=c.missing.get(t);(null==r||r>e)&&c.missing.set(t,e)}c.update=At([c.update,o.update])}}else s.pendingStructs=o;const d=O(n,t,s);if(s.pendingDs){const e=new L(h.createDecoder(s.pendingDs));h.readVarUint(e.restDecoder);const r=O(e,t,s);s.pendingDs=d&&r?At([d,r]):d||r}else s.pendingDs=d;if(e){const e=s.pendingStructs.update;s.pendingStructs=null,P(t.doc,e)}}),r,!1)})(s,t,r,new n(s))},q=(t,e,r)=>P(t,e,r,R),W=(t,e=new Uint8Array([0]),r=new F)=>{((t,e,r=new Map)=>{$(t,e.store,r),v(t,(t=>{const e=U();return t.clients.forEach(((t,r)=>{const n=[];for(let e=0;e<t.length;e++){const r=t[e];if(r.deleted){const s=r.id.clock;let i=r.length;if(e+1<t.length)for(let r=t[e+1];e+1<t.length&&r.deleted;r=t[1+ ++e])i+=r.length;n.push(new S(s,i))}}n.length>0&&e.clients.set(r,n)})),e})(e.store))})(r,t,H(e));const n=[r.toUint8Array()];if(t.store.pendingDs&&n.push(t.store.pendingDs),t.store.pendingStructs&&n.push(Tt(t.store.pendingStructs.update,e)),n.length>1){if(r.constructor===z)return Et(n.map(((t,e)=>0===e?t:Ot(t))));if(r.constructor===F)return At(n)}return n[0]},G=(t,e)=>W(t,e,new z),H=t=>(t=>{const e=new Map,r=h.readVarUint(t.restDecoder);for(let n=0;n<r;n++){const r=h.readVarUint(t.restDecoder),n=h.readVarUint(t.restDecoder);e.set(r,n)}return e})(new N(h.createDecoder(t)));class X{constructor(){this.l=[]}}const K=()=>new X,Y=(t,e)=>t.l.push(e),Q=(t,e)=>{const r=t.l,n=r.length;t.l=r.filter((t=>e!==t)),n===t.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},Z=(t,e,r)=>w.callAll(t.l,[e,r]);class tt{constructor(t,e){this.client=t,this.clock=e}}const et=(t,e)=>t===e||null!==t&&null!==e&&t.client===e.client&&t.clock===e.clock,rt=(t,e)=>new tt(t,e);class nt{constructor(t,e){this.ds=t,this.sv=e}}const st=(((t,e)=>{new nt(t,e)})(U(),new Map),(t,e)=>void 0===e?!t.deleted:e.sv.has(t.id.client)&&(e.sv.get(t.id.client)||0)>t.id.clock&&!E(e.ds,t.id)),it=(t,e)=>{const r=l.setIfUndefined(t.meta,it,m.create),n=t.doc.store;r.has(e)||(e.sv.forEach(((e,r)=>{e<lt(n,r)&>(t,rt(r,e))})),C(t,e.ds,(t=>{})),r.add(e))};class ot{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const ct=t=>{const e=new Map;return t.clients.forEach(((t,r)=>{const n=t[t.length-1];e.set(r,n.id.clock+n.length)})),e},lt=(t,e)=>{const r=t.clients.get(e);if(void 0===r)return 0;const n=r[r.length-1];return n.id.clock+n.length},at=(t,e)=>{let r=t.clients.get(e.id.client);if(void 0===r)r=[],t.clients.set(e.id.client,r);else{const t=r[r.length-1];if(t.id.clock+t.length!==e.id.clock)throw f.unexpectedCase()}r.push(e)},ht=(t,e)=>{let r=0,n=t.length-1,s=t[n],i=s.id.clock;if(i===e)return n;let o=c.floor(e/(i+s.length-1)*n);for(;r<=n;){if(s=t[o],i=s.id.clock,i<=e){if(e<i+s.length)return o;r=o+1}else n=o-1;o=c.floor((r+n)/2)}throw f.unexpectedCase()},dt=(t,e)=>{const r=t.clients.get(e.client);return r[ht(r,e.clock)]},ut=(t,e,r)=>{const n=ht(e,r),s=e[n];return s.id.clock<r&&s instanceof Xe?(e.splice(n+1,0,He(t,s,r-s.id.clock)),n+1):n},gt=(t,e)=>{const r=t.doc.store.clients.get(e.client);return r[ut(t,r,e.clock)]},ft=(t,e,r)=>{const n=e.clients.get(r.client),s=ht(n,r.clock),i=n[s];return r.clock!==i.id.clock+i.length-1&&i.constructor!==Ue&&n.splice(s+1,0,He(t,i,r.clock-i.id.clock+1)),i},pt=(t,e,r,n,s)=>{if(0===n)return;const i=r+n;let o,c=ut(t,e,r);do{o=e[c++],i<o.id.clock+o.length&&ut(t,e,i),s(o)}while(c<e.length&&e[c].id.clock<i)};class wt{constructor(t,e,r){this.doc=t,this.deleteSet=new x,this.beforeState=ct(t.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=e,this.meta=new Map,this.local=r,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set}}const mt=(t,e)=>!(0===e.deleteSet.clients.size&&!l.any(e.afterState,((t,r)=>e.beforeState.get(r)!==t))||(D(e.deleteSet),((t,e)=>{$(t,e.doc.store,e.beforeState)})(t,e),v(t,e.deleteSet),0)),yt=(t,e,r)=>{const n=e._item;(null===n||n.id.clock<(t.beforeState.get(n.id.client)||0)&&!n.deleted)&&l.setIfUndefined(t.changed,e,m.create).add(r)},bt=(t,e)=>{const r=t[e-1],n=t[e];r.deleted===n.deleted&&r.constructor===n.constructor&&r.mergeWith(n)&&(t.splice(e,1),n instanceof Xe&&null!==n.parentSub&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,r))},kt=(t,e)=>{if(e<t.length){const r=t[e],n=r.doc,s=n.store,i=r.deleteSet,o=r._mergeStructs;try{D(i),r.afterState=ct(r.doc.store),n.emit("beforeObserverCalls",[r,n]);const l=[];r.changed.forEach(((t,e)=>l.push((()=>{null!==e._item&&e._item.deleted||e._callObserver(r,t)})))),l.push((()=>{r.changedParentTypes.forEach(((t,e)=>l.push((()=>{null!==e._item&&e._item.deleted||((t=t.filter((t=>null===t.target._item||!t.target._item.deleted))).forEach((t=>{t.currentTarget=e})),t.sort(((t,e)=>t.path.length-e.path.length)),Z(e._dEH,t,r))})))),l.push((()=>n.emit("afterTransaction",[r,n])))})),(0,w.callAll)(l,[])}finally{n.gc&&((t,e,r)=>{for(const[n,s]of t.clients.entries()){const t=e.clients.get(n);for(let n=s.length-1;n>=0;n--){const i=s[n],o=i.clock+i.len;for(let n=ht(t,i.clock),s=t[n];n<t.length&&s.id.clock<o;s=t[++n]){const s=t[n];if(i.clock+i.len<=s.id.clock)break;s instanceof Xe&&s.deleted&&!s.keep&&r(s)&&s.gc(e,!1)}}}})(i,s,n.gcFilter),((t,e)=>{t.clients.forEach(((t,r)=>{const n=e.clients.get(r);for(let e=t.length-1;e>=0;e--){const r=t[e];for(let t=c.min(n.length-1,1+ht(n,r.clock+r.len-1)),e=n[t];t>0&&e.id.clock>=r.clock;e=n[--t])bt(n,t)}}))})(i,s),r.afterState.forEach(((t,e)=>{const n=r.beforeState.get(e)||0;if(n!==t){const t=s.clients.get(e),r=c.max(ht(t,n),1);for(let e=t.length-1;e>=r;e--)bt(t,e)}}));for(let t=0;t<o.length;t++){const{client:e,clock:r}=o[t].id,n=s.clients.get(e),i=ht(n,r);i+1<n.length&&bt(n,i+1),i>0&&bt(n,i)}if(r.local||r.afterState.get(n.clientID)===r.beforeState.get(n.clientID)||(y.print(y.ORANGE,y.BOLD,"[yjs] ",y.UNBOLD,y.RED,"Changed the client-id because another client seems to be using it."),n.clientID=V()),n.emit("afterTransactionCleanup",[r,n]),n._observers.has("update")){const t=new z;mt(t,r)&&n.emit("update",[t.toUint8Array(),r.origin,n,r])}if(n._observers.has("updateV2")){const t=new F;mt(t,r)&&n.emit("updateV2",[t.toUint8Array(),r.origin,n,r])}const{subdocsAdded:l,subdocsLoaded:a,subdocsRemoved:h}=r;(l.size>0||h.size>0||a.size>0)&&(l.forEach((t=>{t.clientID=n.clientID,null==t.collectionid&&(t.collectionid=n.collectionid),n.subdocs.add(t)})),h.forEach((t=>n.subdocs.delete(t))),n.emit("subdocs",[{loaded:a,added:l,removed:h},n,r]),h.forEach((t=>t.destroy()))),t.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,t])):kt(t,e+1)}}},_t=(t,e,r=null,n=!0)=>{const s=t._transactionCleanups;let i=!1;null===t._transaction&&(i=!0,t._transaction=new wt(t,r,n),s.push(t._transaction),1===s.length&&t.emit("beforeAllTransactions",[t]),t.emit("beforeTransaction",[t._transaction,t]));try{e(t._transaction)}finally{if(i){const e=t._transaction===s[0];t._transaction=null,e&&kt(s,0)}}};class St extends i.Observable{constructor(t,{captureTimeout:e=500,captureTransaction:r=(t=>!0),deleteFilter:n=(()=>!0),trackedOrigins:s=new Set([null]),ignoreRemoteMapChanges:i=!1,doc:c=(o.isArray(t)?t[0].doc:t.doc)}={}){super(),this.scope=[],this.addToScope(t),this.deleteFilter=n,s.add(this),this.trackedOrigins=s,this.captureTransaction=r,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.doc=c,this.lastChange=0,this.ignoreRemoteMapChanges=i,this.captureTimeout=e,this.afterTransactionHandler=t=>{if(!(this.captureTransaction(t)&&this.scope.some((e=>t.changedParentTypes.has(e)))&&(this.trackedOrigins.has(t.origin)||t.origin&&this.trackedOrigins.has(t.origin.constructor))))return;const e=this.undoing,r=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():r||this.clear(!1,!0);const s=new x;t.afterState.forEach(((e,r)=>{const n=t.beforeState.get(r)||0,i=e-n;i>0&&T(s,r,n,i)}));const i=$16gRh.getUnixTime();if(this.lastChange>0&&i-this.lastChange<this.captureTimeout&&n.length>0&&!e&&!r){const e=n[n.length-1];e.deletions=A([e.deletions,t.deleteSet]),e.insertions=A([e.insertions,s])}else n.push(new $289fccc3af2fad04$var$StackItem(t.deleteSet,s));e||r||(this.lastChange=i),C(t,t.deleteSet,(t=>{t instanceof Xe&&this.scope.some((e=>$289fccc3af2fad04$export$3c81af374b054d6a(e,t)))&&$289fccc3af2fad04$var$keepItem(t,!0)}));const o=[{stackItem:n[n.length-1],origin:t.origin,type:e?"redo":"undo",changedParentTypes:t.changedParentTypes},this];this.emit("stack-item-updated",o)},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(t){(o.isArray(t)?t:[t]).forEach((t=>{this.scope.every((e=>e!==t))&&this.scope.push(t)}))}addTrackedOrigin(t){this.trackedOrigins.add(t)}removeTrackedOrigin(t){this.trackedOrigins.delete(t)}clear(t=!0,e=!0){(t&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((r=>{t&&(this.undoStack.forEach((t=>$289fccc3af2fad04$var$clearUndoManagerStackItem(r,this,t))),this.undoStack=[]),e&&(this.redoStack.forEach((t=>$289fccc3af2fad04$var$clearUndoManagerStackItem(r,this,t))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:t,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;try{$289fccc3af2fad04$var$popStackItem(this,this.undoStack,"undo")}finally{this.undoing=!1}}redo(){this.redoing=!0;try{$289fccc3af2fad04$var$popStackItem(this,this.redoStack,"redo")}finally{this.redoing=!1}}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class xt{constructor(t,e){this.gen=function*(t){const e=h.readVarUint(t.restDecoder);for(let r=0;r<e;r++){const e=h.readVarUint(t.restDecoder),r=t.readClient();let n=h.readVarUint(t.restDecoder);for(let s=0;s<e;s++){const e=t.readInfo();if(10===e){const e=h.readVarUint(t.restDecoder);yield new Qe(rt(r,n),e),n+=e}else if(0!=(p.BITS5&e)){const s=0==(e&(p.BIT7|p.BIT8)),i=new Xe(rt(r,n),null,(e&p.BIT8)===p.BIT8?t.readLeftID():null,null,(e&p.BIT7)===p.BIT7?t.readRightID():null,s?t.readParentInfo()?t.readString():t.readLeftID():null,s&&(e&p.BIT6)===p.BIT6?t.readString():null,Ke(t,e));yield i,n+=i.length}else{const e=t.readLen();yield new Ue(rt(r,n),e),n+=e}}}}(t),this.curr=null,this.done=!1,this.filterSkips=e,this.next()}next(){do{this.curr=this.gen.next().value||null}while(this.filterSkips&&null!==this.curr&&this.curr.constructor===Qe);return this.curr}}class Ct{constructor(t){this.currClient=0,this.startClock=0,this.written=0,this.encoder=t,this.clientStructs=[]}}const Et=t=>At(t,R,z),Dt=(t,e)=>{if(t.constructor===Ue){const{client:r,clock:n}=t.id;return new Ue(rt(r,n+e),t.length-e)}if(t.constructor===Qe){const{client:r,clock:n}=t.id;return new Qe(rt(r,n+e),t.length-e)}{const r=t,{client:n,clock:s}=r.id;return new Xe(rt(n,s+e),null,rt(n,s+e-1),null,r.rightOrigin,r.parent,r.parentSub,r.content.splice(e))}},At=(t,e=L,r=F)=>{if(1===t.length)return t[0];const n=t.map((t=>new e(h.createDecoder(t))));let s=n.map((t=>new xt(t,!0))),i=null;const o=new r,c=new Ct(o);for(;s=s.filter((t=>null!==t.curr)),s.sort(((t,e)=>{if(t.curr.id.client===e.curr.id.client){const r=t.curr.id.clock-e.curr.id.clock;return 0===r?t.curr.constructor===e.curr.constructor?0:t.curr.constructor===Qe?1:-1:r}return e.curr.id.client-t.curr.id.client})),0!==s.length;){const t=s[0],e=t.curr.id.client;if(null!==i){let r=t.curr,n=!1;for(;null!==r&&r.id.clock+r.length<=i.struct.id.clock+i.struct.length&&r.id.client>=i.struct.id.client;)r=t.next(),n=!0;if(null===r||r.id.client!==e||n&&r.id.clock>i.struct.id.clock+i.struct.length)continue;if(e!==i.struct.id.client)vt(c,i.struct,i.offset),i={struct:r,offset:0},t.next();else if(i.struct.id.clock+i.struct.length<r.id.clock)if(i.struct.constructor===Qe)i.struct.length=r.id.clock+r.length-i.struct.id.clock;else{vt(c,i.struct,i.offset);const t=r.id.clock-i.struct.id.clock-i.struct.length;i={struct:new Qe(rt(e,i.struct.id.clock+i.struct.length),t),offset:0}}else{const e=i.struct.id.clock+i.struct.length-r.id.clock;e>0&&(i.struct.constructor===Qe?i.struct.length-=e:r=Dt(r,e)),i.struct.mergeWith(r)||(vt(c,i.struct,i.offset),i={struct:r,offset:0},t.next())}}else i={struct:t.curr,offset:0},t.next();for(let r=t.curr;null!==r&&r.id.client===e&&r.id.clock===i.struct.id.clock+i.struct.length&&r.constructor!==Qe;r=t.next())vt(c,i.struct,i.offset),i={struct:r,offset:0}}null!==i&&(vt(c,i.struct,i.offset),i=null),It(c);const l=n.map((t=>I(t))),a=A(l);return v(o,a),o.toUint8Array()},Tt=(t,e,r=L,n=F)=>{const s=H(e),i=new n,o=new Ct(i),l=new r(h.createDecoder(t)),a=new xt(l,!1);for(;a.curr;){const t=a.curr,e=t.id.client,r=s.get(e)||0;if(a.curr.constructor!==Qe)if(t.id.clock+t.length>r)for(vt(o,t,c.max(r-t.id.clock,0)),a.next();a.curr&&a.curr.id.client===e;)vt(o,a.curr,0),a.next();else for(;a.curr&&a.curr.id.client===e&&a.curr.id.clock+a.curr.length<=r;)a.next();else a.next()}It(o);const d=I(l);return v(i,d),i.toUint8Array()},Ut=t=>{t.written>0&&(t.clientStructs.push({written:t.written,restEncoder:a.toUint8Array(t.encoder.restEncoder)}),t.encoder.restEncoder=a.createEncoder(),t.written=0)},vt=(t,e,r)=>{t.written>0&&t.currClient!==e.id.client&&Ut(t),0===t.written&&(t.currClient=e.id.client,t.encoder.writeClient(e.id.client),a.writeVarUint(t.encoder.restEncoder,e.id.clock+r)),e.write(t.encoder,r),t.written++},It=t=>{Ut(t);const e=t.encoder.restEncoder;a.writeVarUint(e,t.clientStructs.length);for(let r=0;r<t.clientStructs.length;r++){const n=t.clientStructs[r];a.writeVarUint(e,n.written),a.writeUint8Array(e,n.restEncoder)}},Ot=t=>((t,e,r)=>{const n=new e(h.createDecoder(t)),s=new xt(n,!1),i=new r,o=new Ct(i);for(let t=s.curr;null!==t;t=s.next())vt(o,t,0);It(o);const c=I(n);return v(i,c),i.toUint8Array()})(t,L,z);class Vt{constructor(t,e){this.target=t,this.currentTarget=t,this.transaction=e,this._changes=null,this._keys=null,this._delta=null}get path(){return Mt(this.currentTarget,this.target)}deletes(t){return E(this.transaction.deleteSet,t.id)}get keys(){if(null===this._keys){const t=new Map,e=this.target;this.transaction.changed.get(e).forEach((r=>{if(null!==r){const n=e._map.get(r);let s,i;if(this.adds(n)){let t=n.left;for(;null!==t&&this.adds(t);)t=t.left;if(this.deletes(n)){if(null===t||!this.deletes(t))return;s="delete",i=o.last(t.content.getContent())}else null!==t&&this.deletes(t)?(s="update",i=o.last(t.content.getContent())):(s="add",i=void 0)}else{if(!this.deletes(n))return;s="delete",i=o.last(n.content.getContent())}t.set(r,{action:s,oldValue:i})}})),this._keys=t}return this._keys}get delta(){return this.changes.delta}adds(t){return t.id.clock>=(this.transaction.beforeState.get(t.id.client)||0)}get changes(){let t=this._changes;if(null===t){const e=this.target,r=m.create(),n=m.create(),s=[];if(t={added:r,deleted:n,delta:s,keys:this.keys},this.transaction.changed.get(e).has(null)){let t=null;const i=()=>{t&&s.push(t)};for(let s=e._start;null!==s;s=s.right)s.deleted?this.deletes(s)&&!this.adds(s)&&(null!==t&&void 0!==t.delete||(i(),t={delete:0}),t.delete+=s.length,n.add(s)):this.adds(s)?(null!==t&&void 0!==t.insert||(i(),t={insert:[]}),t.insert=t.insert.concat(s.content.getContent()),r.add(s)):(null!==t&&void 0!==t.retain||(i(),t={retain:0}),t.retain+=s.length);null!==t&&void 0===t.retain&&i()}this._changes=t}return t}}const Mt=(t,e)=>{const r=[];for(;null!==e._item&&e!==t;){if(null!==e._item.parentSub)r.unshift(e._item.parentSub);else{let t=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||t++,n=n.right;r.unshift(t)}e=e._item.parent}return r};let Nt=0;class Rt{constructor(t,e){t.marker=!0,this.p=t,this.index=e,this.timestamp=Nt++}}const Bt=(t,e,r)=>{t.p.marker=!1,t.p=e,e.marker=!0,t.index=r,t.timestamp=Nt++},Lt=(t,e)=>{if(null===t._start||0===e||null===t._searchMarker)return null;const r=0===t._searchMarker.length?null:t._searchMarker.reduce(((t,r)=>c.abs(e-t.index)<c.abs(e-r.index)?t:r));let n=t._start,s=0;for(null!==r&&(n=r.p,s=r.index,(t=>{t.timestamp=Nt++})(r));null!==n.right&&s<e;){if(!n.deleted&&n.countable){if(e<s+n.length)break;s+=n.length}n=n.right}for(;null!==n.left&&s>e;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(s-=n.length);return null!==r&&c.abs(r.index-s)<n.parent.length/80?(Bt(r,n,s),r):((t,e,r)=>{if(t.length>=80){const n=t.reduce(((t,e)=>t.timestamp<e.timestamp?t:e));return Bt(n,e,r),n}{const n=new Rt(e,r);return t.push(n),n}})(t._searchMarker,n,s)},Jt=(t,e,r)=>{for(let n=t.length-1;n>=0;n--){const s=t[n];if(r>0){let e=s.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(s.index-=e.length);if(null===e||!0===e.marker){t.splice(n,1);continue}s.p=e,e.marker=!0}(e<s.index||r>0&&e===s.index)&&(s.index=c.max(e,s.index+r))}},zt=(t,e,r)=>{const n=t,s=e.changedParentTypes;for(;l.setIfUndefined(s,t,(()=>[])).push(r),null!==t._item;)t=t._item.parent;Z(n._eH,r,e)};class jt{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=K(),this._dEH=K(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(t,e){this.doc=t,this._item=e}_copy(){throw f.methodUnimplemented()}clone(){throw f.methodUnimplemented()}_write(t){}get _first(){let t=this._start;for(;null!==t&&t.deleted;)t=t.right;return t}_callObserver(t,e){!t.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(t){Y(this._eH,t)}observeDeep(t){Y(this._dEH,t)}unobserve(t){Q(this._eH,t)}unobserveDeep(t){Q(this._dEH,t)}toJSON(){}}const Ft=(t,e,r)=>{e<0&&(e=t._length+e),r<0&&(r=t._length+r);let n=r-e;const s=[];let i=t._start;for(;null!==i&&n>0;){if(i.countable&&!i.deleted){const t=i.content.getContent();if(t.length<=e)e-=t.length;else{for(let r=e;r<t.length&&n>0;r++)s.push(t[r]),n--;e=0}}i=i.right}return s},$t=t=>{const e=[];let r=t._start;for(;null!==r;){if(r.countable&&!r.deleted){const t=r.content.getContent();for(let r=0;r<t.length;r++)e.push(t[r])}r=r.right}return e},Pt=(t,e)=>{let r=0,n=t._start;for(;null!==n;){if(n.countable&&!n.deleted){const s=n.content.getContent();for(let n=0;n<s.length;n++)e(s[n],r++,t)}n=n.right}},qt=(t,e)=>{const r=[];return Pt(t,((n,s)=>{r.push(e(n,s,t))})),r},Wt=t=>{let e=t._start,r=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===r){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};r=e.content.getContent(),n=0,e=e.right}const t=r[n++];return r.length<=n&&(r=null),{done:!1,value:t}}}},Gt=(t,e)=>{const r=Lt(t,e);let n=t._start;for(null!==r&&(n=r.p,e-=r.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e<n.length)return n.content.getContent()[e];e-=n.length}},Ht=(t,e,r,n)=>{let s=r;const i=t.doc,o=i.clientID,c=i.store,l=null===r?e._start:r.right;let a=[];const h=()=>{a.length>0&&(s=new Xe(rt(o,lt(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Be(a)),s.integrate(t,0),a=[])};n.forEach((r=>{if(null===r)a.push(r);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:a.push(r);break;default:switch(h(),r.constructor){case Uint8Array:case ArrayBuffer:s=new Xe(rt(o,lt(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new ve(new Uint8Array(r))),s.integrate(t,0);break;case M:s=new Xe(rt(o,lt(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Ve(r)),s.integrate(t,0);break;default:if(!(r instanceof jt))throw new Error("Unexpected content type in insert operation");s=new Xe(rt(o,lt(c,o)),s,s&&s.lastId,l,l&&l.id,e,null,new Ge(r)),s.integrate(t,0)}}})),h()},Xt=f.create("Length exceeded!"),Kt=(t,e,r,n)=>{if(r>e._length)throw Xt;if(0===r)return e._searchMarker&&Jt(e._searchMarker,r,n.length),Ht(t,e,null,n);const s=r,i=Lt(e,r);let o=e._start;for(null!==i&&(o=i.p,0==(r-=i.index)&&(o=o.prev,r+=o&&o.countable&&!o.deleted?o.length:0));null!==o;o=o.right)if(!o.deleted&&o.countable){if(r<=o.length){r<o.length&>(t,rt(o.id.client,o.id.clock+r));break}r-=o.length}return e._searchMarker&&Jt(e._searchMarker,s,n.length),Ht(t,e,o,n)},Yt=(t,e,r,n)=>{if(0===n)return;const s=r,i=n,o=Lt(e,r);let c=e._start;for(null!==o&&(c=o.p,r-=o.index);null!==c&&r>0;c=c.right)!c.deleted&&c.countable&&(r<c.length&>(t,rt(c.id.client,c.id.clock+r)),r-=c.length);for(;n>0&&null!==c;)c.deleted||(n<c.length&>(t,rt(c.id.client,c.id.clock+n)),c.delete(t),n-=c.length),c=c.right;if(n>0)throw Xt;e._searchMarker&&Jt(e._searchMarker,s,-i+n)},Qt=(t,e,r)=>{const n=e._map.get(r);void 0!==n&&n.delete(t)},Zt=(t,e,r,n)=>{const s=e._map.get(r)||null,i=t.doc,o=i.clientID;let c;if(null==n)c=new Be([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:c=new Be([n]);break;case Uint8Array:c=new ve(n);break;case M:c=new Ve(n);break;default:if(!(n instanceof jt))throw new Error("Unexpected content type");c=new Ge(n)}new Xe(rt(o,lt(i.store,o)),s,s&&s.lastId,null,null,e,r,c).integrate(t,0)},te=(t,e)=>{const r=t._map.get(e);return void 0===r||r.deleted?void 0:r.content.getContent()[r.length-1]},ee=t=>{const e={};return t._map.forEach(((t,r)=>{t.deleted||(e[r]=t.content.getContent()[t.length-1])})),e},re=(t,e)=>{const r=t._map.get(e);return void 0!==r&&!r.deleted},ne=t=>b.iteratorFilter(t.entries(),(t=>!t[1].deleted));class se extends Vt{constructor(t,e){super(t,e),this._transaction=e}}class ie extends jt{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){const e=new ie;return e.push(t),e}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new ie}clone(){const t=new ie;return t.insert(0,this.toArray().map((t=>t instanceof jt?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(t,e){super._callObserver(t,e),zt(this,t,new se(this,t))}insert(t,e){null!==this.doc?_t(this.doc,(r=>{Kt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}push(t){null!==this.doc?_t(this.doc,(e=>{((t,e,r)=>{let n=(e._searchMarker||[]).reduce(((t,e)=>e.index>t.index?e:t),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;Ht(t,e,n,r)})(e,this,t)})):this._prelimContent.push(...t)}unshift(t){this.insert(0,t)}delete(t,e=1){null!==this.doc?_t(this.doc,(r=>{Yt(r,this,t,e)})):this._prelimContent.splice(t,e)}get(t){return Gt(this,t)}toArray(){return $t(this)}slice(t=0,e=this.length){return Ft(this,t,e)}toJSON(){return this.map((t=>t instanceof jt?t.toJSON():t))}map(t){return qt(this,t)}forEach(t){Pt(this,t)}[Symbol.iterator](){return Wt(this)}_write(t){t.writeTypeRef(ze)}}class oe extends Vt{constructor(t,e,r){super(t,e),this.keysChanged=r}}class ce extends jt{constructor(t){super(),this._prelimContent=null,this._prelimContent=void 0===t?new Map:new Map(t)}_integrate(t,e){super._integrate(t,e),this._prelimContent.forEach(((t,e)=>{this.set(e,t)})),this._prelimContent=null}_copy(){return new ce}clone(){const t=new ce;return this.forEach(((e,r)=>{t.set(r,e instanceof jt?e.clone():e)})),t}_callObserver(t,e){zt(this,t,new oe(this,t,e))}toJSON(){const t={};return this._map.forEach(((e,r)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];t[r]=n instanceof jt?n.toJSON():n}})),t}get size(){return[...ne(this._map)].length}keys(){return b.iteratorMap(ne(this._map),(t=>t[0]))}values(){return b.iteratorMap(ne(this._map),(t=>t[1].content.getContent()[t[1].length-1]))}entries(){return b.iteratorMap(ne(this._map),(t=>[t[0],t[1].content.getContent()[t[1].length-1]]))}forEach(t){this._map.forEach(((e,r)=>{e.deleted||t(e.content.getContent()[e.length-1],r,this)}))}[Symbol.iterator](){return this.entries()}delete(t){null!==this.doc?_t(this.doc,(e=>{Qt(e,this,t)})):this._prelimContent.delete(t)}set(t,e){return null!==this.doc?_t(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimContent.set(t,e),e}get(t){return te(this,t)}has(t){return re(this,t)}clear(){null!==this.doc?_t(this.doc,(t=>{this.forEach((function(e,r,n){Qt(t,n,r)}))})):this._prelimContent.clear()}_write(t){t.writeTypeRef(je)}}const le=(t,e)=>t===e||"object"==typeof t&&"object"==typeof e&&t&&e&&k.equalFlat(t,e);class ae{constructor(t,e,r,n){this.left=t,this.right=e,this.index=r,this.currentAttributes=n}forward(){null===this.right&&f.unexpectedCase(),this.right.content.constructor===Ne?this.right.deleted||ge(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const he=(t,e,r)=>{for(;null!==e.right&&r>0;)e.right.content.constructor===Ne?e.right.deleted||ge(e.currentAttributes,e.right.content):e.right.deleted||(r<e.right.length&>(t,rt(e.right.id.client,e.right.id.clock+r)),e.index+=e.right.length,r-=e.right.length),e.left=e.right,e.right=e.right.right;return e},de=(t,e,r)=>{const n=new Map,s=Lt(e,r);if(s){const e=new ae(s.p.left,s.p,s.index,n);return he(t,e,r-s.index)}{const s=new ae(null,e._start,0,n);return he(t,s,r)}},ue=(t,e,r,n)=>{for(;null!==r.right&&(!0===r.right.deleted||r.right.content.constructor===Ne&&le(n.get(r.right.content.key),r.right.content.value));)r.right.deleted||n.delete(r.right.content.key),r.forward();const s=t.doc,i=s.clientID;n.forEach(((n,o)=>{const c=r.left,l=r.right,a=new Xe(rt(i,lt(s.store,i)),c,c&&c.lastId,l,l&&l.id,e,null,new Ne(o,n));a.integrate(t,0),r.right=a,r.forward()}))},ge=(t,e)=>{const{key:r,value:n}=e;null===n?t.delete(r):t.set(r,n)},fe=(t,e)=>{for(;null!==t.right&&(t.right.deleted||t.right.content.constructor===Ne&&le(e[t.right.content.key]||null,t.right.content.value));)t.forward()},pe=(t,e,r,n)=>{const s=t.doc,i=s.clientID,o=new Map;for(const c in n){const l=n[c],a=r.currentAttributes.get(c)||null;if(!le(a,l)){o.set(c,a);const{left:n,right:h}=r;r.right=new Xe(rt(i,lt(s.store,i)),n,n&&n.lastId,h,h&&h.id,e,null,new Ne(c,l)),r.right.integrate(t,0),r.forward()}}return o},we=(t,e,r,n,s)=>{r.currentAttributes.forEach(((t,e)=>{void 0===s[e]&&(s[e]=null)}));const i=t.doc,o=i.clientID;fe(r,s);const c=pe(t,e,r,s),l=n.constructor===String?new Le(n):n instanceof jt?new Ge(n):new Me(n);let{left:a,right:h,index:d}=r;e._searchMarker&&Jt(e._searchMarker,r.index,l.getLength()),h=new Xe(rt(o,lt(i.store,o)),a,a&&a.lastId,h,h&&h.id,e,null,l),h.integrate(t,0),r.right=h,r.index=d,r.forward(),ue(t,e,r,c)},me=(t,e,r,n,s)=>{const i=t.doc,o=i.clientID;fe(r,s);const c=pe(t,e,r,s);t:for(;null!==r.right&&(n>0||c.size>0&&(r.right.deleted||r.right.content.constructor===Ne));){if(!r.right.deleted)switch(r.right.content.constructor){case Ne:{const{key:e,value:i}=r.right.content,o=s[e];if(void 0!==o){if(le(o,i))c.delete(e);else{if(0===n)break t;c.set(e,i)}r.right.delete(t)}else r.currentAttributes.set(e,i);break}default:n<r.right.length&>(t,rt(r.right.id.client,r.right.id.clock+n)),n-=r.right.length}r.forward()}if(n>0){let s="";for(;n>0;n--)s+="\n";r.right=new Xe(rt(o,lt(i.store,o)),r.left,r.left&&r.left.lastId,r.right,r.right&&r.right.id,e,null,new Le(s)),r.right.integrate(t,0),r.forward()}ue(t,e,r,c)},ye=(t,e,r,n,s)=>{let i=r;const o=l.copy(s);for(;i&&(!i.countable||i.deleted);)i.deleted||i.content.constructor!==Ne||ge(o,i.content),i=i.right;let c=0,a=!1;for(;e!==i;){if(r===e&&(a=!0),!e.deleted){const r=e.content;switch(r.constructor){case Ne:{const{key:i,value:l}=r;(o.get(i)||null)===l&&(n.get(i)||null)!==l||(e.delete(t),c++,a||(s.get(i)||null)!==l||(n.get(i)||null)===l||s.delete(i));break}}}e=e.right}return c},be=(t,e,r)=>{const n=r,s=l.copy(e.currentAttributes),i=e.right;for(;r>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case Ge:case Me:case Le:r<e.right.length&>(t,rt(e.right.id.client,e.right.id.clock+r)),r-=e.right.length,e.right.delete(t)}e.forward()}i&&ye(t,i,e.right,s,e.currentAttributes);const o=(e.left||e.right).parent;return o._searchMarker&&Jt(o._searchMarker,e.index,-n+r),e};class ke extends Vt{constructor(t,e,r){super(t,e),this.childListChanged=!1,this.keysChanged=new Set,r.forEach((t=>{null===t?this.childListChanged=!0:this.keysChanged.add(t)}))}get changes(){if(null===this._changes){const t={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=t}return this._changes}get delta(){if(null===this._delta){const t=this.target.doc,e=[];_t(t,(t=>{const r=new Map,n=new Map;let s=this.target._start,i=null;const o={};let c="",l=0,a=0;const h=()=>{if(null!==i){let t;switch(i){case"delete":t={delete:a},a=0;break;case"insert":t={insert:c},r.size>0&&(t.attributes={},r.forEach(((e,r)=>{null!==e&&(t.attributes[r]=e)}))),c="";break;case"retain":if(t={retain:l},Object.keys(o).length>0){t.attributes={};for(const e in o)t.attributes[e]=o[e]}l=0}e.push(t),i=null}};for(;null!==s;){switch(s.content.constructor){case Ge:case Me:this.adds(s)?this.deletes(s)||(h(),i="insert",c=s.content.getContent()[0],h()):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=1):s.deleted||("retain"!==i&&(h(),i="retain"),l+=1);break;case Le:this.adds(s)?this.deletes(s)||("insert"!==i&&(h(),i="insert"),c+=s.content.str):this.deletes(s)?("delete"!==i&&(h(),i="delete"),a+=s.length):s.deleted||("retain"!==i&&(h(),i="retain"),l+=s.length);break;case Ne:{const{key:e,value:c}=s.content;if(this.adds(s)){if(!this.deletes(s)){const l=r.get(e)||null;le(l,c)?null!==c&&s.delete(t):("retain"===i&&h(),le(c,n.get(e)||null)?delete o[e]:o[e]=c)}}else if(this.deletes(s)){n.set(e,c);const t=r.get(e)||null;le(t,c)||("retain"===i&&h(),o[e]=t)}else if(!s.deleted){n.set(e,c);const r=o[e];void 0!==r&&(le(r,c)?null!==r&&s.delete(t):("retain"===i&&h(),null===c?delete o[e]:o[e]=c))}s.deleted||("insert"===i&&h(),ge(r,s.content));break}}s=s.right}for(h();e.length>0;){const t=e[e.length-1];if(void 0===t.retain||void 0!==t.attributes)break;e.pop()}})),this._delta=e}return this._delta}}class _e extends jt{constructor(t){super(),this._pending=void 0!==t?[()=>this.insert(0,t)]:[],this._searchMarker=[]}get length(){return this._length}_integrate(t,e){super._integrate(t,e);try{this._pending.forEach((t=>t()))}catch(t){console.error(t)}this._pending=null}_copy(){return new _e}clone(){const t=new _e;return t.applyDelta(this.toDelta()),t}_callObserver(t,e){super._callObserver(t,e);const r=new ke(this,t,e),n=t.doc;if(zt(this,t,r),!t.local){let e=!1;for(const[r,s]of t.afterState.entries()){const i=t.beforeState.get(r)||0;if(s!==i&&(pt(t,n.store.clients.get(r),i,s,(t=>{t.deleted||t.content.constructor!==Ne||(e=!0)})),e))break}e||C(t,t.deleteSet,(t=>{t instanceof Ue||e||t.parent===this&&t.content.constructor===Ne&&(e=!0)})),_t(n,(t=>{e?(t=>{let e=0;_t(t.doc,(r=>{let n=t._start,s=t._start,i=l.create();const o=l.copy(i);for(;s;)!1===s.deleted&&(s.content.constructor===Ne?ge(o,s.content):(e+=ye(r,n,s,i,o),i=l.copy(o),n=s)),s=s.right}))})(this):C(t,t.deleteSet,(e=>{e instanceof Ue||e.parent===this&&((t,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const r=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Ne){const n=e.content.key;r.has(n)?e.delete(t):r.add(n)}e=e.left}})(t,e)}))}))}}toString(){let t="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Le&&(t+=e.content.str),e=e.right;return t}toJSON(){return this.toString()}applyDelta(t,{sanitize:e=!0}={}){null!==this.doc?_t(this.doc,(r=>{const n=new ae(null,this._start,0,new Map);for(let s=0;s<t.length;s++){const i=t[s];if(void 0!==i.insert){const o=e||"string"!=typeof i.insert||s!==t.length-1||null!==n.right||"\n"!==i.insert.slice(-1)?i.insert:i.insert.slice(0,-1);("string"!=typeof o||o.length>0)&&we(r,this,n,o,i.attributes||{})}else void 0!==i.retain?me(r,this,n,i.retain,i.attributes||{}):void 0!==i.delete&&be(r,n,i.delete)}})):this._pending.push((()=>this.applyDelta(t)))}toDelta(t,e,r){const n=[],s=new Map,i=this.doc;let o="",c=this._start;function l(){if(o.length>0){const t={};let e=!1;s.forEach(((r,n)=>{e=!0,t[n]=r}));const r={insert:o};e&&(r.attributes=t),n.push(r),o=""}}return _t(i,(i=>{for(t&&it(i,t),e&&it(i,e);null!==c;){if(st(c,t)||void 0!==e&&st(c,e))switch(c.content.constructor){case Le:{const n=s.get("ychange");void 0===t||st(c,t)?void 0===e||st(c,e)?void 0!==n&&(l(),s.delete("ychange")):void 0!==n&&n.user===c.id.client&&"added"===n.type||(l(),s.set("ychange",r?r("added",c.id):{type:"added"})):void 0!==n&&n.user===c.id.client&&"removed"===n.type||(l(),s.set("ychange",r?r("removed",c.id):{type:"removed"})),o+=c.content.str;break}case Ge:case Me:{l();const t={insert:c.content.getContent()[0]};if(s.size>0){const e={};t.attributes=e,s.forEach(((t,r)=>{e[r]=t}))}n.push(t);break}case Ne:st(c,t)&&(l(),ge(s,c.content))}c=c.right}l()}),"cleanup"),n}insert(t,e,r){if(e.length<=0)return;const n=this.doc;null!==n?_t(n,(n=>{const s=de(n,this,t);r||(r={},s.currentAttributes.forEach(((t,e)=>{r[e]=t}))),we(n,this,s,e,r)})):this._pending.push((()=>this.insert(t,e,r)))}insertEmbed(t,e,r={}){const n=this.doc;null!==n?_t(n,(n=>{const s=de(n,this,t);we(n,this,s,e,r)})):this._pending.push((()=>this.insertEmbed(t,e,r)))}delete(t,e){if(0===e)return;const r=this.doc;null!==r?_t(r,(r=>{be(r,de(r,this,t),e)})):this._pending.push((()=>this.delete(t,e)))}format(t,e,r){if(0===e)return;const n=this.doc;null!==n?_t(n,(n=>{const s=de(n,this,t);null!==s.right&&me(n,this,s,e,r)})):this._pending.push((()=>this.format(t,e,r)))}removeAttribute(t){null!==this.doc?_t(this.doc,(e=>{Qt(e,this,t)})):this._pending.push((()=>this.removeAttribute(t)))}setAttribute(t,e){null!==this.doc?_t(this.doc,(r=>{Zt(r,this,t,e)})):this._pending.push((()=>this.setAttribute(t,e)))}getAttribute(t){return te(this,t)}getAttributes(t){return ee(this)}_write(t){t.writeTypeRef(Fe)}}class Se{constructor(t,e=(()=>!0)){this._filter=e,this._root=t,this._currentNode=t._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let t=this._currentNode,e=t&&t.content&&t.content.type;if(null!==t&&(!this._firstCall||t.deleted||!this._filter(e)))do{if(e=t.content.type,t.deleted||e.constructor!==Ce&&e.constructor!==xe||null===e._start)for(;null!==t;){if(null!==t.right){t=t.right;break}t=t.parent===this._root?null:t.parent._item}else t=e._start}while(null!==t&&(t.deleted||!this._filter(t.content.type)));return this._firstCall=!1,null===t?{value:void 0,done:!0}:(this._currentNode=t,{value:t.content.type,done:!1})}}class xe extends jt{constructor(){super(),this._prelimContent=[]}get firstChild(){const t=this._first;return t?t.content.getContent()[0]:null}_integrate(t,e){super._integrate(t,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new xe}clone(){const t=new xe;return t.insert(0,this.toArray().map((t=>t instanceof jt?t.clone():t))),t}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(t){return new Se(this,t)}querySelector(t){t=t.toUpperCase();const e=new Se(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)).next();return e.done?null:e.value}querySelectorAll(t){return t=t.toUpperCase(),Array.from(new Se(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===t)))}_callObserver(t,e){zt(this,t,new Ee(this,e,t))}toString(){return qt(this,(t=>t.toString())).join("")}toJSON(){return this.toString()}toDOM(t=document,e={},r){const n=t.createDocumentFragment();return void 0!==r&&r._createAssociation(n,this),Pt(this,(s=>{n.insertBefore(s.toDOM(t,e,r),null)})),n}insert(t,e){null!==this.doc?_t(this.doc,(r=>{Kt(r,this,t,e)})):this._prelimContent.splice(t,0,...e)}insertAfter(t,e){if(null!==this.doc)_t(this.doc,(r=>{const n=t&&t instanceof jt?t._item:t;Ht(r,this,n,e)}));else{const r=this._prelimContent,n=null===t?0:r.findIndex((e=>e===t))+1;if(0===n&&null!==t)throw f.create("Reference item not found");r.splice(n,0,...e)}}delete(t,e=1){null!==this.doc?_t(this.doc,(r=>{Yt(r,this,t,e)})):this._prelimContent.splice(t,e)}toArray(){return $t(this)}push(t){this.insert(this.length,t)}unshift(t){this.insert(0,t)}get(t){return Gt(this,t)}slice(t=0,e=this.length){return Ft(this,t,e)}forEach(t){Pt(this,t)}_write(t){t.writeTypeRef(Pe)}}class Ce extends xe{constructor(t="UNDEFINED"){super(),this.nodeName=t,this._prelimAttrs=new Map}get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_integrate(t,e){super._integrate(t,e),this._prelimAttrs.forEach(((t,e)=>{this.setAttribute(e,t)})),this._prelimAttrs=null}_copy(){return new Ce(this.nodeName)}clone(){const t=new Ce(this.nodeName),e=this.getAttributes();for(const r in e)t.setAttribute(r,e[r]);return t.insert(0,this.toArray().map((t=>t instanceof jt?t.clone():t))),t}toString(){const t=this.getAttributes(),e=[],r=[];for(const e in t)r.push(e);r.sort();const n=r.length;for(let s=0;s<n;s++){const n=r[s];e.push(n+'="'+t[n]+'"')}const s=this.nodeName.toLocaleLowerCase();return`<${s}${e.length>0?" "+e.join(" "):""}>${super.toString()}</${s}>`}removeAttribute(t){null!==this.doc?_t(this.doc,(e=>{Qt(e,this,t)})):this._prelimAttrs.delete(t)}setAttribute(t,e){null!==this.doc?_t(this.doc,(r=>{Zt(r,this,t,e)})):this._prelimAttrs.set(t,e)}getAttribute(t){return te(this,t)}hasAttribute(t){return re(this,t)}getAttributes(){return ee(this)}toDOM(t=document,e={},r){const n=t.createElement(this.nodeName),s=this.getAttributes();for(const t in s)n.setAttribute(t,s[t]);return Pt(this,(s=>{n.appendChild(s.toDOM(t,e,r))})),void 0!==r&&r._createAssociation(n,this),n}_write(t){t.writeTypeRef($e),t.writeKey(this.nodeName)}}class Ee extends Vt{constructor(t,e,r){super(t,r),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((t=>{null===t?this.childListChanged=!0:this.attributesChanged.add(t)}))}}class De extends ce{constructor(t){super(),this.hookName=t}_copy(){return new De(this.hookName)}clone(){const t=new De(this.hookName);return this.forEach(((e,r)=>{t.set(r,e)})),t}toDOM(t=document,e={},r){const n=e[this.hookName];let s;return s=void 0!==n?n.createDom(this):document.createElement(this.hookName),s.setAttribute("data-yjs-hook",this.hookName),void 0!==r&&r._createAssociation(s,this),s}_write(t){t.writeTypeRef(qe),t.writeKey(this.hookName)}}class Ae extends _e{get nextSibling(){const t=this._item?this._item.next:null;return t?t.content.type:null}get prevSibling(){const t=this._item?this._item.prev:null;return t?t.content.type:null}_copy(){return new Ae}clone(){const t=new Ae;return t.applyDelta(this.toDelta()),t}toDOM(t=document,e,r){const n=t.createTextNode(this.toString());return void 0!==r&&r._createAssociation(n,this),n}toString(){return this.toDelta().map((t=>{const e=[];for(const r in t.attributes){const n=[];for(const e in t.attributes[r])n.push({key:e,value:t.attributes[r][e]});n.sort(((t,e)=>t.key<e.key?-1:1)),e.push({nodeName:r,attrs:n})}e.sort(((t,e)=>t.nodeName<e.nodeName?-1:1));let r="";for(let t=0;t<e.length;t++){const n=e[t];r+=`<${n.nodeName}`;for(let t=0;t<n.attrs.length;t++){const e=n.attrs[t];r+=` ${e.key}="${e.value}"`}r+=">"}r+=t.insert;for(let t=e.length-1;t>=0;t--)r+=`</${e[t].nodeName}>`;return r})).join("")}toJSON(){return this.toString()}_write(t){t.writeTypeRef(We)}}class Te{constructor(t,e){this.id=t,this.length=e}get deleted(){throw f.methodUnimplemented()}mergeWith(t){return!1}write(t,e,r){throw f.methodUnimplemented()}integrate(t,e){throw f.methodUnimplemented()}}class Ue extends Te{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){e>0&&(this.id.clock+=e,this.length-=e),at(t.doc.store,this)}write(t,e){t.writeInfo(0),t.writeLen(this.length-e)}getMissing(t,e){return null}}class ve{constructor(t){this.content=t}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new ve(this.content)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeBuf(this.content)}getRef(){return 3}}class Ie{constructor(t){this.len=t}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new Ie(this.len)}splice(t){const e=new Ie(this.len-t);return this.len=t,e}mergeWith(t){return this.len+=t.len,!0}integrate(t,e){T(t.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(t){}gc(t){}write(t,e){t.writeLen(this.len-e)}getRef(){return 1}}const Oe=(t,e)=>new M({guid:t,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Ve{constructor(t){t._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=t;const e={};this.opts=e,t.gc||(e.gc=!1),t.autoLoad&&(e.autoLoad=!0),null!==t.meta&&(e.meta=t.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Ve(Oe(this.doc.guid,this.opts))}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.doc._item=e,t.subdocsAdded.add(this.doc),this.doc.shouldLoad&&t.subdocsLoaded.add(this.doc)}delete(t){t.subdocsAdded.has(this.doc)?t.subdocsAdded.delete(this.doc):t.subdocsRemoved.add(this.doc)}gc(t){}write(t,e){t.writeString(this.doc.guid),t.writeAny(this.opts)}getRef(){return 9}}class Me{constructor(t){this.embed=t}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Me(this.embed)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeJSON(this.embed)}getRef(){return 5}}class Ne{constructor(t,e){this.key=t,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Ne(this.key,this.value)}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){e.parent._searchMarker=null}delete(t){}gc(t){}write(t,e){t.writeKey(this.key),t.writeJSON(this.value)}getRef(){return 6}}class Re{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new Re(this.arr)}splice(t){const e=new Re(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeString(void 0===e?"undefined":JSON.stringify(e))}}getRef(){return 2}}class Be{constructor(t){this.arr=t}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new Be(this.arr)}splice(t){const e=new Be(this.arr.slice(t));return this.arr=this.arr.slice(0,t),e}mergeWith(t){return this.arr=this.arr.concat(t.arr),!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){const r=this.arr.length;t.writeLen(r-e);for(let n=e;n<r;n++){const e=this.arr[n];t.writeAny(e)}}getRef(){return 8}}class Le{constructor(t){this.str=t}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new Le(this.str)}splice(t){const e=new Le(this.str.slice(t));this.str=this.str.slice(0,t);const r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(t){return this.str+=t.str,!0}integrate(t,e){}delete(t){}gc(t){}write(t,e){t.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const Je=[t=>new ie,t=>new ce,t=>new _e,t=>new Ce(t.readKey()),t=>new xe,t=>new De(t.readKey()),t=>new Ae],ze=0,je=1,Fe=2,$e=3,Pe=4,qe=5,We=6;class Ge{constructor(t){this.type=t}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new Ge(this.type._copy())}splice(t){throw f.methodUnimplemented()}mergeWith(t){return!1}integrate(t,e){this.type._integrate(t.doc,e)}delete(t){let e=this.type._start;for(;null!==e;)e.deleted?t._mergeStructs.push(e):e.delete(t),e=e.right;this.type._map.forEach((e=>{e.deleted?t._mergeStructs.push(e):e.delete(t)})),t.changed.delete(this.type)}gc(t){let e=this.type._start;for(;null!==e;)e.gc(t,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(t,!0),e=e.left})),this.type._map=new Map}write(t,e){this.type._write(t)}getRef(){return 7}}const He=(t,e,r)=>{const{client:n,clock:s}=e.id,i=new Xe(rt(n,s+r),e,rt(n,s+r-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(r));return e.deleted&&i.markDeleted(),e.keep&&(i.keep=!0),null!==e.redone&&(i.redone=rt(e.redone.client,e.redone.clock+r)),e.right=i,null!==i.right&&(i.right.left=i),t._mergeStructs.push(i),null!==i.parentSub&&null===i.right&&i.parent._map.set(i.parentSub,i),e.length=r,i};class Xe extends Te{constructor(t,e,r,n,s,i,o,c){super(t,c.getLength()),this.origin=r,this.left=e,this.right=n,this.rightOrigin=s,this.parent=i,this.parentSub=o,this.redone=null,this.content=c,this.info=this.content.isCountable()?p.BIT2:0}set marker(t){(this.info&p.BIT4)>0!==t&&(this.info^=p.BIT4)}get marker(){return(this.info&p.BIT4)>0}get keep(){return(this.info&p.BIT1)>0}set keep(t){this.keep!==t&&(this.info^=p.BIT1)}get countable(){return(this.info&p.BIT2)>0}get deleted(){return(this.info&p.BIT3)>0}set deleted(t){this.deleted!==t&&(this.info^=p.BIT3)}markDeleted(){this.info|=p.BIT3}getMissing(t,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=lt(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=lt(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===tt&&this.id.client!==this.parent.client&&this.parent.clock>=lt(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=ft(t,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=gt(t,this.rightOrigin),this.rightOrigin=this.right.id),(this.left&&this.left.constructor===Ue||this.right&&this.right.constructor===Ue)&&(this.parent=null),this.parent){if(this.parent.constructor===tt){const t=dt(e,this.parent);t.constructor===Ue?this.parent=null:this.parent=t.content.type}}else this.left&&this.left.constructor===Xe&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===Xe&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(t,e){if(e>0&&(this.id.clock+=e,this.left=ft(t,t.doc.store,rt(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,r=this.left;if(null!==r)e=r.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,s=new Set;for(;null!==e&&e!==this.right;){if(s.add(e),n.add(e),et(this.origin,e.origin)){if(e.id.client<this.id.client)r=e,n.clear();else if(et(this.rightOrigin,e.rightOrigin))break}else{if(null===e.origin||!s.has(dt(t.doc.store,e.origin)))break;n.has(dt(t.doc.store,e.origin))||(r=e,n.clear())}e=e.right}this.left=r}if(null!==this.left){const t=this.left.right;this.right=t,this.left.right=this}else{let t;if(null!==this.parentSub)for(t=this.parent._map.get(this.parentSub)||null;null!==t&&null!==t.left;)t=t.left;else t=this.parent._start,this.parent._start=this;this.right=t}null!==this.right?this.right.left=this:null!==this.parentSub&&(this.parent._map.set(this.parentSub,this),null!==this.left&&this.left.delete(t)),null===this.parentSub&&this.countable&&!this.deleted&&(this.parent._length+=this.length),at(t.doc.store,this),this.content.integrate(t,this),yt(t,this.parent,this.parentSub),(null!==this.parent._item&&this.parent._item.deleted||null!==this.parentSub&&null!==this.right)&&this.delete(t)}else new Ue(this.id,this.length).integrate(t,0)}get next(){let t=this.right;for(;null!==t&&t.deleted;)t=t.right;return t}get prev(){let t=this.left;for(;null!==t&&t.deleted;)t=t.left;return t}get lastId(){return 1===this.length?this.id:rt(this.id.client,this.id.clock+this.length-1)}mergeWith(t){if(this.constructor===t.constructor&&et(t.origin,this.lastId)&&this.right===t&&et(this.rightOrigin,t.rightOrigin)&&this.id.client===t.id.client&&this.id.clock+this.length===t.id.clock&&this.deleted===t.deleted&&null===this.redone&&null===t.redone&&this.content.constructor===t.content.constructor&&this.content.mergeWith(t.content)){const e=this.parent._searchMarker;return e&&e.forEach((e=>{e.p===t&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),t.keep&&(this.keep=!0),this.right=t.right,null!==this.right&&(this.right.left=this),this.length+=t.length,!0}return!1}delete(t){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),T(t.deleteSet,this.id.client,this.id.clock,this.length),yt(t,e,this.parentSub),this.content.delete(t)}}gc(t,e){if(!this.deleted)throw f.unexpectedCase();this.content.gc(t),e?((t,e,r)=>{const n=t.clients.get(e.id.client);n[ht(n,e.id.clock)]=r})(t,this,new Ue(this.id,this.length)):this.content=new Ie(this.length)}write(t,e){const r=e>0?rt(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,s=this.parentSub,i=this.content.getRef()&p.BITS5|(null===r?0:p.BIT8)|(null===n?0:p.BIT7)|(null===s?0:p.BIT6);if(t.writeInfo(i),null!==r&&t.writeLeftID(r),null!==n&&t.writeRightID(n),null===r&&null===n){const e=this.parent;if(void 0!==e._item){const r=e._item;if(null===r){const r=(t=>{for(const[e,r]of t.doc.share.entries())if(r===t)return e;throw f.unexpectedCase()})(e);t.writeParentInfo(!0),t.writeString(r)}else t.writeParentInfo(!1),t.writeLeftID(r.id)}else e.constructor===String?(t.writeParentInfo(!0),t.writeString(e)):e.constructor===tt?(t.writeParentInfo(!1),t.writeLeftID(e)):f.unexpectedCase();null!==s&&t.writeString(s)}this.content.write(t,e)}}const Ke=(t,e)=>Ye[e&p.BITS5](t),Ye=[()=>{f.unexpectedCase()},t=>new Ie(t.readLen()),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++){const e=t.readString();"undefined"===e?r.push(void 0):r.push(JSON.parse(e))}return new Re(r)},t=>new ve(t.readBuf()),t=>new Le(t.readString()),t=>new Me(t.readJSON()),t=>new Ne(t.readKey(),t.readJSON()),t=>new Ge(Je[t.readTypeRef()](t)),t=>{const e=t.readLen(),r=[];for(let n=0;n<e;n++)r.push(t.readAny());return new Be(r)},t=>new Ve(Oe(t.readString(),t.readAny())),()=>{f.unexpectedCase()}];class Qe extends Te{get deleted(){return!0}delete(){}mergeWith(t){return this.constructor===t.constructor&&(this.length+=t.length,!0)}integrate(t,e){f.unexpectedCase()}write(t,e){t.writeInfo(10),a.writeVarUint(t.restEncoder,this.length-e)}getMissing(t,e){return null}}const Ze="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};!0===Ze["__ $YJS$ __"]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Ze["__ $YJS$ __"]=!0})),r.register("8Gyr5",(function(e,n){t(e.exports,"Observable",(()=>c));var s=r("96q9T"),i=r("5zT0w"),o=r("9GMWx");class c{constructor(){this._observers=s.create()}on(t,e){s.setIfUndefined(this._observers,t,i.create).add(e)}once(t,e){const r=(...n)=>{this.off(t,r),e(...n)};this.on(t,r)}off(t,e){const r=this._observers.get(t);void 0!==r&&(r.delete(e),0===r.size&&this._observers.delete(t))}emit(t,e){return o.from((this._observers.get(t)||s.create()).values()).forEach((t=>t(...e)))}destroy(){this._observers=s.create()}}})),r.register("96q9T",(function(e,r){t(e.exports,"create",(()=>n)),t(e.exports,"copy",(()=>s)),t(e.exports,"setIfUndefined",(()=>i)),t(e.exports,"map",(()=>o)),t(e.exports,"any",(()=>c));const n=()=>new Map,s=t=>{const e=n();return t.forEach(((t,r)=>{e.set(r,t)})),e},i=(t,e,r)=>{let n=t.get(e);return void 0===n&&t.set(e,n=r()),n},o=(t,e)=>{const r=[];for(const[n,s]of t)r.push(e(s,n));return r},c=(t,e)=>{for(const[r,n]of t)if(e(n,r))return!0;return!1}})),r.register("5zT0w",(function(e,r){t(e.exports,"create",(()=>n));const n=()=>new Set})),r.register("9GMWx",(function(e,r){t(e.exports,"last",(()=>n)),t(e.exports,"appendTo",(()=>s)),t(e.exports,"from",(()=>i)),t(e.exports,"equalFlat",(()=>o)),t(e.exports,"isArray",(()=>c));const n=t=>t[t.length-1],s=(t,e)=>{for(let r=0;r<e.length;r++)t.push(e[r])},i=Array.from,o=(t,e)=>{return t.length===e.length&&(r=(t,r)=>t===e[r],t.every(r));var r},c=Array.isArray})),r.register("bGsfJ",(function(e,r){t(e.exports,"floor",(()=>n)),t(e.exports,"abs",(()=>s)),t(e.exports,"round",(()=>i)),t(e.exports,"log10",(()=>o)),t(e.exports,"min",(()=>c)),t(e.exports,"max",(()=>l)),t(e.exports,"exp10",(()=>a)),t(e.exports,"isNegativeZero",(()=>h));const n=Math.floor,s=(Math.ceil,Math.abs),i=(Math.imul,Math.round),o=Math.log10,c=(Math.log2,Math.log,Math.sqrt,(t,e)=>t<e?t:e),l=(t,e)=>t>e?t:e,a=(Number.isNaN,Math.pow,t=>Math.pow(10,t)),h=(Math.sign,t=>0!==t?t<0:1/t<0)})),r.register("7BTJz",(function(e,n){t(e.exports,"createEncoder",(()=>h)),t(e.exports,"toUint8Array",(()=>d)),t(e.exports,"writeUint8",(()=>g)),t(e.exports,"writeVarUint",(()=>f)),t(e.exports,"writeVarInt",(()=>p)),t(e.exports,"writeVarUint8Array",(()=>_)),t(e.exports,"writeVarString",(()=>y)),t(e.exports,"writeBinaryEncoder",(()=>b)),t(e.exports,"writeUint8Array",(()=>k)),t(e.exports,"writeAny",(()=>C)),t(e.exports,"RleEncoder",(()=>E)),t(e.exports,"UintOptRleEncoder",(()=>A)),t(e.exports,"IntDiffOptRleEncoder",(()=>U)),t(e.exports,"StringEncoder",(()=>v));var s=r("jx2H5"),i=r("bGsfJ"),o=r("5es75"),c=r("bcXZT"),l=r("8drkQ");class a{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const h=()=>new a,d=t=>{const e=new Uint8Array((t=>{let e=t.cpos;for(let r=0;r<t.bufs.length;r++)e+=t.bufs[r].length;return e})(t));let r=0;for(let n=0;n<t.bufs.length;n++){const s=t.bufs[n];e.set(s,r),r+=s.length}return e.set(s.createUint8ArrayViewFromArrayBuffer(t.cbuf.buffer,0,t.cpos),r),e},u=(t,e)=>{const r=t.cbuf.length;t.cpos===r&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(2*r),t.cpos=0),t.cbuf[t.cpos++]=e},g=u,f=(t,e)=>{for(;e>c.BITS7;)u(t,c.BIT8|c.BITS7&e),e=i.floor(e/128);u(t,c.BITS7&e)},p=(t,e)=>{const r=i.isNegativeZero(e);for(r&&(e=-e),u(t,(e>c.BITS6?c.BIT8:0)|(r?c.BIT7:0)|c.BITS6&e),e=i.floor(e/64);e>0;)u(t,(e>c.BITS7?c.BIT8:0)|c.BITS7&e),e=i.floor(e/128)},w=new Uint8Array(3e4),m=w.length/3,y=l.utf8TextEncoder&&l.utf8TextEncoder.encodeInto?(t,e)=>{if(e.length<m){const r=l.utf8TextEncoder.encodeInto(e,w).written||0;f(t,r);for(let e=0;e<r;e++)u(t,w[e])}else _(t,l.encodeUtf8(e))}:(t,e)=>{const r=unescape(encodeURIComponent(e)),n=r.length;f(t,n);for(let e=0;e<n;e++)u(t,r.codePointAt(e))},b=(t,e)=>k(t,d(e)),k=(t,e)=>{const r=t.cbuf.length,n=t.cpos,s=i.min(r-n,e.length),o=e.length-s;t.cbuf.set(e.subarray(0,s),n),t.cpos+=s,o>0&&(t.bufs.push(t.cbuf),t.cbuf=new Uint8Array(i.max(2*r,o)),t.cbuf.set(e.subarray(s)),t.cpos=o)},_=(t,e)=>{f(t,e.byteLength),k(t,e)},S=(t,e)=>{((t,e)=>{const r=t.cbuf.length;r-t.cpos<e&&(t.bufs.push(s.createUint8ArrayViewFromArrayBuffer(t.cbuf.buffer,0,t.cpos)),t.cbuf=new Uint8Array(2*i.max(r,e)),t.cpos=0)})(t,e);const r=new DataView(t.cbuf.buffer,t.cpos,e);return t.cpos+=e,r},x=new DataView(new ArrayBuffer(4)),C=(t,e)=>{switch(typeof e){case"string":u(t,119),y(t,e);break;case"number":o.isInteger(e)&&i.abs(e)<=c.BITS31?(u(t,125),p(t,e)):(r=e,x.setFloat32(0,r),x.getFloat32(0)===r?(u(t,124),((t,e)=>{S(t,4).setFloat32(0,e,!1)})(t,e)):(u(t,123),((t,e)=>{S(t,8).setFloat64(0,e,!1)})(t,e)));break;case"bigint":u(t,122),((t,e)=>{S(t,8).setBigInt64(0,e,!1)})(t,e);break;case"object":if(null===e)u(t,126);else if(e instanceof Array){u(t,117),f(t,e.length);for(let r=0;r<e.length;r++)C(t,e[r])}else if(e instanceof Uint8Array)u(t,116),_(t,e);else{u(t,118);const r=Object.keys(e);f(t,r.length);for(let n=0;n<r.length;n++){const s=r[n];y(t,s),C(t,e[s])}}break;case"boolean":u(t,e?120:121);break;default:u(t,127)}var r};class E extends a{constructor(t){super(),this.w=t,this.s=null,this.count=0}write(t){this.s===t?this.count++:(this.count>0&&f(this,this.count-1),this.count=1,this.w(this,t),this.s=t)}}const D=t=>{t.count>0&&(p(t.encoder,1===t.count?t.s:-t.s),t.count>1&&f(t.encoder,t.count-2))};class A{constructor(){this.encoder=new a,this.s=0,this.count=0}write(t){this.s===t?this.count++:(D(this),this.count=1,this.s=t)}toUint8Array(){return D(this),d(this.encoder)}}const T=t=>{if(t.count>0){const e=2*t.diff+(1===t.count?0:1);p(t.encoder,e),t.count>1&&f(t.encoder,t.count-2)}};class U{constructor(){this.encoder=new a,this.s=0,this.count=0,this.diff=0}write(t){this.diff===t-this.s?(this.s=t,this.count++):(T(this),this.count=1,this.diff=t-this.s,this.s=t)}toUint8Array(){return T(this),d(this.encoder)}}class v{constructor(){this.sarr=[],this.s="",this.lensE=new A}write(t){this.s+=t,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(t.length)}toUint8Array(){const t=new a;return this.sarr.push(this.s),this.s="",y(t,this.sarr.join("")),k(t,this.lensE.toUint8Array()),d(t)}}})),r.register("jx2H5",(function(e,n){t(e.exports,"createUint8ArrayViewFromArrayBuffer",(()=>i)),t(e.exports,"copyUint8Array",(()=>o));r("8drkQ");var s=r("isVtz");r("7BTJz"),r("l5188"),r("laHbQ").Buffer;const i=(t,e,r)=>new Uint8Array(t,e,r),o=(s.isBrowser,s.isBrowser,t=>{const e=(t=>new Uint8Array(t))(t.byteLength);return e.set(t),e})})),r.register("8drkQ",(function(e,r){t(e.exports,"fromCharCode",(()=>n)),t(e.exports,"fromCamelCase",(()=>o)),t(e.exports,"utf8TextEncoder",(()=>c)),t(e.exports,"encodeUtf8",(()=>l)),t(e.exports,"utf8TextDecoder",(()=>a));const n=String.fromCharCode,s=(String.fromCodePoint,/^\s*/g),i=/([A-Z])/g,o=(t,e)=>(t=>t.replace(s,""))(t.replace(i,(t=>`${e}${(t=>t.toLowerCase())(t)}`))),c="undefined"!=typeof TextEncoder?new TextEncoder:null,l=c?t=>c.encode(t):t=>{const e=unescape(encodeURIComponent(t)),r=e.length,n=new Uint8Array(r);for(let t=0;t<r;t++)n[t]=e.codePointAt(t);return n};let a="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8",{fatal:!0,ignoreBOM:!0});a&&1===a.decode(new Uint8Array).length&&(a=null)})),r.register("isVtz",(function(e,n){t(e.exports,"isNode",(()=>h)),t(e.exports,"isBrowser",(()=>d)),t(e.exports,"getVariable",(()=>p)),t(e.exports,"supportsColor",(()=>m));var s=r("96q9T"),i=r("8drkQ"),o=r("9xF6A"),c=r("hpXBJ"),l=r("4H1bc"),a=r("b3MRX");const h=void 0!==a&&a.release&&/node|io\.js/.test(a.release.name),d="undefined"!=typeof window&&!h;let u;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const g=[],f=t=>(()=>{if(void 0===u)if(h){u=s.create();const t=a.argv;let e=null;for(let r=0;r<t.length;r++){const n=t[r];"-"===n[0]?(null!==e&&u.set(e,""),e=n):null!==e?(u.set(e,n),e=null):g.push(n)}null!==e&&u.set(e,"")}else"object"==typeof location?(u=s.create(),(location.search||"?").slice(1).split("&").forEach((t=>{if(0!==t.length){const[e,r]=t.split("=");u.set(`--${i.fromCamelCase(e,"-")}`,r),u.set(`-${i.fromCamelCase(e,"-")}`,r)}}))):u=s.create();return u})().has(t),p=t=>h?o.undefinedToNull(a.env[t.toUpperCase()]):o.undefinedToNull(c.varStorage.getItem(t));f("--"+"production")||p("production");const w=h&&l.isOneOf(void 0,["true","1","2"]),m=!f("no-colors")&&(!h||a.stdout.isTTY||w)&&(!h||f("color")||w||null!==p("COLORTERM")||(p("TERM")||"").includes("color"))})),r.register("9xF6A",(function(e,r){t(e.exports,"undefinedToNull",(()=>n));const n=t=>void 0===t?null:t})),r.register("hpXBJ",(function(e,r){t(e.exports,"varStorage",(()=>i));let n=new class{constructor(){this.map=new Map}setItem(t,e){this.map.set(t,e)}getItem(t){return this.map.get(t)}},s=!0;try{"undefined"!=typeof localStorage&&(n=localStorage,s=!1)}catch(t){}const i=n})),r.register("4H1bc",(function(e,n){t(e.exports,"callAll",(()=>s)),t(e.exports,"nop",(()=>i)),t(e.exports,"isOneOf",(()=>o)),r("9GMWx"),r("7C9F2");const s=(t,e,r=0)=>{try{for(;r<t.length;r++)t[r](...e)}finally{r<t.length&&s(t,e,r+1)}},i=()=>{},o=(t,e)=>e.includes(t)})),r.register("7C9F2",(function(e,r){t(e.exports,"length",(()=>s)),t(e.exports,"hasProperty",(()=>i)),t(e.exports,"equalFlat",(()=>o)),Object.assign;const n=Object.keys,s=t=>n(t).length,i=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o=(t,e)=>t===e||s(t)===s(e)&&((t,e)=>{for(const r in t)if(!e(t[r],r))return!1;return!0})(t,((t,r)=>(void 0!==t||i(e,r))&&e[r]===t))})),r.register("b3MRX",(function(t,e){var r,n,s=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function c(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(t){r=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var l,a=[],h=!1,d=-1;function u(){h&&l&&(h=!1,l.length?a=l.concat(a):d=-1,a.length&&g())}function g(){if(!h){var t=c(u);h=!0;for(var e=a.length;e;){for(l=a,a=[];++d<e;)l&&l[d].run();d=-1,e=a.length}l=null,h=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function f(t,e){this.fun=t,this.array=e}function p(){}s.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];a.push(new f(t,e)),1!==a.length||h||c(g)},f.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={},s.on=p,s.addListener=p,s.once=p,s.off=p,s.removeListener=p,s.removeAllListeners=p,s.emit=p,s.prependListener=p,s.prependOnceListener=p,s.listeners=function(t){return[]},s.binding=function(t){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(t){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}})),r.register("l5188",(function(e,n){t(e.exports,"createDecoder",(()=>g)),t(e.exports,"hasContent",(()=>f)),t(e.exports,"readVarUint8Array",(()=>p)),t(e.exports,"readVarUint",(()=>m)),t(e.exports,"readUint8",(()=>w)),t(e.exports,"readVarInt",(()=>y)),t(e.exports,"readVarString",(()=>b)),t(e.exports,"readAny",(()=>S)),t(e.exports,"RleDecoder",(()=>x)),t(e.exports,"UintOptRleDecoder",(()=>C)),t(e.exports,"IntDiffOptRleDecoder",(()=>E)),t(e.exports,"StringDecoder",(()=>D));var s=r("jx2H5"),i=r("bcXZT"),o=r("bGsfJ"),c=r("5es75"),l=r("8drkQ"),a=r("3Y8uz");const h=a.create("Unexpected end of array"),d=a.create("Integer out of Range");class u{constructor(t){this.arr=t,this.pos=0}}const g=t=>new u(t),f=t=>t.pos!==t.arr.length,p=t=>((t,e)=>{const r=s.createUint8ArrayViewFromArrayBuffer(t.arr.buffer,t.pos+t.arr.byteOffset,e);return t.pos+=e,r})(t,m(t)),w=t=>t.arr[t.pos++],m=t=>{let e=0,r=1;const n=t.arr.length;for(;t.pos<n;){const n=t.arr[t.pos++];if(e+=(n&i.BITS7)*r,r*=128,n<i.BIT8)return e;if(e>c.MAX_SAFE_INTEGER)throw d}throw h},y=t=>{let e=t.arr[t.pos++],r=e&i.BITS6,n=64;const s=(e&i.BIT7)>0?-1:1;if(0==(e&i.BIT8))return s*r;const o=t.arr.length;for(;t.pos<o;){if(e=t.arr[t.pos++],r+=(e&i.BITS7)*n,n*=128,e<i.BIT8)return s*r;if(r>c.MAX_SAFE_INTEGER)throw d}throw h},b=l.utf8TextDecoder?t=>l.utf8TextDecoder.decode(p(t)):t=>{let e=m(t);if(0===e)return"";{let r=String.fromCodePoint(w(t));if(--e<100)for(;e--;)r+=String.fromCodePoint(w(t));else for(;e>0;){const n=e<1e4?e:1e4,s=t.arr.subarray(t.pos,t.pos+n);t.pos+=n,r+=String.fromCodePoint.apply(null,s),e-=n}return decodeURIComponent(escape(r))}},k=(t,e)=>{const r=new DataView(t.arr.buffer,t.arr.byteOffset+t.pos,e);return t.pos+=e,r},_=[t=>{},t=>null,y,t=>k(t,4).getFloat32(0,!1),t=>k(t,8).getFloat64(0,!1),t=>k(t,8).getBigInt64(0,!1),t=>!1,t=>!0,b,t=>{const e=m(t),r={};for(let n=0;n<e;n++)r[b(t)]=S(t);return r},t=>{const e=m(t),r=[];for(let n=0;n<e;n++)r.push(S(t));return r},p],S=t=>_[127-w(t)](t);class x extends u{constructor(t,e){super(t),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),f(this)?this.count=m(this)+1:this.count=-1),this.count--,this.s}}class C extends u{constructor(t){super(t),this.s=0,this.count=0}read(){if(0===this.count){this.s=y(this);const t=o.isNegativeZero(this.s);this.count=1,t&&(this.s=-this.s,this.count=m(this)+2)}return this.count--,this.s}}class E extends u{constructor(t){super(t),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const t=y(this),e=1&t;this.diff=o.floor(t/2),this.count=1,e&&(this.count=m(this)+2)}return this.s+=this.diff,this.count--,this.s}}class D{constructor(t){this.decoder=new C(t),this.str=b(this.decoder),this.spos=0}read(){const t=this.spos+this.decoder.read(),e=this.str.slice(this.spos,t);return this.spos=t,e}}})),r.register("bcXZT",(function(e,r){t(e.exports,"BIT1",(()=>n)),t(e.exports,"BIT2",(()=>s)),t(e.exports,"BIT3",(()=>i)),t(e.exports,"BIT4",(()=>o)),t(e.exports,"BIT6",(()=>c)),t(e.exports,"BIT7",(()=>l)),t(e.exports,"BIT8",(()=>a)),t(e.exports,"BITS5",(()=>h)),t(e.exports,"BITS6",(()=>d)),t(e.exports,"BITS7",(()=>u)),t(e.exports,"BITS8",(()=>g)),t(e.exports,"BITS21",(()=>f)),t(e.exports,"BITS31",(()=>p)),t(e.exports,"BITS32",(()=>w));const n=1,s=2,i=4,o=8,c=32,l=64,a=128,h=31,d=63,u=127,g=255,f=2097151,p=2147483647,w=4294967295})),r.register("5es75",(function(e,n){t(e.exports,"MAX_SAFE_INTEGER",(()=>o)),t(e.exports,"isInteger",(()=>c));var s=r("bGsfJ"),i=r("bcXZT");const o=Number.MAX_SAFE_INTEGER,c=(Number.MIN_SAFE_INTEGER,i.BITS31,Number.isInteger||(t=>"number"==typeof t&&isFinite(t)&&s.floor(t)===t));Number.isNaN,Number.parseInt})),r.register("3Y8uz",(function(e,r){t(e.exports,"create",(()=>n)),t(e.exports,"methodUnimplemented",(()=>s)),t(e.exports,"unexpectedCase",(()=>i));const n=t=>new Error(t),s=()=>{throw n("Method unimplemented")},i=()=>{throw n("Unexpected case")}})),r.register("ouOhr",(function(e,n){t(e.exports,"uint32",(()=>i)),t(e.exports,"uuidv4",(()=>o)),r("bGsfJ"),r("bcXZT");var s=r("jn792");Math.random;const i=()=>new Uint32Array((0,s.cryptoRandomBuffer)(4))[0],o=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(t=>(t^i()&15>>t/4).toString(16)))})),r.register("jn792",(function(e,r){t(e.exports,"cryptoRandomBuffer",(()=>s)),"undefined"==typeof window||void 0!==window.performance&&window.performance;const n="undefined"==typeof crypto?null:crypto,s=null!==n?t=>{const e=new ArrayBuffer(t),r=new Uint8Array(e);return n.getRandomValues(r),e}:t=>{const e=new ArrayBuffer(t),r=new Uint8Array(e);for(let e=0;e<t;e++)r[e]=Math.ceil(4294967295*Math.random()>>>0);return e}})),r.register("fJEwH",(function(e,n){t(e.exports,"create",(()=>s)),r("16gRh");const s=t=>new Promise(t)})),r.register("16gRh",(function(e,n){t(e.exports,"getUnixTime",(()=>s)),r("cdEUL"),r("bGsfJ");const s=Date.now})),r.register("cdEUL",(function(e,n){t(e.exports,"prefix",(()=>c));var s=r("bGsfJ");const i=["","k","M","G","T","P","E","Z","Y"],o=["","m","μ","n","p","f","a","z","y"],c=(t,e=0)=>{const r=0===t?0:s.log10(t);let n=0;for(;r<3*n&&e>-8;)e--,n--;for(;r>=3+3*n&&e<8;)e++,n++;const c=e<0?o[-e]:i[e];return{n:s.round(1e12*(n>0?t/s.exp10(3*n):t*s.exp10(-3*n)))/1e12,prefix:c}}})),r.register("9hwjE",(function(e,n){t(e.exports,"BOLD",(()=>h)),t(e.exports,"UNBOLD",(()=>d)),t(e.exports,"RED",(()=>p)),t(e.exports,"ORANGE",(()=>m)),t(e.exports,"print",(()=>S));var s=r("isVtz"),i=r("9Juxm"),o=r("2djb1"),c=r("8kkbA"),l=(r("kQNaO"),r("96q9T")),a=(r("kdpDU"),r("bGsfJ"),r("16gRh"));r("4H1bc");const h=i.create(),d=i.create(),u=i.create(),g=i.create(),f=i.create(),p=i.create(),w=i.create(),m=i.create(),y=i.create(),b={[h]:o.create("font-weight","bold"),[d]:o.create("font-weight","normal"),[u]:o.create("color","blue"),[f]:o.create("color","green"),[g]:o.create("color","grey"),[p]:o.create("color","red"),[w]:o.create("color","purple"),[m]:o.create("color","orange"),[y]:o.create("color","black")},k={[h]:"[1m",[d]:"[2m",[u]:"[34m",[f]:"[32m",[g]:"[37m",[p]:"[31m",[w]:"[35m",[m]:"[38;5;208m",[y]:"[0m"},_=s.supportsColor?s.isNode?t=>{const e=[],r=[];let n=0;for(;n<t.length;n++){const r=t[n],s=k[r];if(void 0!==s)e.push(s);else{if(r.constructor!==String&&r.constructor!==Number)break;e.push(r)}}for(n>0&&(e.push("[0m"),r.push(e.join("")));n<t.length;n++){const e=t[n];e instanceof Symbol||r.push(e)}return r}:t=>{const e=[],r=[],n=l.create();let s=[],i=0;for(;i<t.length;i++){const s=t[i],o=b[s];if(void 0!==o)n.set(o.left,o.right);else{if(s.constructor!==String&&s.constructor!==Number)break;{const t=c.mapToStyleString(n);i>0||t.length>0?(e.push("%c"+s),r.push(t)):e.push(s)}}}for(i>0&&(s=r,s.unshift(e.join("")));i<t.length;i++){const e=t[i];e instanceof Symbol||s.push(e)}return s}:t=>{const e=[],r=[];let n=0;for(;n<t.length;n++){const r=t[n];if(void 0===k[r]){if(r.constructor!==String&&r.constructor!==Number)break;e.push(r)}}for(n>0&&r.push(e.join(""));n<t.length;n++){const e=t[n];e instanceof Symbol||(e.constructor===Object?r.push(JSON.stringify(e)):r.push(e))}return r},S=(...t)=>{console.log(..._(t)),x.forEach((e=>e.print(t)))},x=new Set;a.getUnixTime()})),r.register("9Juxm",(function(e,r){t(e.exports,"create",(()=>n));const n=Symbol})),r.register("2djb1",(function(e,r){t(e.exports,"create",(()=>s)),t(e.exports,"forEach",(()=>i));class n{constructor(t,e){this.left=t,this.right=e}}const s=(t,e)=>new n(t,e),i=(t,e)=>t.forEach((t=>e(t.left,t.right)))})),r.register("8kkbA",(function(e,n){t(e.exports,"append",(()=>l)),t(e.exports,"addEventListener",(()=>a)),t(e.exports,"element",(()=>h)),t(e.exports,"text",(()=>d)),t(e.exports,"mapToStyleString",(()=>u));var s=r("2djb1"),i=r("96q9T");const o="undefined"!=typeof document?document:{},c=("undefined"!=typeof DOMParser&&new DOMParser,t=>{const e=o.createDocumentFragment();for(let r=0;r<t.length;r++)g(e,t[r]);return e}),l=(t,e)=>(g(t,c(e)),t),a=(t,e,r)=>t.addEventListener(e,r),h=(t,e=[],r=[])=>l(((t,e)=>(s.forEach(e,((e,r)=>{!1===r?t.removeAttribute(e):!0===r?t.setAttribute(e,""):t.setAttribute(e,r)})),t))((t=>o.createElement(t))(t),e),r),d=t=>o.createTextNode(t),u=t=>i.map(t,((t,e)=>`${e}:${t};`)).join(""),g=(t,e)=>t.appendChild(e);o.ELEMENT_NODE,o.TEXT_NODE,o.CDATA_SECTION_NODE,o.COMMENT_NODE,o.DOCUMENT_NODE,o.DOCUMENT_TYPE_NODE,o.DOCUMENT_FRAGMENT_NODE})),r.register("kQNaO",(function(e,r){t(e.exports,"stringify",(()=>n));const n=JSON.stringify;JSON.parse})),r.register("kdpDU",(function(e,r){t(e.exports,"enqueue",(()=>i));let n=[];const s=()=>{for(let t=0;t<n.length;t++)n[t]();n=[]},i=t=>{n.push(t),1===n.length&&setTimeout(s,0)},o=t=>class{constructor(t){this._=t}destroy(){t(this._)}};o(clearTimeout),o(clearInterval),o((t=>"undefined"!=typeof requestAnimationFrame&&cancelAnimationFrame(t))),o((t=>"undefined"!=typeof cancelIdleCallback&&cancelIdleCallback(t)))})),r.register("iRxFz",(function(e,r){t(e.exports,"iteratorFilter",(()=>s)),t(e.exports,"iteratorMap",(()=>i));const n=t=>({[Symbol.iterator](){return this},next:t}),s=(t,e)=>n((()=>{let r;do{r=t.next()}while(!r.done&&!e(r.value));return r})),i=(t,e)=>n((()=>{const{done:r,value:n}=t.next();return{done:r,value:r?void 0:e(n)}}))})),r.register("7X7lt",(function(e,n){t(e.exports,"YKeyValue",(()=>i));var s=r("8Gyr5");class i extends s.Observable{constructor(t){super(),this.yarray=t,this.doc=t.doc,this.map=new Map;{const e=t.toArray();this.doc.transact((r=>{for(let r=e.length-1;r>=0;r--){const n=e[r];this.map.has(n.key)?t.delete(r):this.map.set(n.key,n)}}))}t.observe((e=>{const r=new Map,n=Array.from(e.changes.added);e.changes.deleted.forEach((t=>{t.content.getContent().forEach((t=>{this.map.get(t.key)===t&&(this.map.delete(t.key),r.set(t.key,{action:"delete",oldValue:t.val}))}))}));const s=new Map;n.map((t=>t.content.getContent())).flat().forEach((t=>{s.set(t.key,t)}));const i=new Set,o=t.toArray();this.doc.transact((e=>{for(let e=o.length-1;e>=0&&(s.size>0||i.size>0);e--){const n=o[e];if(i.has(n.key))i.delete(n.key),t.delete(e,1);else if(s.get(n.key)===n){const t=this.map.get(n.key);if(t)i.add(n.key),r.set(n.key,{action:"update",oldValue:t.val,newValue:n.val});else{const t=r.get(n.key);t&&"delete"===t.action?r.set(n.key,{action:"update",newValue:n.val,oldValue:t.oldValue}):r.set(n.key,{action:"add",newValue:n.val})}s.delete(n.key),this.map.set(n.key,n)}else s.has(n.key)&&(i.add(n.key),s.delete(n.key))}})),r.size>0&&this.emit("change",[r])}))}set(t,e){this.doc.transact((r=>{this.map.has(t)&&this.delete(t),this.yarray.push([{key:t,val:e}])}))}delete(t){let e=0;for(const r of this.yarray){if(r.key===t){this.yarray.delete(e);break}e++}}get(t){const e=this.map.get(t);return e&&e.val}has(t){return this.map.has(t)}}})),r.register("gjWRH",(function(e,r){t(e.exports,"encode",(()=>s)),t(e.exports,"decode",(()=>o));const{fromCharCode:n}=String,s=t=>{const e=[];for(let r=0,{length:s}=t;r<s;r++)e.push(n(t[r]));return btoa(e.join(""))},i=t=>t.charCodeAt(0),o=t=>Uint8Array.from(atob(t),i)}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,e,n,r){Object.defineProperty(t,e,{get:n,set:r,enumerable:!0,configurable:!0})}var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequirea18f;e.register("cR697",(function(n,r){t(n.exports,"Sync",(()=>i));var s=e("bQEo7"),o=e("kPRWr");Object.defineProperty(Array.prototype,"flat",{value:function(t=1){return this.reduce((function(e,n){return e.concat(Array.isArray(n)&&t>1?n.flat(t-1):n)}),[])}});class i extends s.Sync{store="";gunServer=[];persistent=!1;destroy(){this.gunServer=[],delete this.gun,super.destroy()}uniqueID(){const t=super.uniqueID();return t?btoa(t+(this.persistent?"p":"")):null}async connect(t){super.connect(t),this.gunServer=t.config?.urls||[],this.persistent=t.config?.persistent||!1,window.Gun?this.init(!0):this.load(["https://cdn.jsdelivr.net/npm/gun/gun.js",o.Crypto.url],this)}init(t,e){if(0==this.gunServer.length)return this.sendDisconnectError("You have to provide at least one relay server.");const n=this.uniqueID();if(t&&window.Gun&&n){this.gun=window.Gun({peers:this.gunServer}),this.store=n,o.Crypto.init(this.password);let t=this;this.persistent&&this.gun.get(this.store).once((e=>{if(e&&e.msg)try{const[n,r]=o.Crypto.decode(e.msg);setTimeout((function(){t.gun?.get(t.store).put({msg:o.Crypto.encode(["",r])})}),1e3)}catch(t){console.warn("GunDB:",t.message)}})),this.gun.get(this.store).on((function(e,n){try{const[n,r]=o.Crypto.decode(e.msg);n!=t.token&&null!=r&&t.applyUpdate(s.base64_to_unit8(r))}catch(t){console.warn("GunDB",t.message)}})),this.persistent||this.broadcast(null),this.sendConnect()}else{let t="GunDB unknown error";e?t="Could not load resource: "+e:window.Gun||(t="Could not load GunDB interface"),this.sendDisconnectError(t)}}broadcast(t){if(this.gun){const e=null==t?null:s.uint8_to_base64(t);this.gun.get(this.store).put({msg:o.Crypto.encode([this.token,e])})}}}})),e.register("kPRWr",(function(e,n){t(e.exports,"Crypto",(()=>r));const r={url:"https://cdn.jsdelivr.net/npm/simple-crypto-js@2.5.0/dist/SimpleCrypto.min.js",crypt:null,check:function(){return!!window.SimpleCrypto},init:function(t){try{"string"==typeof t&&t.length>0?this.crypt=new SimpleCrypto(t):this.crypt=null}catch(t){console.warn("Crypto: ",t),this.crypt=null}},encode:function(t){return this.crypt?this.crypt.encrypt(btoa(encodeURIComponent(JSON.stringify(t)))):JSON.stringify(t)},decode:function(t){return this.crypt?JSON.parse(decodeURIComponent(atob(this.crypt.decrypt(t)))):JSON.parse(t)}}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequirea18f;e.register("bk8IY",(function(n,o){var t,i,s,c;t=n.exports,i="Sync",s=()=>d,Object.defineProperty(t,i,{get:s,set:c,enumerable:!0,configurable:!0});var r=e("bQEo7");class d extends r.Sync{users={};destroy(){this.connection?.disconnect(),super.destroy()}async connect(e){super.connect(e),this.domain=e.config||"meet.jit.si",window.JitsiMeetJS?this.init(!0):this.load(["https://meet.jit.si/libs/lib-jitsi-meet.min.js"],this)}init(e,n){const o=this.uniqueID();if(e&&window.JitsiMeetJS&&o){window.LIA.debug||window.JitsiMeetJS.setLogLevel(window.JitsiMeetJS.logLevels.ERROR),this.connection=new window.JitsiMeetJS.JitsiConnection(null,null,{hosts:{domain:this.domain,muc:`conference.${this.domain}`,focus:`focus.${this.domain}`},configOverwrite:{openBridgeChannel:!1},serviceUrl:`https://${this.domain}/http-bind?room=${btoa(o)}`,clientNode:"http://jitsi.org/jitsimeet"});const e=this;this.connection.addEventListener(window.JitsiMeetJS.events.connection.CONNECTION_ESTABLISHED,(function(){e.conferenceRoom=e.connection.initJitsiConference(btoa(o).toLowerCase(),{configOverwrite:{openBridgeChannel:!1},enableLayerSuspension:!0,p2p:{enabled:!0}}),e.conferenceRoom.setDisplayName(e.token),e.conferenceRoom.on(window.JitsiMeetJS.events.conference.CONFERENCE_JOINED,(()=>{e.sendConnect()})),e.conferenceRoom.on(window.JitsiMeetJS.errors.conference.PASSWORD_REQUIRED,(()=>{e.sendDisconnectError("password required")})),e.conferenceRoom.on(window.JitsiMeetJS.events.conference.USER_JOINED,(n=>{e.users[n]||(e.users[n]=null)})),e.conferenceRoom.on(window.JitsiMeetJS.events.conference.USER_LEFT,(n=>{const o=e.users[n];o&&e.db.removePeer(o),delete e.users[n]})),e.conferenceRoom.on(window.JitsiMeetJS.events.conference.MESSAGE_RECEIVED,((n,o)=>{const t=e.conferenceRoom.getParticipants();for(let o=0;o<t.length;o++)if(n===t[o].getId()){e.users[n]=t[o].getDisplayName();break}e.applyUpdate(r.base64_to_unit8(o))})),e.conferenceRoom.join()})),this.connection.addEventListener(window.JitsiMeetJS.events.connection.CONNECTION_FAILED,(n=>{e.sendDisconnectError("Connection failed"+n)})),this.connection.addEventListener(window.JitsiMeetJS.events.connection.CONNECTION_DISCONNECTED,(n=>{e.disconnect()})),this.connection.connect()}else{let e="Jitsi unknown error";n?e="Could not load resource: "+n:void 0===window.JitsiMeetJS&&(e="Could not load Jitsi interface"),this.sendDisconnectError(e)}}broadcast(e){try{this.conferenceRoom?.sendTextMessage(r.uint8_to_base64(e))}catch(e){console.warn("Jitsi: broadcast =>",e.message)}}}}));
|