@ckeditor/ckeditor5-real-time-collaboration 41.3.0 → 41.3.2
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/build/real-time-collaboration.js +2 -2
- package/package.json +5 -5
- package/src/augmentation.js +1 -1
- package/src/common-translations.js +1 -1
- package/src/index.js +1 -1
- package/src/presencelist/presencelistui.js +1 -1
- package/src/presencelist/view/presencecounterview.js +1 -1
- package/src/presencelist/view/presencedropdownlistitemview.js +1 -1
- package/src/presencelist/view/presencedropdownlistview.js +1 -1
- package/src/presencelist/view/presenceinlinelistitemview.js +1 -1
- package/src/presencelist/view/presenceinlinelistview.js +1 -1
- package/src/presencelist/view/presencelistview.js +1 -1
- package/src/presencelist.js +1 -1
- package/src/realtimecollaborativecomments/cloudservicescommentsadapter.js +1 -1
- package/src/realtimecollaborativecomments.js +1 -1
- package/src/realtimecollaborativeediting/realtimecollaborationclient.js +1 -1
- package/src/realtimecollaborativeediting/sessions.js +1 -1
- package/src/realtimecollaborativeediting/usermarkers.js +1 -1
- package/src/realtimecollaborativeediting/websocketgateway.js +1 -1
- package/src/realtimecollaborativeediting.js +1 -1
- package/src/realtimecollaborativerevisionhistory/cloudservicesrevisionhistoryadapter.js +1 -1
- package/src/realtimecollaborativerevisionhistory.js +1 -1
- package/src/realtimecollaborativetrackchanges/cloudservicestrackchangesadapter.js +1 -1
- package/src/realtimecollaborativetrackchanges.js +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
!function(
|
|
1
|
+
!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{CONNECTED_USERS:["1 connected user (me)","%0 connected users"],PENDING_ACTION_SENDING_DATA:"Sending data to the server.","Synchronization issue":"Synchronization issue","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor."})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
|
|
2
2
|
/*!
|
|
3
3
|
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
4
4
|
* For licensing, see LICENSE.md.
|
|
5
|
-
*/(()=>{var __webpack_modules__={934:(t,e,n)=>{"use strict";t.exports=n(577)},577:(t,e,n)=>{"use strict";var r=e;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(196),r.BufferWriter=n(341),r.Reader=n(40),r.BufferReader=n(385),r.util=n(107),r.rpc=n(352),r.roots=n(42),r.configure=s,s()},40:(t,e,n)=>{"use strict";t.exports=c;var r,s=n(107),o=s.LongBits,i=s.utf8;function a(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function c(t){this.buf=t,this.pos=0,this.len=t.length}var u,d="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new c(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new c(t);throw Error("illegal buffer")},l=function(){return s.Buffer?function(t){return(c.create=function(t){return s.Buffer.isBuffer(t)?new r(t):d(t)})(t)}:d};function p(){var t=new o(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw a(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw a(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function h(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var t=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var t=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},c.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw a(this,t);if(this.pos+=t,Array.isArray(this.buf))return this.buf.slice(e,n);if(e===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,e,n)},c.prototype.string=function(){var t=this.bytes();return i.read(t,0,t.length)},c.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw a(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},c._configure=function(t){r=t,c.create=l(),r._configure();var e=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return p.call(this)[e](!1)},uint64:function(){return p.call(this)[e](!0)},sint64:function(){return p.call(this).zzDecode()[e](!1)},fixed64:function(){return f.call(this)[e](!0)},sfixed64:function(){return f.call(this)[e](!1)}})}},385:(t,e,n)=>{"use strict";t.exports=o;var r=n(40);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(107);function o(t){r.call(this,t)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()},42:t=>{"use strict";t.exports={}},352:(t,e,n)=>{"use strict";e.Service=n(756)},756:(t,e,n)=>{"use strict";t.exports=s;var r=n(107);function s(t,e,n){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function t(e,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(t,a,e,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(e,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(t,n){if(t)return a.emit("error",t,e),i(t);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return a.emit("error",t,e),i(t)}return a.emit("data",n,e),i(null,n)}a.end(!0)}))}catch(t){return a.emit("error",t,e),void setTimeout((function(){i(t)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},s.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},576:(t,e,n)=>{"use strict";t.exports=s;var r=n(107);function s(t,e){this.lo=t>>>0,this.hi=e>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(t){if(0===t)return o;var e=t<0;e&&(t=-t);var n=t>>>0,r=(t-n)/4294967296>>>0;return e&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(t){if("number"==typeof t)return s.fromNumber(t);if(r.isString(t)){if(!r.Long)return s.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new s(t.low>>>0,t.high>>>0):o},s.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var a=String.prototype.charCodeAt;s.fromHash=function(t){return t===i?o:new s((a.call(t,0)|a.call(t,1)<<8|a.call(t,2)<<16|a.call(t,3)<<24)>>>0,(a.call(t,4)|a.call(t,5)<<8|a.call(t,6)<<16|a.call(t,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},s.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},s.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},107:function(t,e,n){"use strict";var r=e;function s(t,e,n){for(var r=Object.keys(e),s=0;s<r.length;++s)void 0!==t[r[s]]&&n||(t[r[s]]=e[r[s]]);return t}function o(t){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&s(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}r.asPromise=n(310),r.base64=n(662),r.EventEmitter=n(707),r.float=n(365),r.inquire=n(230),r.utf8=n(742),r.pool=n(319),r.LongBits=n(576),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return"string"==typeof t||t instanceof String},r.isObject=function(t){return t&&"object"==typeof t},r.isset=r.isSet=function(t,e){var n=t[e];return!(null==n||!t.hasOwnProperty(e))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var t=r.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return"number"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=s,r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},r.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,n){return new t(e,n)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},196:(t,e,n)=>{"use strict";t.exports=l;var r,s=n(107),o=s.LongBits,i=s.base64,a=s.utf8;function c(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function u(){}function d(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(t,e,n){e[n]=255&t}function f(t,e){this.len=t,this.next=void 0,this.val=e}function m(t,e,n){for(;t.hi;)e[n++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[n++]=127&t.lo|128,t.lo=t.lo>>>7;e[n++]=t.lo}function y(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}l.create=p(),l.alloc=function(t){return new s.Array(t)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(t,e,n){return this.tail=this.tail.next=new c(t,e,n),this.len+=e,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},l.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new f((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},l.prototype.int32=function(t){return t<0?this._push(m,10,o.fromNumber(t)):this.uint32(t)},l.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},l.prototype.uint64=function(t){var e=o.from(t);return this._push(m,e.length(),e)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(t){var e=o.from(t).zzEncode();return this._push(m,e.length(),e)},l.prototype.bool=function(t){return this._push(h,1,t?1:0)},l.prototype.fixed32=function(t){return this._push(y,4,t>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(t){var e=o.from(t);return this._push(y,4,e.lo)._push(y,4,e.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(t){return this._push(s.float.writeFloatLE,4,t)},l.prototype.double=function(t){return this._push(s.float.writeDoubleLE,8,t)};var g=s.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var r=0;r<t.length;++r)e[n+r]=t[r]};l.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(h,1,0);if(s.isString(t)){var n=l.alloc(e=i.length(t));i.decode(t,n,0),t=n}return this.uint32(e)._push(g,e,t)},l.prototype.string=function(t){var e=a.length(t);return e?this.uint32(e)._push(a.write,e,t):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},l.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},l._configure=function(t){r=t,l.create=p(),r._configure()}},341:(t,e,n)=>{"use strict";t.exports=o;var r=n(196);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(107);function o(){r.call(this)}function i(t,e,n){t.length<40?s.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var r=0;r<t.length;)e[n++]=t[r++]}},o.prototype.bytes=function(t){s.isString(t)&&(t=s._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(o.writeBytesBuffer,e,t),this},o.prototype.string=function(t){var e=s.Buffer.byteLength(t);return this.uint32(e),e&&this._push(i,e,t),this},o._configure()},310:t=>{"use strict";t.exports=function(t,e){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise((function(s,i){n[r]=function(t){if(o)if(o=!1,t)i(t);else{for(var e=new Array(arguments.length-1),n=0;n<e.length;)e[n++]=arguments[n];s.apply(null,e)}};try{t.apply(e||null,n)}catch(t){o&&(o=!1,i(t))}}))}},662:(t,e)=>{"use strict";var n=e;n.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&"="===t.charAt(e);)++n;return Math.ceil(3*t.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(t,e,n){for(var s,o=null,i=[],a=0,c=0;e<n;){var u=t[e++];switch(c){case 0:i[a++]=r[u>>2],s=(3&u)<<4,c=1;break;case 1:i[a++]=r[s|u>>4],s=(15&u)<<2,c=2;break;case 2:i[a++]=r[s|u>>6],i[a++]=r[63&u],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(t,e,n){for(var r,o=n,a=0,c=0;c<t.length;){var u=t.charCodeAt(c++);if(61===u&&a>1)break;if(void 0===(u=s[u]))throw Error(i);switch(a){case 0:r=u,a=1;break;case 1:e[n++]=r<<2|(48&u)>>4,r=u,a=2;break;case 2:e[n++]=(15&r)<<4|(60&u)>>2,r=u,a=3;break;case 3:e[n++]=(3&r)<<6|u,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},707:t=>{"use strict";function e(){this._listeners={}}t.exports=e,e.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this},e.prototype.off=function(t,e){if(void 0===t)this._listeners={};else if(void 0===e)this._listeners[t]=[];else for(var n=this._listeners[t],r=0;r<n.length;)n[r].fn===e?n.splice(r,1):++r;return this},e.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<e.length;)e[r].fn.apply(e[r++].ctx,n)}return this}},365:t=>{"use strict";function e(t){return"undefined"!=typeof Float32Array?function(){var e=new Float32Array([-0]),n=new Uint8Array(e.buffer),r=128===n[3];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(t,r,s){e[0]=t,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],e[0]}function a(t,r){return n[3]=t[r],n[2]=t[r+1],n[1]=t[r+2],n[0]=t[r+3],e[0]}t.writeFloatLE=r?s:o,t.writeFloatBE=r?o:s,t.readFloatLE=r?i:a,t.readFloatBE=r?a:i}():function(){function e(t,e,n,r){var s=e<0?1:0;if(s&&(e=-e),0===e)t(1/e>0?0:2147483648,n,r);else if(isNaN(e))t(2143289344,n,r);else if(e>34028234663852886e22)t((s<<31|2139095040)>>>0,n,r);else if(e<11754943508222875e-54)t((s<<31|Math.round(e/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(e)/Math.LN2);t((s<<31|o+127<<23|8388607&Math.round(e*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(t,e,n){var r=t(e,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}t.writeFloatLE=e.bind(null,n),t.writeFloatBE=e.bind(null,r),t.readFloatLE=i.bind(null,s),t.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var e=new Float64Array([-0]),n=new Uint8Array(e.buffer),r=128===n[7];function s(t,r,s){e[0]=t,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(t,r,s){e[0]=t,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(t,r){return n[0]=t[r],n[1]=t[r+1],n[2]=t[r+2],n[3]=t[r+3],n[4]=t[r+4],n[5]=t[r+5],n[6]=t[r+6],n[7]=t[r+7],e[0]}function a(t,r){return n[7]=t[r],n[6]=t[r+1],n[5]=t[r+2],n[4]=t[r+3],n[3]=t[r+4],n[2]=t[r+5],n[1]=t[r+6],n[0]=t[r+7],e[0]}t.writeDoubleLE=r?s:o,t.writeDoubleBE=r?o:s,t.readDoubleLE=r?i:a,t.readDoubleBE=r?a:i}():function(){function e(t,e,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)t(0,s,o+e),t(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))t(0,s,o+e),t(2146959360,s,o+n);else if(r>17976931348623157e292)t(0,s,o+e),t((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)t((a=r/5e-324)>>>0,s,o+e),t((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),t(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+e),t((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(t,e,n,r,s){var o=t(r,s+e),i=t(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,u=4294967296*(1048575&i)+o;return 2047===c?u?NaN:a*(1/0):0===c?5e-324*a*u:a*Math.pow(2,c-1075)*(u+4503599627370496)}t.writeDoubleLE=e.bind(null,n,0,4),t.writeDoubleBE=e.bind(null,r,4,0),t.readDoubleLE=i.bind(null,s,0,4),t.readDoubleBE=i.bind(null,o,4,0)}(),t}function n(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}function r(t,e,n){e[n]=t>>>24,e[n+1]=t>>>16&255,e[n+2]=t>>>8&255,e[n+3]=255&t}function s(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function o(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}t.exports=e(e)},230:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}module.exports=inquire},319:t=>{"use strict";t.exports=function(t,e,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return t(n);i+n>r&&(o=t(r),i=0);var a=e.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},742:(t,e)=>{"use strict";var n=e;n.length=function(t){for(var e=0,n=0,r=0;r<t.length;++r)(n=t.charCodeAt(r))<128?e+=1:n<2048?e+=2:55296==(64512&n)&&56320==(64512&t.charCodeAt(r+1))?(++r,e+=4):e+=3;return e},n.read=function(t,e,n){if(n-e<1)return"";for(var r,s=null,o=[],i=0;e<n;)(r=t[e++])<128?o[i++]=r:r>191&&r<224?o[i++]=(31&r)<<6|63&t[e++]:r>239&&r<365?(r=((7&r)<<18|(63&t[e++])<<12|(63&t[e++])<<6|63&t[e++])-65536,o[i++]=55296+(r>>10),o[i++]=56320+(1023&r)):o[i++]=(15&r)<<12|(63&t[e++])<<6|63&t[e++],i>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s?(i&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))},n.write=function(t,e,n){for(var r,s,o=n,i=0;i<t.length;++i)(r=t.charCodeAt(i))<128?e[n++]=r:r<2048?(e[n++]=r>>6|192,e[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=t.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,e[n++]=r>>18|240,e[n++]=r>>12&63|128,e[n++]=r>>6&63|128,e[n++]=63&r|128):(e[n++]=r>>12|224,e[n++]=r>>6&63|128,e[n++]=63&r|128);return n-o}},106:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(433),s=n.n(r)()((function(t){return t[1]}));s.push([t.id,".ck.ck-balloon-panel.ck-tooltip{z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text);margin-right:var(--ck-spacing-large)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:0;color:inherit;font:inherit;margin-left:var(--ck-spacing-standard);outline:none;padding:0;position:relative}.ck.ck-presence-list__list-item:last-child{margin-left:0;order:-1}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:3px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{min-width:calc(var(--ck-user-avatar-size)*2)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{margin-left:calc(var(--ck-user-avatar-size)*-1 + 7px)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(n+6){display:none}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-height:80vh;max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width);overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const o=s},535:(t,e,n)=>{"use strict";n.d(e,{A:()=>o});var r=n(433),s=n.n(r)()((function(t){return t[1]}));s.push([t.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const o=s},433:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var s={};if(r)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(s[i]=!0)}for(var a=0;a<t.length;a++){var c=[].concat(t[a]);r&&s[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),e.push(c))}},e}},199:(t,e,n)=>{"use strict";t.exports=n(995)},995:(t,e,n)=>{"use strict";var r=e;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(6),r.BufferWriter=n(623),r.Reader=n(366),r.BufferReader=n(895),r.util=n(737),r.rpc=n(178),r.roots=n(156),r.configure=s,s()},366:(t,e,n)=>{"use strict";t.exports=c;var r,s=n(737),o=s.LongBits,i=s.utf8;function a(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function c(t){this.buf=t,this.pos=0,this.len=t.length}var u,d="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new c(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new c(t);throw Error("illegal buffer")},l=function(){return s.Buffer?function(t){return(c.create=function(t){return s.Buffer.isBuffer(t)?new r(t):d(t)})(t)}:d};function p(){var t=new o(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw a(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw a(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function h(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(u=4294967295,function(){if(u=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return u;if(u=(u|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return u;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return u}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var t=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var t=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},c.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw a(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)},c.prototype.string=function(){var t=this.bytes();return i.read(t,0,t.length)},c.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw a(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},c._configure=function(t){r=t,c.create=l(),r._configure();var e=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return p.call(this)[e](!1)},uint64:function(){return p.call(this)[e](!0)},sint64:function(){return p.call(this).zzDecode()[e](!1)},fixed64:function(){return f.call(this)[e](!0)},sfixed64:function(){return f.call(this)[e](!1)}})}},895:(t,e,n)=>{"use strict";t.exports=o;var r=n(366);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(t){r.call(this,t)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},o._configure()},156:t=>{"use strict";t.exports={}},178:(t,e,n)=>{"use strict";e.Service=n(418)},418:(t,e,n)=>{"use strict";t.exports=s;var r=n(737);function s(t,e,n){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function t(e,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(t,a,e,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(e,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(t,n){if(t)return a.emit("error",t,e),i(t);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return a.emit("error",t,e),i(t)}return a.emit("data",n,e),i(null,n)}a.end(!0)}))}catch(t){return a.emit("error",t,e),void setTimeout((function(){i(t)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},s.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},130:(t,e,n)=>{"use strict";t.exports=s;var r=n(737);function s(t,e){this.lo=t>>>0,this.hi=e>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(t){if(0===t)return o;var e=t<0;e&&(t=-t);var n=t>>>0,r=(t-n)/4294967296>>>0;return e&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(t){if("number"==typeof t)return s.fromNumber(t);if(r.isString(t)){if(!r.Long)return s.fromNumber(parseInt(t,10));t=r.Long.fromString(t)}return t.low||t.high?new s(t.low>>>0,t.high>>>0):o},s.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(t){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var a=String.prototype.charCodeAt;s.fromHash=function(t){return t===i?o:new s((a.call(t,0)|a.call(t,1)<<8|a.call(t,2)<<16|a.call(t,3)<<24)>>>0,(a.call(t,4)|a.call(t,5)<<8|a.call(t,6)<<16|a.call(t,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},s.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},s.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},737:function(t,e,n){"use strict";var r=e;function s(t,e,n){for(var r=Object.keys(e),s=0;s<r.length;++s)void 0!==t[r[s]]&&n||(t[r[s]]=e[r[s]]);return t}function o(t){function e(t,n){if(!(this instanceof e))return new e(t,n);Object.defineProperty(this,"message",{get:function(){return t}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&s(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}r.asPromise=n(310),r.base64=n(662),r.EventEmitter=n(707),r.float=n(365),r.inquire=n(230),r.utf8=n(742),r.pool=n(319),r.LongBits=n(130),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},r.isString=function(t){return"string"==typeof t||t instanceof String},r.isObject=function(t){return t&&"object"==typeof t},r.isset=r.isSet=function(t,e){var n=t[e];return!(null==n||!t.hasOwnProperty(e))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var t=r.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(t){return"number"==typeof t?r.Buffer?r._Buffer_allocUnsafe(t):new r.Array(t):r.Buffer?r._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(t){return t?r.LongBits.from(t).toHash():r.LongBits.zeroHash},r.longFromHash=function(t,e){var n=r.LongBits.fromHash(t);return r.Long?r.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},r.merge=s,r.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var t=Object.keys(this),n=t.length-1;n>-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},r.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var t=r.Buffer;t?(r._Buffer_from=t.from!==Uint8Array.from&&t.from||function(e,n){return new t(e,n)},r._Buffer_allocUnsafe=t.allocUnsafe||function(e){return new t(e)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},6:(t,e,n)=>{"use strict";t.exports=l;var r,s=n(737),o=s.LongBits,i=s.base64,a=s.utf8;function c(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function u(){}function d(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function l(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(t,e,n){e[n]=255&t}function f(t,e){this.len=t,this.next=void 0,this.val=e}function m(t,e,n){for(;t.hi;)e[n++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[n++]=127&t.lo|128,t.lo=t.lo>>>7;e[n++]=t.lo}function y(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}l.create=p(),l.alloc=function(t){return new s.Array(t)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(t,e,n){return this.tail=this.tail.next=new c(t,e,n),this.len+=e,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},l.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new f((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},l.prototype.int32=function(t){return t<0?this._push(m,10,o.fromNumber(t)):this.uint32(t)},l.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},l.prototype.uint64=function(t){var e=o.from(t);return this._push(m,e.length(),e)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(t){var e=o.from(t).zzEncode();return this._push(m,e.length(),e)},l.prototype.bool=function(t){return this._push(h,1,t?1:0)},l.prototype.fixed32=function(t){return this._push(y,4,t>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(t){var e=o.from(t);return this._push(y,4,e.lo)._push(y,4,e.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(t){return this._push(s.float.writeFloatLE,4,t)},l.prototype.double=function(t){return this._push(s.float.writeDoubleLE,8,t)};var g=s.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var r=0;r<t.length;++r)e[n+r]=t[r]};l.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(h,1,0);if(s.isString(t)){var n=l.alloc(e=i.length(t));i.decode(t,n,0),t=n}return this.uint32(e)._push(g,e,t)},l.prototype.string=function(t){var e=a.length(t);return e?this.uint32(e)._push(a.write,e,t):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(u,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},l.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},l.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},l._configure=function(t){r=t,l.create=p(),r._configure()}},623:(t,e,n)=>{"use strict";t.exports=o;var r=n(6);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(){r.call(this)}function i(t,e,n){t.length<40?s.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var r=0;r<t.length;)e[n++]=t[r++]}},o.prototype.bytes=function(t){s.isString(t)&&(t=s._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(o.writeBytesBuffer,e,t),this},o.prototype.string=function(t){var e=s.Buffer.byteLength(t);return this.uint32(e),e&&this._push(i,e,t),this},o._configure()},553:(t,e)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch(t){return null}}function s(t){try{return encodeURIComponent(t)}catch(t){return null}}e.stringify=function(t,e){e=e||"";var r,o,i=[];for(o in"string"!=typeof e&&(e="?"),t)if(n.call(t,o)){if((r=t[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?e+i.join("&"):""},e.parse=function(t){for(var e,n=/([^=?#&]+)=?([^&]*)/g,s={};e=n.exec(t);){var o=r(e[1]),i=r(e[2]);null===o||null===i||o in s||(s[o]=i)}return s}},696:t=>{"use strict";t.exports=function(t,e){if(e=e.split(":")[0],!(t=+t))return!1;switch(e){case"http":case"ws":return 80!==t;case"https":case"wss":return 443!==t;case"ftp":return 21!==t;case"gopher":return 70!==t;case"file":return!1}return 0!==t}},673:(t,e,n)=>{"use strict";var r,s=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),i=[];function a(t){for(var e=-1,n=0;n<i.length;n++)if(i[n].identifier===t){e=n;break}return e}function c(t,e){for(var n={},r=[],s=0;s<t.length;s++){var o=t[s],c=e.base?o[0]+e.base:o[0],u=n[c]||0,d="".concat(c," ").concat(u);n[c]=u+1;var l=a(d),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==l?(i[l].references++,i[l].updater(p)):i.push({identifier:d,updater:y(p,e),references:1}),r.push(d)}return r}function u(t){var e=document.createElement("style"),r=t.attributes||{};if(void 0===r.nonce){var s=n.nc;s&&(r.nonce=s)}if(Object.keys(r).forEach((function(t){e.setAttribute(t,r[t])})),"function"==typeof t.insert)t.insert(e);else{var i=o(t.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(e)}return e}var d,l=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function p(t,e,n,r){var s=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(t.styleSheet)t.styleSheet.cssText=l(e,s);else{var o=document.createTextNode(s),i=t.childNodes;i[e]&&t.removeChild(i[e]),i.length?t.insertBefore(o,i[e]):t.appendChild(o)}}function h(t,e,n){var r=n.css,s=n.media,o=n.sourceMap;if(s?t.setAttribute("media",s):t.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var f=null,m=0;function y(t,e){var n,r,s;if(e.singleton){var o=m++;n=f||(f=u(e)),r=p.bind(null,n,o,!1),s=p.bind(null,n,o,!0)}else n=u(e),r=h.bind(null,n,e),s=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else s()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=s());var n=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var r=0;r<n.length;r++){var s=a(n[r]);i[s].references--}for(var o=c(t,e),u=0;u<n.length;u++){var d=a(n[u]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}n=o}}}},835:(t,e,n)=>{"use strict";var r=n(696),s=n(553),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,d=/^[a-zA-Z]:/;function l(t){return(t||"").toString().replace(o,"")}var p=[["#","hash"],["?","query"],function(t,e){return m(e.protocol)?t.replace(/\\/g,"/"):t},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(t){var e,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(t=t||r);if("blob:"===t.protocol)s=new g(unescape(t.pathname),{});else if("string"===o)for(e in s=new g(t,{}),h)delete s[e];else if("object"===o){for(e in t)e in h||(s[e]=t[e]);void 0===s.slashes&&(s.slashes=a.test(t.href))}return s}function m(t){return"file:"===t||"ftp:"===t||"http:"===t||"https:"===t||"ws:"===t||"wss:"===t}function y(t,e){t=(t=l(t)).replace(i,""),e=e||{};var n,r=u.exec(t),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(e.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function g(t,e,n){if(t=(t=l(t)).replace(i,""),!(this instanceof g))return new g(t,e,n);var o,a,c,u,h,b,O=p.slice(),w=typeof e,I=this,v=0;for("object"!==w&&"string"!==w&&(n=e,e=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=y(t||"",e=f(e))).protocol&&!a.slashes,I.slashes=a.slashes||o&&e.slashes,I.protocol=a.protocol||e.protocol||"",t=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||d.test(t))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(I.protocol)))&&(O[3]=[/(.*)/,"pathname"]);v<O.length;v++)"function"!=typeof(u=O[v])?(c=u[0],b=u[1],c!=c?I[b]=t:"string"==typeof c?~(h="@"===c?t.lastIndexOf(c):t.indexOf(c))&&("number"==typeof u[2]?(I[b]=t.slice(0,h),t=t.slice(h+u[2])):(I[b]=t.slice(h),t=t.slice(0,h))):(h=c.exec(t))&&(I[b]=h[1],t=t.slice(0,h.index)),I[b]=I[b]||o&&u[3]&&e[b]||"",u[4]&&(I[b]=I[b].toLowerCase())):t=u(t,I);n&&(I.query=n(I.query)),o&&e.slashes&&"/"!==I.pathname.charAt(0)&&(""!==I.pathname||""!==e.pathname)&&(I.pathname=function(t,e){if(""===t)return e;for(var n=(e||"/").split("/").slice(0,-1).concat(t.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(I.pathname,e.pathname)),"/"!==I.pathname.charAt(0)&&m(I.protocol)&&(I.pathname="/"+I.pathname),r(I.port,I.protocol)||(I.host=I.hostname,I.port=""),I.username=I.password="",I.auth&&(~(h=I.auth.indexOf(":"))?(I.username=I.auth.slice(0,h),I.username=encodeURIComponent(decodeURIComponent(I.username)),I.password=I.auth.slice(h+1),I.password=encodeURIComponent(decodeURIComponent(I.password))):I.username=encodeURIComponent(decodeURIComponent(I.auth)),I.auth=I.password?I.username+":"+I.password:I.username),I.origin="file:"!==I.protocol&&m(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.toString()}g.prototype={set:function(t,e,n){var o=this;switch(t){case"query":"string"==typeof e&&e.length&&(e=(n||s.parse)(e)),o[t]=e;break;case"port":o[t]=e,r(e,o.protocol)?e&&(o.host=o.hostname+":"+e):(o.host=o.hostname,o[t]="");break;case"hostname":o[t]=e,o.port&&(e+=":"+o.port),o.host=e;break;case"host":o[t]=e,c.test(e)?(e=e.split(":"),o.port=e.pop(),o.hostname=e.join(":")):(o.hostname=e,o.port="");break;case"protocol":o.protocol=e.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(e){var i="pathname"===t?"/":"#";o[t]=e.charAt(0)!==i?i+e:e}else o[t]=e;break;case"username":case"password":o[t]=encodeURIComponent(e);break;case"auth":var a=e.indexOf(":");~a?(o.username=e.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=e.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(e))}for(var u=0;u<p.length;u++){var d=p[u];d[4]&&(o[d[1]]=o[d[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(t){t&&"function"==typeof t||(t=s.stringify);var e,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(e="object"==typeof n.query?t(n.query):n.query)&&(i+="?"!==e.charAt(0)?"?"+e:e),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=s,t.exports=g},211:(t,e,n)=>{t.exports=n(312)("./src/collaboration-core.js")},782:(t,e,n)=>{t.exports=n(237)("./src/core.js")},783:(t,e,n)=>{t.exports=n(237)("./src/engine.js")},311:(t,e,n)=>{t.exports=n(237)("./src/ui.js")},584:(t,e,n)=>{t.exports=n(237)("./src/utils.js")},312:t=>{"use strict";t.exports=CKEditor5.collaborationDll},237:t=>{"use strict";t.exports=CKEditor5.dll}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={id:t,exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>lc,CloudServicesRevisionHistoryAdapter:()=>Dc,CloudServicesTrackChangesAdapter:()=>bc,PresenceList:()=>Iu,RealTimeCollaborationClient:()=>tc,RealTimeCollaborativeComments:()=>Ac,RealTimeCollaborativeEditing:()=>ic,RealTimeCollaborativeRevisionHistory:()=>Uc,RealTimeCollaborativeTrackChanges:()=>kc});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{Decoder:()=>mt,Encoder:()=>ht,PacketType:()=>pt,protocol:()=>lt});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>je,Encoder:()=>Ee});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{AttributeOperation:()=>Dr,Element:()=>Gr,InsertOperation:()=>Nr,MarkerOperation:()=>xr,MergeOperation:()=>Vr,MoveOperation:()=>Mr,Position:()=>Lr,Range:()=>Yr,RenameOperation:()=>Br,RootAttributeOperation:()=>Ur,RootOperation:()=>Jr,SplitOperation:()=>qr,default:()=>Rr});var r=__webpack_require__(782),s=__webpack_require__(584),o=__webpack_require__(311),i=__webpack_require__(783);const a=Object.create(null);a.open="0",a.close="1",a.ping="2",a.pong="3",a.message="4",a.upgrade="5",a.noop="6";const c=Object.create(null);Object.keys(a).forEach((t=>{c[a[t]]=t}));const u={type:"error",data:"parser error"},d="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),l="function"==typeof ArrayBuffer,p=(t,e)=>{const n=new FileReader;return n.onload=function(){const t=n.result.split(",")[1];e("b"+(t||""))},n.readAsDataURL(t)},h=({type:t,data:e},n,r)=>{return d&&e instanceof Blob?n?r(e):p(e,r):l&&(e instanceof ArrayBuffer||(s=e,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(s):s&&s.buffer instanceof ArrayBuffer))?n?r(e):p(new Blob([e]),r):r(a[t]+(e||""));var s},f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let t=0;t<64;t++)m[f.charCodeAt(t)]=t;const y="function"==typeof ArrayBuffer,g=(t,e)=>{if(y){const n=(t=>{let e,n,r,s,o,i=.75*t.length,a=t.length,c=0;"="===t[t.length-1]&&(i--,"="===t[t.length-2]&&i--);const u=new ArrayBuffer(i),d=new Uint8Array(u);for(e=0;e<a;e+=4)n=m[t.charCodeAt(e)],r=m[t.charCodeAt(e+1)],s=m[t.charCodeAt(e+2)],o=m[t.charCodeAt(e+3)],d[c++]=n<<2|r>>4,d[c++]=(15&r)<<4|s>>2,d[c++]=(3&s)<<6|63&o;return u})(t);return b(n,e)}return{base64:!0,data:t}},b=(t,e)=>"blob"===e&&t instanceof ArrayBuffer?new Blob([t]):t,O=(t,e)=>{if("string"!=typeof t)return{type:"message",data:b(t,e)};const n=t.charAt(0);if("b"===n)return{type:"message",data:g(t.substring(1),e)};return c[n]?t.length>1?{type:c[n],data:t.substring(1)}:{type:c[n]}:u},w=String.fromCharCode(30);function I(t){if(t)return function(t){for(var e in I.prototype)t[e]=I.prototype[e];return t}(t)}I.prototype.on=I.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},I.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},I.prototype.off=I.prototype.removeListener=I.prototype.removeAllListeners=I.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var s=0;s<r.length;s++)if((n=r[s])===e||n.fn===e){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+t],this},I.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),n=this._callbacks["$"+t],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,e)}return this},I.prototype.emitReserved=I.prototype.emit,I.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks["$"+t]||[]},I.prototype.hasListeners=function(t){return!!this.listeners(t).length};const v="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function S(t,...e){return e.reduce(((e,n)=>(t.hasOwnProperty(n)&&(e[n]=t[n]),e)),{})}const A=v.setTimeout,P=v.clearTimeout;function _(t,e){e.useNativeTimers?(t.setTimeoutFn=A.bind(v),t.clearTimeoutFn=P.bind(v)):(t.setTimeoutFn=v.setTimeout.bind(v),t.clearTimeoutFn=v.clearTimeout.bind(v))}class T extends Error{constructor(t,e,n){super(t),this.description=e,this.context=n,this.type="TransportError"}}class k extends I{constructor(t){super(),this.writable=!1,_(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,e,n){return super.emitReserved("error",new T(t,e,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){const e=O(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}}const C="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),E=64,j={};let R,D=0,N=0;function x(t){let e="";do{e=C[t%E]+e,t=Math.floor(t/E)}while(t>0);return e}function V(){const t=x(+new Date);return t!==R?(D=0,R=t):t+"."+x(D++)}for(;N<E;N++)j[C[N]]=N;function M(t){let e="";for(let n in t)t.hasOwnProperty(n)&&(e.length&&(e+="&"),e+=encodeURIComponent(n)+"="+encodeURIComponent(t[n]));return e}let B=!1;try{B="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}const U=B;function J(t){const e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||U))return new XMLHttpRequest}catch(t){}if(!e)try{return new(v[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(t){}}function q(){}const L=null!=new J({xdomain:!1}).responseType;class Y extends I{constructor(t,e){super(),_(this,e),this.opts=e,this.method=e.method||"GET",this.uri=t,this.async=!1!==e.async,this.data=void 0!==e.data?e.data:null,this.create()}create(){const t=S(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd,t.xscheme=!!this.opts.xs;const e=this.xhr=new J(t);try{e.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){e.setDisableHeaderCheck&&e.setDisableHeaderCheck(!0);for(let t in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&e.setRequestHeader(t,this.opts.extraHeaders[t])}}catch(t){}if("POST"===this.method)try{e.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{e.setRequestHeader("Accept","*/*")}catch(t){}"withCredentials"in e&&(e.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(e.timeout=this.opts.requestTimeout),e.onreadystatechange=()=>{4===e.readyState&&(200===e.status||1223===e.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof e.status?e.status:0)}),0))},e.send(this.data)}catch(t){return void this.setTimeoutFn((()=>{this.onError(t)}),0)}"undefined"!=typeof document&&(this.index=Y.requestsCount++,Y.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=q,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete Y.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(Y.requestsCount=0,Y.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",G);else if("function"==typeof addEventListener){addEventListener("onpagehide"in v?"pagehide":"unload",G,!1)}function G(){for(let t in Y.requests)Y.requests.hasOwnProperty(t)&&Y.requests[t].abort()}const z="function"==typeof Promise&&"function"==typeof Promise.resolve?t=>Promise.resolve().then(t):(t,e)=>e(t,0),H=v.WebSocket||v.MozWebSocket,F="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const K={websocket:class extends k{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),e=this.opts.protocols,n=F?{}:S(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=F?new H(t,e,n):e?new H(t,e):new H(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e<t.length;e++){const n=t[e],r=e===t.length-1;h(n,this.supportsBinary,(t=>{try{this.ws.send(t)}catch(t){}r&&z((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){let t=this.query||{};const e=this.opts.secure?"wss":"ws";let n="";this.opts.port&&("wss"===e&&443!==Number(this.opts.port)||"ws"===e&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),this.opts.timestampRequests&&(t[this.opts.timestampParam]=V()),this.supportsBinary||(t.b64=1);const r=M(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}check(){return!!H}},polling:class extends k{constructor(t){if(super(t),this.polling=!1,"undefined"!=typeof location){const e="https:"===location.protocol;let n=location.port;n||(n=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||n!==t.port,this.xs=t.secure!==e}const e=t&&t.forceBase64;this.supportsBinary=L&&!e}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";const e=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(t++,this.once("pollComplete",(function(){--t||e()}))),this.writable||(t++,this.once("drain",(function(){--t||e()})))}else e()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){((t,e)=>{const n=t.split(w),r=[];for(let t=0;t<n.length;t++){const s=O(n[t],e);if(r.push(s),"error"===s.type)break}return r})(t,this.socket.binaryType).forEach((t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,((t,e)=>{const n=t.length,r=new Array(n);let s=0;t.forEach(((t,o)=>{h(t,!1,(t=>{r[o]=t,++s===n&&e(r.join(w))}))}))})(t,(t=>{this.doWrite(t,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){let t=this.query||{};const e=this.opts.secure?"https":"http";let n="";!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=V()),this.supportsBinary||t.sid||(t.b64=1),this.opts.port&&("https"===e&&443!==Number(this.opts.port)||"http"===e&&80!==Number(this.opts.port))&&(n=":"+this.opts.port);const r=M(t);return e+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts),new Y(this.uri(),t)}doWrite(t,e){const n=this.request({method:"POST",data:t});n.on("success",e),n.on("error",((t,e)=>{this.onError("xhr post error",t,e)}))}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",((t,e)=>{this.onError("xhr poll error",t,e)})),this.pollXhr=t}}},W=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,$=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Q(t){const e=t,n=t.indexOf("["),r=t.indexOf("]");-1!=n&&-1!=r&&(t=t.substring(0,n)+t.substring(n,r).replace(/:/g,";")+t.substring(r,t.length));let s=W.exec(t||""),o={},i=14;for(;i--;)o[$[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=e,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(t,e){const n=/\/{2,9}/g,r=e.replace(n,"/").split("/");"/"!=e.slice(0,1)&&0!==e.length||r.splice(0,1);"/"==e.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(t,e){const n={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(t,e,r){e&&(n[e]=r)})),n}(0,o.query),o}class X extends I{constructor(t,e={}){super(),this.writeBuffer=[],t&&"object"==typeof t&&(e=t,t=null),t?(t=Q(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=Q(e.host).host),_(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=e.transports||["polling","websocket"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},n=t.split("&");for(let t=0,r=n.length;t<r;t++){let r=n[t].split("=");e[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return e}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);const n=Object.assign({},this.opts.transportOptions[t],this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new K[t](n)}open(){let t;if(this.opts.rememberUpgrade&&X.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(t=>this.onClose("transport close",t)))}probe(t){let e=this.createTransport(t),n=!1;X.priorWebsocketSuccess=!1;const r=()=>{n||(e.send([{type:"ping",data:"probe"}]),e.once("packet",(t=>{if(!n)if("pong"===t.type&&"probe"===t.data){if(this.upgrading=!0,this.emitReserved("upgrading",e),!e)return;X.priorWebsocketSuccess="websocket"===e.name,this.transport.pause((()=>{n||"closed"!==this.readyState&&(u(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())}))}else{const t=new Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}})))};function s(){n||(n=!0,u(),e.close(),e=null)}const o=t=>{const n=new Error("probe error: "+t);n.transport=e.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(t){e&&t.name!==e.name&&s()}const u=()=>{e.removeListener("open",r),e.removeListener("error",o),e.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};e.once("open",r),e.once("error",o),e.once("close",i),this.once("close",a),this.once("upgrading",c),e.open()}onOpen(){if(this.readyState="open",X.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let t=0;const e=this.upgrades.length;for(;t<e;t++)this.probe(this.upgrades[t])}}onPacket(t){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const e=new Error("server error");e.code=t.data,this.onError(e);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data)}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this.upgrades=this.filterUpgrades(t.upgrades),this.pingInterval=t.pingInterval,this.pingTimeout=t.pingTimeout,this.maxPayload=t.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n<this.writeBuffer.length;n++){const r=this.writeBuffer[n].data;if(r&&(t+="string"==typeof(e=r)?function(t){let e=0,n=0;for(let r=0,s=t.length;r<s;r++)e=t.charCodeAt(r),e<128?n+=1:e<2048?n+=2:e<55296||e>=57344?n+=3:(r++,n+=4);return n}(e):Math.ceil(1.33*(e.byteLength||e.size))),n>0&&t>this.maxPayload)return this.writeBuffer.slice(0,n);t+=2}var e;return this.writeBuffer}write(t,e,n){return this.sendPacket("message",t,e,n),this}send(t,e,n){return this.sendPacket("message",t,e,n),this}sendPacket(t,e,n,r){if("function"==typeof e&&(r=e,e=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:t,data:e,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},n=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():t()})):this.upgrading?n():t()),this}onError(t){X.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const e=[];let n=0;const r=t.length;for(;n<r;n++)~this.transports.indexOf(t[n])&&e.push(t[n]);return e}}X.protocol=4;X.protocol;const Z="function"==typeof ArrayBuffer,tt=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,et=Object.prototype.toString,nt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===et.call(Blob),rt="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===et.call(File);function st(t){return Z&&(t instanceof ArrayBuffer||tt(t))||nt&&t instanceof Blob||rt&&t instanceof File}function ot(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,n=t.length;e<n;e++)if(ot(t[e]))return!0;return!1}if(st(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return ot(t.toJSON(),!0);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&ot(t[e]))return!0;return!1}function it(t){const e=[],n=t.data,r=t;return r.data=at(n,e),r.attachments=e.length,{packet:r,buffers:e}}function at(t,e){if(!t)return t;if(st(t)){const n={_placeholder:!0,num:e.length};return e.push(t),n}if(Array.isArray(t)){const n=new Array(t.length);for(let r=0;r<t.length;r++)n[r]=at(t[r],e);return n}if("object"==typeof t&&!(t instanceof Date)){const n={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=at(t[r],e));return n}return t}function ct(t,e){return t.data=ut(t.data,e),delete t.attachments,t}function ut(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let n=0;n<t.length;n++)t[n]=ut(t[n],e);else if("object"==typeof t)for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=ut(t[n],e));return t}const dt=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],lt=5;var pt;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(pt||(pt={}));class ht{constructor(t){this.replacer=t}encode(t){return t.type!==pt.EVENT&&t.type!==pt.ACK||!ot(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===pt.EVENT?pt.BINARY_EVENT:pt.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==pt.BINARY_EVENT&&t.type!==pt.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=it(t),n=this.encodeAsString(e.packet),r=e.buffers;return r.unshift(n),r}}function ft(t){return"[object Object]"===Object.prototype.toString.call(t)}class mt extends I{constructor(t){super(),this.reviver=t}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const n=e.type===pt.BINARY_EVENT;n||e.type===pt.BINARY_ACK?(e.type=n?pt.EVENT:pt.ACK,this.reconstructor=new yt(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!st(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const n={type:Number(t.charAt(0))};if(void 0===pt[n.type])throw new Error("unknown packet type "+n.type);if(n.type===pt.BINARY_EVENT||n.type===pt.BINARY_ACK){const r=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const s=t.substring(r,e);if(s!=Number(s)||"-"!==t.charAt(e))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===t.charAt(e+1)){const r=e+1;for(;++e;){if(","===t.charAt(e))break;if(e===t.length)break}n.nsp=t.substring(r,e)}else n.nsp="/";const r=t.charAt(e+1);if(""!==r&&Number(r)==r){const r=e+1;for(;++e;){const n=t.charAt(e);if(null==n||Number(n)!=n){--e;break}if(e===t.length)break}n.id=Number(t.substring(r,e+1))}if(t.charAt(++e)){const r=this.tryParse(t.substr(e));if(!mt.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(t){try{return JSON.parse(t,this.reviver)}catch(t){return!1}}static isPayloadValid(t,e){switch(t){case pt.CONNECT:return ft(e);case pt.DISCONNECT:return void 0===e;case pt.CONNECT_ERROR:return"string"==typeof e||ft(e);case pt.EVENT:case pt.BINARY_EVENT:return Array.isArray(e)&&("number"==typeof e[0]||"string"==typeof e[0]&&-1===dt.indexOf(e[0]));case pt.ACK:case pt.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class yt{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=ct(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function gt(t,e,n){return t.on(e,n),function(){t.off(e,n)}}const bt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Ot extends I{constructor(t,e,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[gt(t,"open",this.onopen.bind(this)),gt(t,"packet",this.onpacket.bind(this)),gt(t,"error",this.onerror.bind(this)),gt(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(t,...e){if(bt.hasOwnProperty(t))throw new Error('"'+t.toString()+'" is a reserved event name');if(e.unshift(t),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(e),this;const n={type:pt.EVENT,data:e,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof e[e.length-1]){const t=this.ids++,r=e.pop();this._registerAckCallback(t,r),n.id=t}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(t,e){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[t]=e);const s=this.io.setTimeoutFn((()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))}),r);this.acks[t]=(...t)=>{this.io.clearTimeoutFn(s),e.apply(this,[null,...t])}}emitWithAck(t,...e){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((r,s)=>{e.push(((t,e)=>n?t?s(t):r(e):r(t))),this.emit(t,...e)}))}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push(((t,...r)=>{if(n!==this._queue[0])return;return null!==t?n.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...r)),n.pending=!1,this._drainQueue()})),this._queue.push(n),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth((t=>{this._sendConnectPacket(t)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:pt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case pt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case pt.EVENT:case pt.BINARY_EVENT:this.onevent(t);break;case pt.ACK:case pt.BINARY_ACK:this.onack(t);break;case pt.DISCONNECT:this.ondisconnect();break;case pt.CONNECT_ERROR:this.destroy();const e=new Error(t.data.message);e.data=t.data.data,this.emitReserved("connect_error",e)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const n of e)n.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){const e=this;let n=!1;return function(...r){n||(n=!0,e.packet({type:pt.ACK,id:t,data:r}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(e.apply(this,t.data),delete this.acks[t.id])}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((t=>this.emitEvent(t))),this.receiveBuffer=[],this.sendBuffer.forEach((t=>{this.notifyOutgoingListeners(t),this.packet(t)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((t=>t())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:pt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let n=0;n<e.length;n++)if(t===e[n])return e.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const n of e)n.apply(this,t.data)}}}function wt(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}wt.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=1&Math.floor(10*e)?t+n:t-n}return 0|Math.min(t,this.max)},wt.prototype.reset=function(){this.attempts=0},wt.prototype.setMin=function(t){this.ms=t},wt.prototype.setMax=function(t){this.max=t},wt.prototype.setJitter=function(t){this.jitter=t};class It extends I{constructor(e,n){var r;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(n=e,e=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,_(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new wt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=e;const s=n.parser||t;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new X(this.uri,this.opts);const e=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=gt(e,"open",(function(){n.onopen(),t&&t()})),s=gt(e,"error",(e=>{n.cleanup(),n._readyState="closed",this.emitReserved("error",e),t?t(e):n.maybeReconnectOnOpen()}));if(!1!==this._timeout){const t=this._timeout;0===t&&r();const n=this.setTimeoutFn((()=>{r(),e.close(),e.emit("error",new Error("timeout"))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}return this.subs.push(r),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(gt(t,"ping",this.onping.bind(this)),gt(t,"data",this.ondata.bind(this)),gt(t,"error",this.onerror.bind(this)),gt(t,"close",this.onclose.bind(this)),gt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}ondecoded(t){z((()=>{this.emitReserved("packet",t)}),this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Ot(this,t,e),this.nsps[t]=n),n}_destroy(t){const e=Object.keys(this.nsps);for(const t of e){if(this.nsps[t].active)return}this._close()}_packet(t){const e=this.encoder.encode(t);for(let n=0;n<e.length;n++)this.engine.write(e[n],t.options)}cleanup(){this.subs.forEach((t=>t())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,e){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const e=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn((()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open((e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()})))}),e);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const vt={};function St(t,e){"object"==typeof t&&(e=t,t=void 0);const n=function(t,e="",n){let r=t;n=n||"undefined"!=typeof location&&location,null==t&&(t=n.protocol+"//"+n.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?n.protocol+t:n.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==n?n.protocol+"//"+t:"https://"+t),r=Q(t)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+e,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(t,(e=e||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=vt[s]&&o in vt[s].nsps;let a;return e.forceNew||e["force new connection"]||!1===e.multiplex||i?a=new It(r,e):(vt[s]||(vt[s]=new It(r,e)),a=vt[s]),n.query&&!e.query&&(e.query=n.queryKey),a.socket(n.path,e)}Object.assign(St,{Manager:It,Socket:Ot,io:St,connect:St});var At=__webpack_require__(835);class Pt{constructor(...t){}}class _t extends Pt{constructor(...t){super()}static fromJSON(t){throw new TypeError("Must be implemented in a child class!")}}_t.TYPE="1000";class Tt extends _t{constructor(t,e,n){super(),this.type=t,this.socketId=e,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(t){return new Tt(t.type,t.socketId,t.data)}}Tt.DESCRIPTOR_NAME="ChannelMessage",Tt.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};var kt=__webpack_require__(934);const Ct=kt.Reader,Et=kt.Writer,jt=kt.util,Rt=kt.roots.default||(kt.roots.default={}),Dt=(Rt.OperationMetadataDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.userId="",t.prototype.type="",t.prototype.createdAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(10).string(t.userId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(18).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(26).string(t.createdAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.OperationMetadataDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.userId=t.string();break;case 2:r.type=t.string();break;case 3:r.createdAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.userId&&t.hasOwnProperty("userId")&&!jt.isString(t.userId)?"userId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.OperationMetadataDescriptor)return t;let e=new Rt.OperationMetadataDescriptor;return null!=t.userId&&(e.userId=String(t.userId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/OperationMetadataDescriptor"},t})(),Rt.CollaborativeEditingConnectMessage=(()=>{function t(t){if(this.buffers=[],this.types=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.bundleVersion="",t.prototype.buffers=jt.emptyArray,t.prototype.types=jt.emptyArray,t.prototype.lastOperationId="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&e.uint32(18).string(t.bundleVersion),null!=t.buffers&&t.buffers.length)for(let n=0;n<t.buffers.length;++n)e.uint32(26).bytes(t.buffers[n]);if(null!=t.types&&t.types.length){e.uint32(34).fork();for(let n=0;n<t.types.length;++n)e.uint32(t.types[n]);e.ldelim()}return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&e.uint32(42).string(t.lastOperationId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CollaborativeEditingConnectMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.bundleVersion=t.string();break;case 3:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(t.bytes());break;case 4:if(r.types&&r.types.length||(r.types=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)r.types.push(t.uint32())}else r.types.push(t.uint32());break;case 5:r.lastOperationId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id))return"id: string expected";if(null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!jt.isString(t.bundleVersion))return"bundleVersion: string expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(let e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||jt.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(let e=0;e<t.types.length;++e)if(!jt.isInteger(t.types[e]))return"types: integer[] expected"}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!jt.isString(t.lastOperationId)?"lastOperationId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CollaborativeEditingConnectMessage)return t;let e=new Rt.CollaborativeEditingConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");e.buffers=[];for(let n=0;n<t.buffers.length;++n)"string"==typeof t.buffers[n]?jt.base64.decode(t.buffers[n],e.buffers[n]=jt.newBuffer(jt.base64.length(t.buffers[n])),0):t.buffers[n].length>=0&&(e.buffers[n]=t.buffers[n])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");e.types=[];for(let n=0;n<t.types.length;++n)e.types[n]=t.types[n]>>>0}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.buffers=[],n.types=[]),e.defaults&&(n.id="",n.bundleVersion="",n.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),t.buffers&&t.buffers.length){n.buffers=[];for(let r=0;r<t.buffers.length;++r)n.buffers[r]=e.bytes===String?jt.base64.encode(t.buffers[r],0,t.buffers[r].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[r]):t.buffers[r]}if(t.types&&t.types.length){n.types=[];for(let e=0;e<t.types.length;++e)n.types[e]=t.types[e]}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(n.lastOperationId=t.lastOperationId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectMessage"},t})(),Rt.CollaborativeEditingReconnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.bundleVersion="",t.prototype.lastKnowVersion=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&e.uint32(18).string(t.bundleVersion),null!=t.lastKnowVersion&&Object.hasOwnProperty.call(t,"lastKnowVersion")&&e.uint32(24).uint32(t.lastKnowVersion),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CollaborativeEditingReconnectMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.bundleVersion=t.string();break;case 3:r.lastKnowVersion=t.uint32();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!jt.isString(t.bundleVersion)?"bundleVersion: string expected":null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&!jt.isInteger(t.lastKnowVersion)?"lastKnowVersion: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.CollaborativeEditingReconnectMessage)return t;let e=new Rt.CollaborativeEditingReconnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),null!=t.lastKnowVersion&&(e.lastKnowVersion=t.lastKnowVersion>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),null!=t.lastKnowVersion&&t.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=t.lastKnowVersion),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingReconnectMessage"},t})(),Rt.CollaborativeEditingUpdateMessage=(()=>{function t(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.baseVersion=0,t.prototype.buffers=jt.emptyArray,t.prototype.types=jt.emptyArray,t.prototype.metadata=jt.emptyArray,t.prototype.lastOperationId="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.baseVersion&&Object.hasOwnProperty.call(t,"baseVersion")&&e.uint32(16).uint32(t.baseVersion),null!=t.buffers&&t.buffers.length)for(let n=0;n<t.buffers.length;++n)e.uint32(26).bytes(t.buffers[n]);if(null!=t.types&&t.types.length){e.uint32(34).fork();for(let n=0;n<t.types.length;++n)e.uint32(t.types[n]);e.ldelim()}if(null!=t.metadata&&t.metadata.length)for(let n=0;n<t.metadata.length;++n)Rt.OperationMetadataDescriptor.encode(t.metadata[n],e.uint32(50).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&e.uint32(58).string(t.lastOperationId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CollaborativeEditingUpdateMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.baseVersion=t.uint32();break;case 3:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(t.bytes());break;case 4:if(r.types&&r.types.length||(r.types=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)r.types.push(t.uint32())}else r.types.push(t.uint32());break;case 6:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Rt.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 7:r.lastOperationId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id))return"id: string expected";if(null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&!jt.isInteger(t.baseVersion))return"baseVersion: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(let e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||jt.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(let e=0;e<t.types.length;++e)if(!jt.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(let e=0;e<t.metadata.length;++e){let n=Rt.OperationMetadataDescriptor.verify(t.metadata[e]);if(n)return"metadata."+n}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!jt.isString(t.lastOperationId)?"lastOperationId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CollaborativeEditingUpdateMessage)return t;let e=new Rt.CollaborativeEditingUpdateMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.baseVersion&&(e.baseVersion=t.baseVersion>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");e.buffers=[];for(let n=0;n<t.buffers.length;++n)"string"==typeof t.buffers[n]?jt.base64.decode(t.buffers[n],e.buffers[n]=jt.newBuffer(jt.base64.length(t.buffers[n])),0):t.buffers[n].length>=0&&(e.buffers[n]=t.buffers[n])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");e.types=[];for(let n=0;n<t.types.length;++n)e.types[n]=t.types[n]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");e.metadata=[];for(let n=0;n<t.metadata.length;++n){if("object"!=typeof t.metadata[n])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");e.metadata[n]=Rt.OperationMetadataDescriptor.fromObject(t.metadata[n])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),e.defaults&&(n.id="",n.baseVersion=0,n.lastOperationId=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.baseVersion&&t.hasOwnProperty("baseVersion")&&(n.baseVersion=t.baseVersion),t.buffers&&t.buffers.length){n.buffers=[];for(let r=0;r<t.buffers.length;++r)n.buffers[r]=e.bytes===String?jt.base64.encode(t.buffers[r],0,t.buffers[r].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[r]):t.buffers[r]}if(t.types&&t.types.length){n.types=[];for(let e=0;e<t.types.length;++e)n.types[e]=t.types[e]}if(t.metadata&&t.metadata.length){n.metadata=[];for(let r=0;r<t.metadata.length;++r)n.metadata[r]=Rt.OperationMetadataDescriptor.toObject(t.metadata[r],e)}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(n.lastOperationId=t.lastOperationId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingUpdateMessage"},t})(),Rt.GetDocumentDetailsMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.prototype.environmentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),null!=t.environmentId&&Object.hasOwnProperty.call(t,"environmentId")&&e.uint32(18).string(t.environmentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetDocumentDetailsMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.documentId=t.string();break;case 2:r.environmentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.environmentId&&t.hasOwnProperty("environmentId")&&!jt.isString(t.environmentId)?"environmentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.GetDocumentDetailsMessage)return t;let e=new Rt.GetDocumentDetailsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.environmentId&&(e.environmentId=String(t.environmentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId="",n.environmentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.environmentId&&t.hasOwnProperty("environmentId")&&(n.environmentId=t.environmentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsMessage"},t})(),Rt.CollaborativeEditingConnectResponse=(()=>{function t(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.channel="",t.prototype.offset=0,t.prototype.version=0,t.prototype.buffers=jt.emptyArray,t.prototype.types=jt.emptyArray,t.prototype.metadata=jt.emptyArray,t.prototype.initData="",t.prototype.isInitialized=!1,t.prototype.sessionId="",t.prototype.lastOperationId="",t.prototype.sessionCreatedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),null!=t.offset&&Object.hasOwnProperty.call(t,"offset")&&e.uint32(16).uint32(t.offset),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&e.uint32(24).uint32(t.version),null!=t.buffers&&t.buffers.length)for(let n=0;n<t.buffers.length;++n)e.uint32(34).bytes(t.buffers[n]);if(null!=t.types&&t.types.length){e.uint32(42).fork();for(let n=0;n<t.types.length;++n)e.uint32(t.types[n]);e.ldelim()}if(null!=t.metadata&&t.metadata.length)for(let n=0;n<t.metadata.length;++n)Rt.OperationMetadataDescriptor.encode(t.metadata[n],e.uint32(58).fork()).ldelim();return null!=t.initData&&Object.hasOwnProperty.call(t,"initData")&&e.uint32(66).string(t.initData),null!=t.isInitialized&&Object.hasOwnProperty.call(t,"isInitialized")&&e.uint32(72).bool(t.isInitialized),null!=t.sessionId&&Object.hasOwnProperty.call(t,"sessionId")&&e.uint32(82).string(t.sessionId),null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&e.uint32(90).string(t.lastOperationId),null!=t.sessionCreatedAt&&Object.hasOwnProperty.call(t,"sessionCreatedAt")&&e.uint32(98).string(t.sessionCreatedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CollaborativeEditingConnectResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.channel=t.string();break;case 2:r.offset=t.uint32();break;case 3:r.version=t.uint32();break;case 4:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(t.bytes());break;case 5:if(r.types&&r.types.length||(r.types=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)r.types.push(t.uint32())}else r.types.push(t.uint32());break;case 7:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Rt.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 8:r.initData=t.string();break;case 9:r.isInitialized=t.bool();break;case 10:r.sessionId=t.string();break;case 11:r.lastOperationId=t.string();break;case 12:r.sessionCreatedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!jt.isString(t.channel))return"channel: string expected";if(null!=t.offset&&t.hasOwnProperty("offset")&&!jt.isInteger(t.offset))return"offset: integer expected";if(null!=t.version&&t.hasOwnProperty("version")&&!jt.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(let e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||jt.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(let e=0;e<t.types.length;++e)if(!jt.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(let e=0;e<t.metadata.length;++e){let n=Rt.OperationMetadataDescriptor.verify(t.metadata[e]);if(n)return"metadata."+n}}return null!=t.initData&&t.hasOwnProperty("initData")&&!jt.isString(t.initData)?"initData: string expected":null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&"boolean"!=typeof t.isInitialized?"isInitialized: boolean expected":null!=t.sessionId&&t.hasOwnProperty("sessionId")&&!jt.isString(t.sessionId)?"sessionId: string expected":null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!jt.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&!jt.isString(t.sessionCreatedAt)?"sessionCreatedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CollaborativeEditingConnectResponse)return t;let e=new Rt.CollaborativeEditingConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.offset&&(e.offset=t.offset>>>0),null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");e.buffers=[];for(let n=0;n<t.buffers.length;++n)"string"==typeof t.buffers[n]?jt.base64.decode(t.buffers[n],e.buffers[n]=jt.newBuffer(jt.base64.length(t.buffers[n])),0):t.buffers[n].length>=0&&(e.buffers[n]=t.buffers[n])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");e.types=[];for(let n=0;n<t.types.length;++n)e.types[n]=t.types[n]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");e.metadata=[];for(let n=0;n<t.metadata.length;++n){if("object"!=typeof t.metadata[n])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");e.metadata[n]=Rt.OperationMetadataDescriptor.fromObject(t.metadata[n])}}return null!=t.initData&&(e.initData=String(t.initData)),null!=t.isInitialized&&(e.isInitialized=Boolean(t.isInitialized)),null!=t.sessionId&&(e.sessionId=String(t.sessionId)),null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.sessionCreatedAt&&(e.sessionCreatedAt=String(t.sessionCreatedAt)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),e.defaults&&(n.channel="",n.offset=0,n.version=0,n.initData="",n.isInitialized=!1,n.sessionId="",n.lastOperationId="",n.sessionCreatedAt=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),null!=t.offset&&t.hasOwnProperty("offset")&&(n.offset=t.offset),null!=t.version&&t.hasOwnProperty("version")&&(n.version=t.version),t.buffers&&t.buffers.length){n.buffers=[];for(let r=0;r<t.buffers.length;++r)n.buffers[r]=e.bytes===String?jt.base64.encode(t.buffers[r],0,t.buffers[r].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[r]):t.buffers[r]}if(t.types&&t.types.length){n.types=[];for(let e=0;e<t.types.length;++e)n.types[e]=t.types[e]}if(t.metadata&&t.metadata.length){n.metadata=[];for(let r=0;r<t.metadata.length;++r)n.metadata[r]=Rt.OperationMetadataDescriptor.toObject(t.metadata[r],e)}return null!=t.initData&&t.hasOwnProperty("initData")&&(n.initData=t.initData),null!=t.isInitialized&&t.hasOwnProperty("isInitialized")&&(n.isInitialized=t.isInitialized),null!=t.sessionId&&t.hasOwnProperty("sessionId")&&(n.sessionId=t.sessionId),null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(n.lastOperationId=t.lastOperationId),null!=t.sessionCreatedAt&&t.hasOwnProperty("sessionCreatedAt")&&(n.sessionCreatedAt=t.sessionCreatedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingConnectResponse"},t})(),Rt.CollaborativeEditingResponse=(()=>{function t(t){if(this.buffers=[],this.types=[],this.metadata=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.version=0,t.prototype.buffers=jt.emptyArray,t.prototype.types=jt.emptyArray,t.prototype.metadata=jt.emptyArray,t.prototype.lastOperationId="",t.prototype.lastOperationAcceptedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.version&&Object.hasOwnProperty.call(t,"version")&&e.uint32(8).uint32(t.version),null!=t.buffers&&t.buffers.length)for(let n=0;n<t.buffers.length;++n)e.uint32(18).bytes(t.buffers[n]);if(null!=t.types&&t.types.length){e.uint32(26).fork();for(let n=0;n<t.types.length;++n)e.uint32(t.types[n]);e.ldelim()}if(null!=t.metadata&&t.metadata.length)for(let n=0;n<t.metadata.length;++n)Rt.OperationMetadataDescriptor.encode(t.metadata[n],e.uint32(42).fork()).ldelim();return null!=t.lastOperationId&&Object.hasOwnProperty.call(t,"lastOperationId")&&e.uint32(50).string(t.lastOperationId),null!=t.lastOperationAcceptedAt&&Object.hasOwnProperty.call(t,"lastOperationAcceptedAt")&&e.uint32(58).string(t.lastOperationAcceptedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CollaborativeEditingResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.version=t.uint32();break;case 2:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(t.bytes());break;case 3:if(r.types&&r.types.length||(r.types=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)r.types.push(t.uint32())}else r.types.push(t.uint32());break;case 5:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Rt.OperationMetadataDescriptor.decode(t,t.uint32()));break;case 6:r.lastOperationId=t.string();break;case 7:r.lastOperationAcceptedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.version&&t.hasOwnProperty("version")&&!jt.isInteger(t.version))return"version: integer expected";if(null!=t.buffers&&t.hasOwnProperty("buffers")){if(!Array.isArray(t.buffers))return"buffers: array expected";for(let e=0;e<t.buffers.length;++e)if(!(t.buffers[e]&&"number"==typeof t.buffers[e].length||jt.isString(t.buffers[e])))return"buffers: buffer[] expected"}if(null!=t.types&&t.hasOwnProperty("types")){if(!Array.isArray(t.types))return"types: array expected";for(let e=0;e<t.types.length;++e)if(!jt.isInteger(t.types[e]))return"types: integer[] expected"}if(null!=t.metadata&&t.hasOwnProperty("metadata")){if(!Array.isArray(t.metadata))return"metadata: array expected";for(let e=0;e<t.metadata.length;++e){let n=Rt.OperationMetadataDescriptor.verify(t.metadata[e]);if(n)return"metadata."+n}}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&!jt.isString(t.lastOperationId)?"lastOperationId: string expected":null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&!jt.isString(t.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CollaborativeEditingResponse)return t;let e=new Rt.CollaborativeEditingResponse;if(null!=t.version&&(e.version=t.version>>>0),t.buffers){if(!Array.isArray(t.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");e.buffers=[];for(let n=0;n<t.buffers.length;++n)"string"==typeof t.buffers[n]?jt.base64.decode(t.buffers[n],e.buffers[n]=jt.newBuffer(jt.base64.length(t.buffers[n])),0):t.buffers[n].length>=0&&(e.buffers[n]=t.buffers[n])}if(t.types){if(!Array.isArray(t.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");e.types=[];for(let n=0;n<t.types.length;++n)e.types[n]=t.types[n]>>>0}if(t.metadata){if(!Array.isArray(t.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");e.metadata=[];for(let n=0;n<t.metadata.length;++n){if("object"!=typeof t.metadata[n])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");e.metadata[n]=Rt.OperationMetadataDescriptor.fromObject(t.metadata[n])}}return null!=t.lastOperationId&&(e.lastOperationId=String(t.lastOperationId)),null!=t.lastOperationAcceptedAt&&(e.lastOperationAcceptedAt=String(t.lastOperationAcceptedAt)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),e.defaults&&(n.version=0,n.lastOperationId="",n.lastOperationAcceptedAt=""),null!=t.version&&t.hasOwnProperty("version")&&(n.version=t.version),t.buffers&&t.buffers.length){n.buffers=[];for(let r=0;r<t.buffers.length;++r)n.buffers[r]=e.bytes===String?jt.base64.encode(t.buffers[r],0,t.buffers[r].length):e.bytes===Array?Array.prototype.slice.call(t.buffers[r]):t.buffers[r]}if(t.types&&t.types.length){n.types=[];for(let e=0;e<t.types.length;++e)n.types[e]=t.types[e]}if(t.metadata&&t.metadata.length){n.metadata=[];for(let r=0;r<t.metadata.length;++r)n.metadata[r]=Rt.OperationMetadataDescriptor.toObject(t.metadata[r],e)}return null!=t.lastOperationId&&t.hasOwnProperty("lastOperationId")&&(n.lastOperationId=t.lastOperationId),null!=t.lastOperationAcceptedAt&&t.hasOwnProperty("lastOperationAcceptedAt")&&(n.lastOperationAcceptedAt=t.lastOperationAcceptedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CollaborativeEditingResponse"},t})(),Rt.GetDocumentDetailsResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.lastDocumentSessionId="",t.prototype.lastDocumentSessionOperationId="",t.prototype.currentDocumentSessionId="",t.prototype.currentDocumentSessionVersion=0,t.prototype.currentDocumentSessionOperationId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.lastDocumentSessionId&&Object.hasOwnProperty.call(t,"lastDocumentSessionId")&&e.uint32(10).string(t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"lastDocumentSessionOperationId")&&e.uint32(18).string(t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&Object.hasOwnProperty.call(t,"currentDocumentSessionId")&&e.uint32(26).string(t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&Object.hasOwnProperty.call(t,"currentDocumentSessionVersion")&&e.uint32(32).uint32(t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(t,"currentDocumentSessionOperationId")&&e.uint32(42).string(t.currentDocumentSessionOperationId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetDocumentDetailsResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.lastDocumentSessionId=t.string();break;case 2:r.lastDocumentSessionOperationId=t.string();break;case 3:r.currentDocumentSessionId=t.string();break;case 4:r.currentDocumentSessionVersion=t.uint32();break;case 5:r.currentDocumentSessionOperationId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&!jt.isString(t.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&!jt.isString(t.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&!jt.isString(t.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&!jt.isInteger(t.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&!jt.isString(t.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.GetDocumentDetailsResponse)return t;let e=new Rt.GetDocumentDetailsResponse;return null!=t.lastDocumentSessionId&&(e.lastDocumentSessionId=String(t.lastDocumentSessionId)),null!=t.lastDocumentSessionOperationId&&(e.lastDocumentSessionOperationId=String(t.lastDocumentSessionOperationId)),null!=t.currentDocumentSessionId&&(e.currentDocumentSessionId=String(t.currentDocumentSessionId)),null!=t.currentDocumentSessionVersion&&(e.currentDocumentSessionVersion=t.currentDocumentSessionVersion>>>0),null!=t.currentDocumentSessionOperationId&&(e.currentDocumentSessionOperationId=String(t.currentDocumentSessionOperationId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=t.lastDocumentSessionId&&t.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=t.lastDocumentSessionId),null!=t.lastDocumentSessionOperationId&&t.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=t.lastDocumentSessionOperationId),null!=t.currentDocumentSessionId&&t.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=t.currentDocumentSessionId),null!=t.currentDocumentSessionVersion&&t.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=t.currentDocumentSessionVersion),null!=t.currentDocumentSessionOperationId&&t.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=t.currentDocumentSessionOperationId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetDocumentDetailsResponse"},t})(),Rt.CommentDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentId="",t.prototype.commentThreadId="",t.prototype.userId="",t.prototype.content="",t.prototype.documentId="",t.prototype.createdAt="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(10).string(t.commentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(18).string(t.commentThreadId),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(26).string(t.userId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&e.uint32(34).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(42).string(t.documentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(58).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentId=t.string();break;case 2:r.commentThreadId=t.string();break;case 3:r.userId=t.string();break;case 4:r.content=t.string();break;case 5:r.documentId=t.string();break;case 6:r.createdAt=t.string();break;case 7:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId)?"commentId: string expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.userId&&t.hasOwnProperty("userId")&&!jt.isString(t.userId)?"userId: string expected":null!=t.content&&t.hasOwnProperty("content")&&!jt.isString(t.content)?"content: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentDescriptor)return t;let e=new Rt.CommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentDescriptor"},t})(),Rt.CommentsThreadDescriptor=(()=>{function t(t){if(this.comments=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.comments=jt.emptyArray,t.prototype.resolvedAt="",t.prototype.resolvedBy="",t.prototype.context="",t.prototype.createdAt="",t.prototype.deletedAt="",t.prototype.attributes="",t.prototype.unlinkedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(let n=0;n<t.comments.length;++n)Rt.CommentDescriptor.encode(t.comments[n],e.uint32(18).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&e.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&e.uint32(34).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&e.uint32(42).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(50).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&e.uint32(58).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(66).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&e.uint32(74).string(t.unlinkedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsThreadDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Rt.CommentDescriptor.decode(t,t.uint32()));break;case 3:r.resolvedAt=t.string();break;case 4:r.resolvedBy=t.string();break;case 5:r.context=t.string();break;case 6:r.createdAt=t.string();break;case 7:r.deletedAt=t.string();break;case 8:r.attributes=t.string();break;case 9:r.unlinkedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(let e=0;e<t.comments.length;++e){let n=Rt.CommentDescriptor.verify(t.comments[e]);if(n)return"comments."+n}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!jt.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!jt.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!jt.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!jt.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!jt.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsThreadDescriptor)return t;let e=new Rt.CommentsThreadDescriptor;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");e.comments=[];for(let n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");e.comments[n]=Rt.CommentDescriptor.fromObject(t.comments[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(let r=0;r<t.comments.length;++r)n.comments[r]=Rt.CommentDescriptor.toObject(t.comments[r],e)}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsThreadDescriptor"},t})(),Rt.CommentThreadAddedCommentDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentId="",t.prototype.createdAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(10).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(18).string(t.createdAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentThreadAddedCommentDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentId=t.string();break;case 2:r.createdAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentThreadAddedCommentDescriptor)return t;let e=new Rt.CommentThreadAddedCommentDescriptor;return null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentId="",n.createdAt=""),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentThreadAddedCommentDescriptor"},t})(),Rt.CommentsV2AddCommentMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.content="",t.prototype.documentId="",t.prototype.commentId="",t.prototype.createdAt="",t.prototype.userId="",t.prototype.attributes="",t.prototype.commentThread=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&e.uint32(18).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(26).string(t.documentId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(34).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(42).string(t.createdAt),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(50).string(t.userId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(58).string(t.attributes),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&Rt.CommentsThreadDescriptor.encode(t.commentThread,e.uint32(66).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2AddCommentMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.content=t.string();break;case 3:r.documentId=t.string();break;case 4:r.commentId=t.string();break;case 5:r.createdAt=t.string();break;case 6:r.userId=t.string();break;case 7:r.attributes=t.string();break;case 8:r.commentThread=Rt.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!jt.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId))return"documentId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId))return"commentId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt))return"createdAt: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!jt.isString(t.userId))return"userId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes))return"attributes: string expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){let e=Rt.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2AddCommentMessage)return t;let e=new Rt.CommentsV2AddCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");e.commentThread=Rt.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=Rt.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentMessage"},t})(),Rt.CommentsV2AddCommentThreadMessage=(()=>{function t(t){if(this.comments=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.prototype.commentThreadId="",t.prototype.context="",t.prototype.createdAt="",t.prototype.resolvedAt="",t.prototype.resolvedBy="",t.prototype.attributes="",t.prototype.deletedAt="",t.prototype.comments=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(18).string(t.commentThreadId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&e.uint32(26).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(34).string(t.createdAt),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&e.uint32(42).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&e.uint32(50).string(t.resolvedBy),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(58).string(t.attributes),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&e.uint32(66).string(t.deletedAt),null!=t.comments&&t.comments.length)for(let n=0;n<t.comments.length;++n)Rt.CommentDescriptor.encode(t.comments[n],e.uint32(74).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2AddCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.documentId=t.string();break;case 2:r.commentThreadId=t.string();break;case 3:r.context=t.string();break;case 4:r.createdAt=t.string();break;case 5:r.resolvedAt=t.string();break;case 6:r.resolvedBy=t.string();break;case 7:r.attributes=t.string();break;case 8:r.deletedAt=t.string();break;case 9:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Rt.CommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId))return"documentId: string expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.context&&t.hasOwnProperty("context")&&!jt.isString(t.context))return"context: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt))return"createdAt: string expected";if(null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!jt.isString(t.resolvedAt))return"resolvedAt: string expected";if(null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!jt.isString(t.resolvedBy))return"resolvedBy: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes))return"attributes: string expected";if(null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!jt.isString(t.deletedAt))return"deletedAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(let e=0;e<t.comments.length;++e){let n=Rt.CommentDescriptor.verify(t.comments[e]);if(n)return"comments."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2AddCommentThreadMessage)return t;let e=new Rt.CommentsV2AddCommentThreadMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");e.comments=[];for(let n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");e.comments[n]=Rt.CommentDescriptor.fromObject(t.comments[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),t.comments&&t.comments.length){n.comments=[];for(let r=0;r<t.comments.length;++r)n.comments[r]=Rt.CommentDescriptor.toObject(t.comments[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadMessage"},t})(),Rt.CommentsV2ReopenCommentThreadMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2ReopenCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2ReopenCommentThreadMessage)return t;let e=new Rt.CommentsV2ReopenCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ReopenCommentThreadMessage"},t})(),Rt.CommentsV2ResolveCommentThreadMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.prototype.resolvedBy="",t.prototype.resolvedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&e.uint32(26).string(t.resolvedBy),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&e.uint32(34).string(t.resolvedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2ResolveCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;case 3:r.resolvedBy=t.string();break;case 4:r.resolvedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!jt.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!jt.isString(t.resolvedAt)?"resolvedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2ResolveCommentThreadMessage)return t;let e=new Rt.CommentsV2ResolveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadMessage"},t})(),Rt.CommentsV2UpdateCommentThreadMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.prototype.context="",t.prototype.attributes="",t.prototype.unlinkedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&e.uint32(26).string(t.context),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(34).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&e.uint32(42).string(t.unlinkedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2UpdateCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;case 3:r.context=t.string();break;case 4:r.attributes=t.string();break;case 5:r.unlinkedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.context&&t.hasOwnProperty("context")&&!jt.isString(t.context)?"context: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!jt.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2UpdateCommentThreadMessage)return t;let e=new Rt.CommentsV2UpdateCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.context&&(e.context=String(t.context)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentThreadMessage"},t})(),Rt.CommentsV2ConnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2ConnectMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.documentId=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2ConnectMessage)return t;let e=new Rt.CommentsV2ConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectMessage"},t})(),Rt.CommentsV2GetCommentThreadMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2GetCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2GetCommentThreadMessage)return t;let e=new Rt.CommentsV2GetCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadMessage"},t})(),Rt.CommentsV2GetDocumentThreadsMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2GetDocumentThreadsMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.documentId=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2GetDocumentThreadsMessage)return t;let e=new Rt.CommentsV2GetDocumentThreadsMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsMessage"},t})(),Rt.CommentsV2RemoveCommentMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.commentId="",t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(18).string(t.commentId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(26).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2RemoveCommentMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.commentId=t.string();break;case 3:r.documentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId)?"commentId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2RemoveCommentMessage)return t;let e=new Rt.CommentsV2RemoveCommentMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentMessage"},t})(),Rt.CommentsV2RemoveCommentThreadMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2RemoveCommentThreadMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2RemoveCommentThreadMessage)return t;let e=new Rt.CommentsV2RemoveCommentThreadMessage;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2RemoveCommentThreadMessage"},t})(),Rt.CommentsV2UpdateCommentMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.commentId="",t.prototype.content="",t.prototype.documentId="",t.prototype.attributes="",t.prototype.isAttributesUpdated=!1,t.prototype.commentThread=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(18).string(t.commentId),null!=t.content&&Object.hasOwnProperty.call(t,"content")&&e.uint32(26).string(t.content),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(34).string(t.documentId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(42).string(t.attributes),null!=t.isAttributesUpdated&&Object.hasOwnProperty.call(t,"isAttributesUpdated")&&e.uint32(48).bool(t.isAttributesUpdated),null!=t.commentThread&&Object.hasOwnProperty.call(t,"commentThread")&&Rt.CommentsThreadDescriptor.encode(t.commentThread,e.uint32(58).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2UpdateCommentMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.commentId=t.string();break;case 3:r.content=t.string();break;case 4:r.documentId=t.string();break;case 5:r.attributes=t.string();break;case 6:r.isAttributesUpdated=t.bool();break;case 7:r.commentThread=Rt.CommentsThreadDescriptor.decode(t,t.uint32());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId))return"commentId: string expected";if(null!=t.content&&t.hasOwnProperty("content")&&!jt.isString(t.content))return"content: string expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId))return"documentId: string expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes))return"attributes: string expected";if(null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof t.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=t.commentThread&&t.hasOwnProperty("commentThread")){let e=Rt.CommentsThreadDescriptor.verify(t.commentThread);if(e)return"commentThread."+e}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2UpdateCommentMessage)return t;let e=new Rt.CommentsV2UpdateCommentMessage;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.content&&(e.content=String(t.content)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.isAttributesUpdated&&(e.isAttributesUpdated=Boolean(t.isAttributesUpdated)),null!=t.commentThread){if("object"!=typeof t.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");e.commentThread=Rt.CommentsThreadDescriptor.fromObject(t.commentThread)}return e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.content&&t.hasOwnProperty("content")&&(n.content=t.content),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.isAttributesUpdated&&t.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=t.isAttributesUpdated),null!=t.commentThread&&t.hasOwnProperty("commentThread")&&(n.commentThread=Rt.CommentsThreadDescriptor.toObject(t.commentThread,e)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2UpdateCommentMessage"},t})(),Rt.CommentsV2AddCommentResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.commentId="",t.prototype.createdAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.commentId&&Object.hasOwnProperty.call(t,"commentId")&&e.uint32(18).string(t.commentId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(26).string(t.createdAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2AddCommentResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.commentId=t.string();break;case 3:r.createdAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.commentId&&t.hasOwnProperty("commentId")&&!jt.isString(t.commentId)?"commentId: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2AddCommentResponse)return t;let e=new Rt.CommentsV2AddCommentResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.commentId&&(e.commentId=String(t.commentId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.commentId&&t.hasOwnProperty("commentId")&&(n.commentId=t.commentId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentResponse"},t})(),Rt.CommentsV2AddCommentThreadResponse=(()=>{function t(t){if(this.comments=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.createdAt="",t.prototype.comments=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(18).string(t.createdAt),null!=t.comments&&t.comments.length)for(let n=0;n<t.comments.length;++n)Rt.CommentThreadAddedCommentDescriptor.encode(t.comments[n],e.uint32(26).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2AddCommentThreadResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.createdAt=t.string();break;case 3:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Rt.CommentThreadAddedCommentDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt))return"createdAt: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(let e=0;e<t.comments.length;++e){let n=Rt.CommentThreadAddedCommentDescriptor.verify(t.comments[e]);if(n)return"comments."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2AddCommentThreadResponse)return t;let e=new Rt.CommentsV2AddCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");e.comments=[];for(let n=0;n<t.comments.length;++n){if("object"!=typeof t.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");e.comments[n]=Rt.CommentThreadAddedCommentDescriptor.fromObject(t.comments[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.comments=[]),e.defaults&&(n.commentThreadId="",n.createdAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),t.comments&&t.comments.length){n.comments=[];for(let r=0;r<t.comments.length;++r)n.comments[r]=Rt.CommentThreadAddedCommentDescriptor.toObject(t.comments[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2AddCommentThreadResponse"},t})(),Rt.CommentsV2ResolveCommentThreadResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.documentId="",t.prototype.resolvedAt="",t.prototype.resolvedBy="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&e.uint32(26).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&e.uint32(34).string(t.resolvedBy),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2ResolveCommentThreadResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.documentId=t.string();break;case 3:r.resolvedAt=t.string();break;case 4:r.resolvedBy=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId)?"commentThreadId: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!jt.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!jt.isString(t.resolvedBy)?"resolvedBy: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2ResolveCommentThreadResponse)return t;let e=new Rt.CommentsV2ResolveCommentThreadResponse;return null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ResolveCommentThreadResponse"},t})(),Rt.CommentsV2ConnectResponse=(()=>{function t(t){if(this.threads=[],this.threadsV2=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.channel="",t.prototype.threads=jt.emptyArray,t.prototype.threadsV2=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),null!=t.threads&&t.threads.length)for(let n=0;n<t.threads.length;++n)e.uint32(18).string(t.threads[n]);if(null!=t.threadsV2&&t.threadsV2.length)for(let n=0;n<t.threadsV2.length;++n)Rt.CommentsThreadDescriptor.encode(t.threadsV2[n],e.uint32(26).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2ConnectResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.channel=t.string();break;case 2:r.threads&&r.threads.length||(r.threads=[]),r.threads.push(t.string());break;case 3:r.threadsV2&&r.threadsV2.length||(r.threadsV2=[]),r.threadsV2.push(Rt.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!jt.isString(t.channel))return"channel: string expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(let e=0;e<t.threads.length;++e)if(!jt.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(let e=0;e<t.threadsV2.length;++e){let n=Rt.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(n)return"threadsV2."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2ConnectResponse)return t;let e=new Rt.CommentsV2ConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");e.threads=[];for(let n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");e.threadsV2=[];for(let n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");e.threadsV2[n]=Rt.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.threads&&t.threads.length){n.threads=[];for(let e=0;e<t.threads.length;++e)n.threads[e]=t.threads[e]}if(t.threadsV2&&t.threadsV2.length){n.threadsV2=[];for(let r=0;r<t.threadsV2.length;++r)n.threadsV2[r]=Rt.CommentsThreadDescriptor.toObject(t.threadsV2[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2ConnectResponse"},t})(),Rt.CommentsV2GetCommentThreadResponse=(()=>{function t(t){if(this.comments=[],this.commentsV2=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.commentThreadId="",t.prototype.comments=jt.emptyArray,t.prototype.commentsV2=jt.emptyArray,t.prototype.resolvedAt="",t.prototype.resolvedBy="",t.prototype.context="",t.prototype.createdAt="",t.prototype.deletedAt="",t.prototype.attributes="",t.prototype.unlinkedAt="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.commentThreadId&&Object.hasOwnProperty.call(t,"commentThreadId")&&e.uint32(10).string(t.commentThreadId),null!=t.comments&&t.comments.length)for(let n=0;n<t.comments.length;++n)e.uint32(18).string(t.comments[n]);if(null!=t.commentsV2&&t.commentsV2.length)for(let n=0;n<t.commentsV2.length;++n)Rt.CommentDescriptor.encode(t.commentsV2[n],e.uint32(26).fork()).ldelim();return null!=t.resolvedAt&&Object.hasOwnProperty.call(t,"resolvedAt")&&e.uint32(34).string(t.resolvedAt),null!=t.resolvedBy&&Object.hasOwnProperty.call(t,"resolvedBy")&&e.uint32(42).string(t.resolvedBy),null!=t.context&&Object.hasOwnProperty.call(t,"context")&&e.uint32(50).string(t.context),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(58).string(t.createdAt),null!=t.deletedAt&&Object.hasOwnProperty.call(t,"deletedAt")&&e.uint32(66).string(t.deletedAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(74).string(t.attributes),null!=t.unlinkedAt&&Object.hasOwnProperty.call(t,"unlinkedAt")&&e.uint32(82).string(t.unlinkedAt),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2GetCommentThreadResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.commentThreadId=t.string();break;case 2:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(t.string());break;case 3:r.commentsV2&&r.commentsV2.length||(r.commentsV2=[]),r.commentsV2.push(Rt.CommentDescriptor.decode(t,t.uint32()));break;case 4:r.resolvedAt=t.string();break;case 5:r.resolvedBy=t.string();break;case 6:r.context=t.string();break;case 7:r.createdAt=t.string();break;case 8:r.deletedAt=t.string();break;case 9:r.attributes=t.string();break;case 10:r.unlinkedAt=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&!jt.isString(t.commentThreadId))return"commentThreadId: string expected";if(null!=t.comments&&t.hasOwnProperty("comments")){if(!Array.isArray(t.comments))return"comments: array expected";for(let e=0;e<t.comments.length;++e)if(!jt.isString(t.comments[e]))return"comments: string[] expected"}if(null!=t.commentsV2&&t.hasOwnProperty("commentsV2")){if(!Array.isArray(t.commentsV2))return"commentsV2: array expected";for(let e=0;e<t.commentsV2.length;++e){let n=Rt.CommentDescriptor.verify(t.commentsV2[e]);if(n)return"commentsV2."+n}}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&!jt.isString(t.resolvedAt)?"resolvedAt: string expected":null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&!jt.isString(t.resolvedBy)?"resolvedBy: string expected":null!=t.context&&t.hasOwnProperty("context")&&!jt.isString(t.context)?"context: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&!jt.isString(t.deletedAt)?"deletedAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&!jt.isString(t.unlinkedAt)?"unlinkedAt: string expected":null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2GetCommentThreadResponse)return t;let e=new Rt.CommentsV2GetCommentThreadResponse;if(null!=t.commentThreadId&&(e.commentThreadId=String(t.commentThreadId)),t.comments){if(!Array.isArray(t.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");e.comments=[];for(let n=0;n<t.comments.length;++n)e.comments[n]=String(t.comments[n])}if(t.commentsV2){if(!Array.isArray(t.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");e.commentsV2=[];for(let n=0;n<t.commentsV2.length;++n){if("object"!=typeof t.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");e.commentsV2[n]=Rt.CommentDescriptor.fromObject(t.commentsV2[n])}}return null!=t.resolvedAt&&(e.resolvedAt=String(t.resolvedAt)),null!=t.resolvedBy&&(e.resolvedBy=String(t.resolvedBy)),null!=t.context&&(e.context=String(t.context)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.deletedAt&&(e.deletedAt=String(t.deletedAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.unlinkedAt&&(e.unlinkedAt=String(t.unlinkedAt)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.comments=[],n.commentsV2=[]),e.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=t.commentThreadId&&t.hasOwnProperty("commentThreadId")&&(n.commentThreadId=t.commentThreadId),t.comments&&t.comments.length){n.comments=[];for(let e=0;e<t.comments.length;++e)n.comments[e]=t.comments[e]}if(t.commentsV2&&t.commentsV2.length){n.commentsV2=[];for(let r=0;r<t.commentsV2.length;++r)n.commentsV2[r]=Rt.CommentDescriptor.toObject(t.commentsV2[r],e)}return null!=t.resolvedAt&&t.hasOwnProperty("resolvedAt")&&(n.resolvedAt=t.resolvedAt),null!=t.resolvedBy&&t.hasOwnProperty("resolvedBy")&&(n.resolvedBy=t.resolvedBy),null!=t.context&&t.hasOwnProperty("context")&&(n.context=t.context),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.deletedAt&&t.hasOwnProperty("deletedAt")&&(n.deletedAt=t.deletedAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.unlinkedAt&&t.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=t.unlinkedAt),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetCommentThreadResponse"},t})(),Rt.CommentsV2GetDocumentThreadsResponse=(()=>{function t(t){if(this.threads=[],this.threadsV2=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.threads=jt.emptyArray,t.prototype.threadsV2=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.threads&&t.threads.length)for(let n=0;n<t.threads.length;++n)e.uint32(10).string(t.threads[n]);if(null!=t.threadsV2&&t.threadsV2.length)for(let n=0;n<t.threadsV2.length;++n)Rt.CommentsThreadDescriptor.encode(t.threadsV2[n],e.uint32(18).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.CommentsV2GetDocumentThreadsResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.threads&&r.threads.length||(r.threads=[]),r.threads.push(t.string());break;case 2:r.threadsV2&&r.threadsV2.length||(r.threadsV2=[]),r.threadsV2.push(Rt.CommentsThreadDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.threads&&t.hasOwnProperty("threads")){if(!Array.isArray(t.threads))return"threads: array expected";for(let e=0;e<t.threads.length;++e)if(!jt.isString(t.threads[e]))return"threads: string[] expected"}if(null!=t.threadsV2&&t.hasOwnProperty("threadsV2")){if(!Array.isArray(t.threadsV2))return"threadsV2: array expected";for(let e=0;e<t.threadsV2.length;++e){let n=Rt.CommentsThreadDescriptor.verify(t.threadsV2[e]);if(n)return"threadsV2."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.CommentsV2GetDocumentThreadsResponse)return t;let e=new Rt.CommentsV2GetDocumentThreadsResponse;if(t.threads){if(!Array.isArray(t.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");e.threads=[];for(let n=0;n<t.threads.length;++n)e.threads[n]=String(t.threads[n])}if(t.threadsV2){if(!Array.isArray(t.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");e.threadsV2=[];for(let n=0;n<t.threadsV2.length;++n){if("object"!=typeof t.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");e.threadsV2[n]=Rt.CommentsThreadDescriptor.fromObject(t.threadsV2[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.threads=[],n.threadsV2=[]),t.threads&&t.threads.length){n.threads=[];for(let e=0;e<t.threads.length;++e)n.threads[e]=t.threads[e]}if(t.threadsV2&&t.threadsV2.length){n.threadsV2=[];for(let r=0;r<t.threadsV2.length;++r)n.threadsV2[r]=Rt.CommentsThreadDescriptor.toObject(t.threadsV2[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/CommentsV2GetDocumentThreadsResponse"},t})(),Rt.KeyValueDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.key="",t.prototype.value="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&e.uint32(10).string(t.key),null!=t.value&&Object.hasOwnProperty.call(t,"value")&&e.uint32(18).string(t.value),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.KeyValueDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.key=t.string();break;case 2:r.value=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.key&&t.hasOwnProperty("key")&&!jt.isString(t.key)?"key: string expected":null!=t.value&&t.hasOwnProperty("value")&&!jt.isString(t.value)?"value: string expected":null},t.fromObject=function(t){if(t instanceof Rt.KeyValueDescriptor)return t;let e=new Rt.KeyValueDescriptor;return null!=t.key&&(e.key=String(t.key)),null!=t.value&&(e.value=String(t.value)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.key="",n.value=""),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.value&&t.hasOwnProperty("value")&&(n.value=t.value),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/KeyValueDescriptor"},t})(),Rt.IsEditorBundleUploadedMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.bundleVersion="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.bundleVersion&&Object.hasOwnProperty.call(t,"bundleVersion")&&e.uint32(10).string(t.bundleVersion),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.IsEditorBundleUploadedMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.bundleVersion=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&!jt.isString(t.bundleVersion)?"bundleVersion: string expected":null},t.fromObject=function(t){if(t instanceof Rt.IsEditorBundleUploadedMessage)return t;let e=new Rt.IsEditorBundleUploadedMessage;return null!=t.bundleVersion&&(e.bundleVersion=String(t.bundleVersion)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.bundleVersion=""),null!=t.bundleVersion&&t.hasOwnProperty("bundleVersion")&&(n.bundleVersion=t.bundleVersion),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedMessage"},t})(),Rt.IsEditorBundleUploadedResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.isUploaded=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.isUploaded&&Object.hasOwnProperty.call(t,"isUploaded")&&e.uint32(8).bool(t.isUploaded),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.IsEditorBundleUploadedResponse;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.isUploaded=t.bool():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&"boolean"!=typeof t.isUploaded?"isUploaded: boolean expected":null},t.fromObject=function(t){if(t instanceof Rt.IsEditorBundleUploadedResponse)return t;let e=new Rt.IsEditorBundleUploadedResponse;return null!=t.isUploaded&&(e.isUploaded=Boolean(t.isUploaded)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.isUploaded=!1),null!=t.isUploaded&&t.hasOwnProperty("isUploaded")&&(n.isUploaded=t.isUploaded),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/IsEditorBundleUploadedResponse"},t})(),Rt.RevisionDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.revisionId="",t.prototype.name="",t.prototype.creatorId="",t.prototype.authorsIds="",t.prototype.diffData="",t.prototype.createdAt="",t.prototype.attributes="",t.prototype.toVersion=0,t.prototype.fromVersion=0,t.prototype.isEmptyCurrent=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&e.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&e.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&e.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&e.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&e.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&e.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&e.uint32(80).bool(t.isEmptyCurrent),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.revisionId=t.string();break;case 2:r.name=t.string();break;case 3:r.creatorId=t.string();break;case 4:r.authorsIds=t.string();break;case 5:r.diffData=t.string();break;case 6:r.createdAt=t.string();break;case 7:r.attributes=t.string();break;case 8:r.toVersion=t.uint32();break;case 9:r.fromVersion=t.uint32();break;case 10:r.isEmptyCurrent=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!jt.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!jt.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!jt.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!jt.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!jt.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!jt.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!jt.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionDescriptor)return t;let e=new Rt.RevisionDescriptor;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionDescriptor"},t})(),Rt.RevisionHistoryConnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryConnectMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.documentId=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryConnectMessage)return t;let e=new Rt.RevisionHistoryConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectMessage"},t})(),Rt.RevisionHistoryGetRevisionMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.prototype.revisionId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&e.uint32(18).string(t.revisionId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryGetRevisionMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.documentId=t.string();break;case 2:r.revisionId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!jt.isString(t.revisionId)?"revisionId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryGetRevisionMessage)return t;let e=new Rt.RevisionHistoryGetRevisionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.revisionId&&(e.revisionId=String(t.revisionId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId="",n.revisionId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionMessage"},t})(),Rt.RevisionHistoryReconnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.prototype.requestId=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&e.uint32(16).uint32(t.requestId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryReconnectMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.documentId=t.string();break;case 2:r.requestId=t.uint32();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!jt.isInteger(t.requestId)?"requestId: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryReconnectMessage)return t;let e=new Rt.RevisionHistoryReconnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryReconnectMessage"},t})(),Rt.RevisionHistoryUpdateRevisionsMessage=(()=>{function t(t){if(this.revisions=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.prototype.requestId=0,t.prototype.revisions=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&e.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(let n=0;n<t.revisions.length;++n)Rt.RevisionDescriptor.encode(t.revisions[n],e.uint32(26).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryUpdateRevisionsMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.documentId=t.string();break;case 2:r.requestId=t.uint32();break;case 3:r.revisions&&r.revisions.length||(r.revisions=[]),r.revisions.push(Rt.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId))return"documentId: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!jt.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(let e=0;e<t.revisions.length;++e){let n=Rt.RevisionDescriptor.verify(t.revisions[e]);if(n)return"revisions."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryUpdateRevisionsMessage)return t;let e=new Rt.RevisionHistoryUpdateRevisionsMessage;if(null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");e.revisions=[];for(let n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");e.revisions[n]=Rt.RevisionDescriptor.fromObject(t.revisions[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.documentId="",n.requestId=0),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(let r=0;r<t.revisions.length;++r)n.revisions[r]=Rt.RevisionDescriptor.toObject(t.revisions[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsMessage"},t})(),Rt.RevisionHistoryConnectResponse=(()=>{function t(t){if(this.revisions=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.channel="",t.prototype.requestId=0,t.prototype.revisions=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&e.uint32(16).uint32(t.requestId),null!=t.revisions&&t.revisions.length)for(let n=0;n<t.revisions.length;++n)Rt.RevisionDescriptor.encode(t.revisions[n],e.uint32(26).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryConnectResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.channel=t.string();break;case 2:r.requestId=t.uint32();break;case 3:r.revisions&&r.revisions.length||(r.revisions=[]),r.revisions.push(Rt.RevisionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!jt.isString(t.channel))return"channel: string expected";if(null!=t.requestId&&t.hasOwnProperty("requestId")&&!jt.isInteger(t.requestId))return"requestId: integer expected";if(null!=t.revisions&&t.hasOwnProperty("revisions")){if(!Array.isArray(t.revisions))return"revisions: array expected";for(let e=0;e<t.revisions.length;++e){let n=Rt.RevisionDescriptor.verify(t.revisions[e]);if(n)return"revisions."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryConnectResponse)return t;let e=new Rt.RevisionHistoryConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),null!=t.requestId&&(e.requestId=t.requestId>>>0),t.revisions){if(!Array.isArray(t.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");e.revisions=[];for(let n=0;n<t.revisions.length;++n){if("object"!=typeof t.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");e.revisions[n]=Rt.RevisionDescriptor.fromObject(t.revisions[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.revisions=[]),e.defaults&&(n.channel="",n.requestId=0),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),t.revisions&&t.revisions.length){n.revisions=[];for(let r=0;r<t.revisions.length;++r)n.revisions[r]=Rt.RevisionDescriptor.toObject(t.revisions[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryConnectResponse"},t})(),Rt.RevisionHistoryGetRevisionResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.revisionId="",t.prototype.name="",t.prototype.creatorId="",t.prototype.authorsIds="",t.prototype.diffData="",t.prototype.createdAt="",t.prototype.attributes="",t.prototype.toVersion=0,t.prototype.fromVersion=0,t.prototype.isEmptyCurrent=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.revisionId&&Object.hasOwnProperty.call(t,"revisionId")&&e.uint32(10).string(t.revisionId),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&e.uint32(18).string(t.name),null!=t.creatorId&&Object.hasOwnProperty.call(t,"creatorId")&&e.uint32(26).string(t.creatorId),null!=t.authorsIds&&Object.hasOwnProperty.call(t,"authorsIds")&&e.uint32(34).string(t.authorsIds),null!=t.diffData&&Object.hasOwnProperty.call(t,"diffData")&&e.uint32(42).string(t.diffData),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(50).string(t.createdAt),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(58).string(t.attributes),null!=t.toVersion&&Object.hasOwnProperty.call(t,"toVersion")&&e.uint32(64).uint32(t.toVersion),null!=t.fromVersion&&Object.hasOwnProperty.call(t,"fromVersion")&&e.uint32(72).uint32(t.fromVersion),null!=t.isEmptyCurrent&&Object.hasOwnProperty.call(t,"isEmptyCurrent")&&e.uint32(80).bool(t.isEmptyCurrent),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryGetRevisionResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.revisionId=t.string();break;case 2:r.name=t.string();break;case 3:r.creatorId=t.string();break;case 4:r.authorsIds=t.string();break;case 5:r.diffData=t.string();break;case 6:r.createdAt=t.string();break;case 7:r.attributes=t.string();break;case 8:r.toVersion=t.uint32();break;case 9:r.fromVersion=t.uint32();break;case 10:r.isEmptyCurrent=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.revisionId&&t.hasOwnProperty("revisionId")&&!jt.isString(t.revisionId)?"revisionId: string expected":null!=t.name&&t.hasOwnProperty("name")&&!jt.isString(t.name)?"name: string expected":null!=t.creatorId&&t.hasOwnProperty("creatorId")&&!jt.isString(t.creatorId)?"creatorId: string expected":null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&!jt.isString(t.authorsIds)?"authorsIds: string expected":null!=t.diffData&&t.hasOwnProperty("diffData")&&!jt.isString(t.diffData)?"diffData: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null!=t.toVersion&&t.hasOwnProperty("toVersion")&&!jt.isInteger(t.toVersion)?"toVersion: integer expected":null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&!jt.isInteger(t.fromVersion)?"fromVersion: integer expected":null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof t.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryGetRevisionResponse)return t;let e=new Rt.RevisionHistoryGetRevisionResponse;return null!=t.revisionId&&(e.revisionId=String(t.revisionId)),null!=t.name&&(e.name=String(t.name)),null!=t.creatorId&&(e.creatorId=String(t.creatorId)),null!=t.authorsIds&&(e.authorsIds=String(t.authorsIds)),null!=t.diffData&&(e.diffData=String(t.diffData)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.attributes&&(e.attributes=String(t.attributes)),null!=t.toVersion&&(e.toVersion=t.toVersion>>>0),null!=t.fromVersion&&(e.fromVersion=t.fromVersion>>>0),null!=t.isEmptyCurrent&&(e.isEmptyCurrent=Boolean(t.isEmptyCurrent)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=t.revisionId&&t.hasOwnProperty("revisionId")&&(n.revisionId=t.revisionId),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.creatorId&&t.hasOwnProperty("creatorId")&&(n.creatorId=t.creatorId),null!=t.authorsIds&&t.hasOwnProperty("authorsIds")&&(n.authorsIds=t.authorsIds),null!=t.diffData&&t.hasOwnProperty("diffData")&&(n.diffData=t.diffData),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),null!=t.toVersion&&t.hasOwnProperty("toVersion")&&(n.toVersion=t.toVersion),null!=t.fromVersion&&t.hasOwnProperty("fromVersion")&&(n.fromVersion=t.fromVersion),null!=t.isEmptyCurrent&&t.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=t.isEmptyCurrent),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryGetRevisionResponse"},t})(),Rt.RevisionHistoryUpdateRevisionsResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.requestId=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.requestId&&Object.hasOwnProperty.call(t,"requestId")&&e.uint32(8).uint32(t.requestId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.RevisionHistoryUpdateRevisionsResponse;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.requestId=t.uint32():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.requestId&&t.hasOwnProperty("requestId")&&!jt.isInteger(t.requestId)?"requestId: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.RevisionHistoryUpdateRevisionsResponse)return t;let e=new Rt.RevisionHistoryUpdateRevisionsResponse;return null!=t.requestId&&(e.requestId=t.requestId>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.requestId=0),null!=t.requestId&&t.hasOwnProperty("requestId")&&(n.requestId=t.requestId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RevisionHistoryUpdateRevisionsResponse"},t})(),Rt.SessionsSocketDescriptor=(()=>{function t(t){if(this.permissions=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.session="",t.prototype.user="",t.prototype.role="",t.prototype.permissions=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.session&&Object.hasOwnProperty.call(t,"session")&&e.uint32(10).string(t.session),null!=t.user&&Object.hasOwnProperty.call(t,"user")&&e.uint32(18).string(t.user),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&e.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(let n=0;n<t.permissions.length;++n)e.uint32(34).string(t.permissions[n]);return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SessionsSocketDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.session=t.string();break;case 2:r.user=t.string();break;case 3:r.role=t.string();break;case 4:r.permissions&&r.permissions.length||(r.permissions=[]),r.permissions.push(t.string());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.session&&t.hasOwnProperty("session")&&!jt.isString(t.session))return"session: string expected";if(null!=t.user&&t.hasOwnProperty("user")&&!jt.isString(t.user))return"user: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!jt.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(let e=0;e<t.permissions.length;++e)if(!jt.isString(t.permissions[e]))return"permissions: string[] expected"}return null},t.fromObject=function(t){if(t instanceof Rt.SessionsSocketDescriptor)return t;let e=new Rt.SessionsSocketDescriptor;if(null!=t.session&&(e.session=String(t.session)),null!=t.user&&(e.user=String(t.user)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");e.permissions=[];for(let n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.session="",n.user="",n.role=""),null!=t.session&&t.hasOwnProperty("session")&&(n.session=t.session),null!=t.user&&t.hasOwnProperty("user")&&(n.user=t.user),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(let e=0;e<t.permissions.length;++e)n.permissions[e]=t.permissions[e]}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsSocketDescriptor"},t})(),Rt.SessionsConnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.sessionType=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.sessionType&&Object.hasOwnProperty.call(t,"sessionType")&&e.uint32(16).uint32(t.sessionType),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SessionsConnectMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.sessionType=t.uint32();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.sessionType&&t.hasOwnProperty("sessionType")&&!jt.isInteger(t.sessionType)?"sessionType: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.SessionsConnectMessage)return t;let e=new Rt.SessionsConnectMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.sessionType&&(e.sessionType=t.sessionType>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.sessionType=0),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.sessionType&&t.hasOwnProperty("sessionType")&&(n.sessionType=t.sessionType),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectMessage"},t})(),Rt.SocketConnectMessage=(()=>{function t(t){if(this.permissions=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.userId="",t.prototype.role="",t.prototype.permissions=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.userId&&Object.hasOwnProperty.call(t,"userId")&&e.uint32(18).string(t.userId),null!=t.role&&Object.hasOwnProperty.call(t,"role")&&e.uint32(26).string(t.role),null!=t.permissions&&t.permissions.length)for(let n=0;n<t.permissions.length;++n)e.uint32(34).string(t.permissions[n]);return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SocketConnectMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.userId=t.string();break;case 3:r.role=t.string();break;case 4:r.permissions&&r.permissions.length||(r.permissions=[]),r.permissions.push(t.string());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id))return"id: string expected";if(null!=t.userId&&t.hasOwnProperty("userId")&&!jt.isString(t.userId))return"userId: string expected";if(null!=t.role&&t.hasOwnProperty("role")&&!jt.isString(t.role))return"role: string expected";if(null!=t.permissions&&t.hasOwnProperty("permissions")){if(!Array.isArray(t.permissions))return"permissions: array expected";for(let e=0;e<t.permissions.length;++e)if(!jt.isString(t.permissions[e]))return"permissions: string[] expected"}return null},t.fromObject=function(t){if(t instanceof Rt.SocketConnectMessage)return t;let e=new Rt.SocketConnectMessage;if(null!=t.id&&(e.id=String(t.id)),null!=t.userId&&(e.userId=String(t.userId)),null!=t.role&&(e.role=String(t.role)),t.permissions){if(!Array.isArray(t.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");e.permissions=[];for(let n=0;n<t.permissions.length;++n)e.permissions[n]=String(t.permissions[n])}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.permissions=[]),e.defaults&&(n.id="",n.userId="",n.role=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.userId&&t.hasOwnProperty("userId")&&(n.userId=t.userId),null!=t.role&&t.hasOwnProperty("role")&&(n.role=t.role),t.permissions&&t.permissions.length){n.permissions=[];for(let e=0;e<t.permissions.length;++e)n.permissions[e]=t.permissions[e]}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketConnectMessage"},t})(),Rt.SocketDisconnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SocketDisconnectMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.id=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null},t.fromObject=function(t){if(t instanceof Rt.SocketDisconnectMessage)return t;let e=new Rt.SocketDisconnectMessage;return null!=t.id&&(e.id=String(t.id)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SocketDisconnectMessage"},t})(),Rt.SessionsConnectResponse=(()=>{function t(t){if(this.sockets=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.channel="",t.prototype.sockets=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),null!=t.sockets&&t.sockets.length)for(let n=0;n<t.sockets.length;++n)Rt.SessionsSocketDescriptor.encode(t.sockets[n],e.uint32(18).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SessionsConnectResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.channel=t.string();break;case 2:r.sockets&&r.sockets.length||(r.sockets=[]),r.sockets.push(Rt.SessionsSocketDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!jt.isString(t.channel))return"channel: string expected";if(null!=t.sockets&&t.hasOwnProperty("sockets")){if(!Array.isArray(t.sockets))return"sockets: array expected";for(let e=0;e<t.sockets.length;++e){let n=Rt.SessionsSocketDescriptor.verify(t.sockets[e]);if(n)return"sockets."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.SessionsConnectResponse)return t;let e=new Rt.SessionsConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.sockets){if(!Array.isArray(t.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");e.sockets=[];for(let n=0;n<t.sockets.length;++n){if("object"!=typeof t.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");e.sockets[n]=Rt.SessionsSocketDescriptor.fromObject(t.sockets[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.sockets=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.sockets&&t.sockets.length){n.sockets=[];for(let r=0;r<t.sockets.length;++r)n.sockets[r]=Rt.SessionsSocketDescriptor.toObject(t.sockets[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SessionsConnectResponse"},t})(),Rt.SuggestionDescriptor=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.authorId="",t.prototype.type="",t.prototype.createdAt="",t.prototype.data="",t.prototype.hasComments=!1,t.prototype.state="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&e.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&e.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&e.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(66).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.SuggestionDescriptor;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.authorId=t.string();break;case 3:r.type=t.string();break;case 4:r.createdAt=t.string();break;case 5:r.data=t.string();break;case 6:r.hasComments=t.bool();break;case 7:r.state=t.string();break;case 8:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!jt.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!jt.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.SuggestionDescriptor)return t;let e=new Rt.SuggestionDescriptor;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SuggestionDescriptor"},t})(),Rt.TrackChangesAddSuggestionMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.documentId="",t.prototype.type="",t.prototype.data="",t.prototype.originalSuggestionId="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(26).string(t.type),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(34).string(t.data),null!=t.originalSuggestionId&&Object.hasOwnProperty.call(t,"originalSuggestionId")&&e.uint32(42).string(t.originalSuggestionId),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(50).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesAddSuggestionMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.documentId=t.string();break;case 3:r.type=t.string();break;case 4:r.data=t.string();break;case 5:r.originalSuggestionId=t.string();break;case 6:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isString(t.type)?"type: string expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&!jt.isString(t.originalSuggestionId)?"originalSuggestionId: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesAddSuggestionMessage)return t;let e=new Rt.TrackChangesAddSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.type&&(e.type=String(t.type)),null!=t.data&&(e.data=String(t.data)),null!=t.originalSuggestionId&&(e.originalSuggestionId=String(t.originalSuggestionId)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.originalSuggestionId&&t.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=t.originalSuggestionId),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionMessage"},t})(),Rt.TrackChangesBatchUpdateSuggestionsStateMessage=(()=>{function t(t){if(this.ids=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.ids=jt.emptyArray,t.prototype.documentId="",t.prototype.state="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.ids&&t.ids.length)for(let n=0;n<t.ids.length;++n)e.uint32(10).string(t.ids[n]);return null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&e.uint32(26).string(t.state),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesBatchUpdateSuggestionsStateMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.ids&&r.ids.length||(r.ids=[]),r.ids.push(t.string());break;case 2:r.documentId=t.string();break;case 3:r.state=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(let e=0;e<t.ids.length;++e)if(!jt.isString(t.ids[e]))return"ids: string[] expected"}return null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.state&&t.hasOwnProperty("state")&&!jt.isString(t.state)?"state: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesBatchUpdateSuggestionsStateMessage)return t;let e=new Rt.TrackChangesBatchUpdateSuggestionsStateMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");e.ids=[];for(let n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.state&&(e.state=String(t.state)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.ids=[]),e.defaults&&(n.documentId="",n.state=""),t.ids&&t.ids.length){n.ids=[];for(let e=0;e<t.ids.length;++e)n.ids[e]=t.ids[e]}return null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesBatchUpdateSuggestionsStateMessage"},t})(),Rt.TrackChangesConnectMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesConnectMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.documentId=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesConnectMessage)return t;let e=new Rt.TrackChangesConnectMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectMessage"},t})(),Rt.TrackChangesGetAllSuggestionMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(10).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesGetAllSuggestionMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.documentId=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesGetAllSuggestionMessage)return t;let e=new Rt.TrackChangesGetAllSuggestionMessage;return null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.documentId=""),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionMessage"},t})(),Rt.TrackChangesGetSuggestionMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.documentId="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesGetSuggestionMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.documentId=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesGetSuggestionMessage)return t;let e=new Rt.TrackChangesGetSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.documentId=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionMessage"},t})(),Rt.TrackChangesUpdateSuggestionMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.documentId="",t.prototype.hasComments=!1,t.prototype.isHasCommentsModified=!1,t.prototype.state="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.documentId&&Object.hasOwnProperty.call(t,"documentId")&&e.uint32(18).string(t.documentId),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&e.uint32(24).bool(t.hasComments),null!=t.isHasCommentsModified&&Object.hasOwnProperty.call(t,"isHasCommentsModified")&&e.uint32(32).bool(t.isHasCommentsModified),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&e.uint32(42).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(50).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesUpdateSuggestionMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.documentId=t.string();break;case 3:r.hasComments=t.bool();break;case 4:r.isHasCommentsModified=t.bool();break;case 5:r.state=t.string();break;case 6:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.documentId&&t.hasOwnProperty("documentId")&&!jt.isString(t.documentId)?"documentId: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof t.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!jt.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesUpdateSuggestionMessage)return t;let e=new Rt.TrackChangesUpdateSuggestionMessage;return null!=t.id&&(e.id=String(t.id)),null!=t.documentId&&(e.documentId=String(t.documentId)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.isHasCommentsModified&&(e.isHasCommentsModified=Boolean(t.isHasCommentsModified)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.documentId&&t.hasOwnProperty("documentId")&&(n.documentId=t.documentId),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.isHasCommentsModified&&t.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=t.isHasCommentsModified),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesUpdateSuggestionMessage"},t})(),Rt.TrackChangesAddSuggestionResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.authorId="",t.prototype.type="",t.prototype.createdAt="",t.prototype.data="",t.prototype.hasComments=!1,t.prototype.state="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&e.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&e.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&e.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(66).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesAddSuggestionResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.authorId=t.string();break;case 3:r.type=t.string();break;case 4:r.createdAt=t.string();break;case 5:r.data=t.string();break;case 6:r.hasComments=t.bool();break;case 7:r.state=t.string();break;case 8:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!jt.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!jt.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesAddSuggestionResponse)return t;let e=new Rt.TrackChangesAddSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesAddSuggestionResponse"},t})(),Rt.TrackChangesConnectResponse=(()=>{function t(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.channel="",t.prototype.suggestions=jt.emptyArray,t.prototype.suggestionsV2=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.channel&&Object.hasOwnProperty.call(t,"channel")&&e.uint32(10).string(t.channel),null!=t.suggestions&&t.suggestions.length)for(let n=0;n<t.suggestions.length;++n)e.uint32(18).string(t.suggestions[n]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(let n=0;n<t.suggestionsV2.length;++n)Rt.SuggestionDescriptor.encode(t.suggestionsV2[n],e.uint32(26).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesConnectResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.channel=t.string();break;case 2:r.suggestions&&r.suggestions.length||(r.suggestions=[]),r.suggestions.push(t.string());break;case 3:r.suggestionsV2&&r.suggestionsV2.length||(r.suggestionsV2=[]),r.suggestionsV2.push(Rt.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.channel&&t.hasOwnProperty("channel")&&!jt.isString(t.channel))return"channel: string expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(let e=0;e<t.suggestions.length;++e)if(!jt.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(let e=0;e<t.suggestionsV2.length;++e){let n=Rt.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(n)return"suggestionsV2."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesConnectResponse)return t;let e=new Rt.TrackChangesConnectResponse;if(null!=t.channel&&(e.channel=String(t.channel)),t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");e.suggestions=[];for(let n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");e.suggestionsV2=[];for(let n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");e.suggestionsV2[n]=Rt.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.defaults&&(n.channel=""),null!=t.channel&&t.hasOwnProperty("channel")&&(n.channel=t.channel),t.suggestions&&t.suggestions.length){n.suggestions=[];for(let e=0;e<t.suggestions.length;++e)n.suggestions[e]=t.suggestions[e]}if(t.suggestionsV2&&t.suggestionsV2.length){n.suggestionsV2=[];for(let r=0;r<t.suggestionsV2.length;++r)n.suggestionsV2[r]=Rt.SuggestionDescriptor.toObject(t.suggestionsV2[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesConnectResponse"},t})(),Rt.TrackChangesGetAllSuggestionsResponse=(()=>{function t(t){if(this.suggestions=[],this.suggestionsV2=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.suggestions=jt.emptyArray,t.prototype.suggestionsV2=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.suggestions&&t.suggestions.length)for(let n=0;n<t.suggestions.length;++n)e.uint32(10).string(t.suggestions[n]);if(null!=t.suggestionsV2&&t.suggestionsV2.length)for(let n=0;n<t.suggestionsV2.length;++n)Rt.SuggestionDescriptor.encode(t.suggestionsV2[n],e.uint32(18).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesGetAllSuggestionsResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.suggestions&&r.suggestions.length||(r.suggestions=[]),r.suggestions.push(t.string());break;case 2:r.suggestionsV2&&r.suggestionsV2.length||(r.suggestionsV2=[]),r.suggestionsV2.push(Rt.SuggestionDescriptor.decode(t,t.uint32()));break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.suggestions&&t.hasOwnProperty("suggestions")){if(!Array.isArray(t.suggestions))return"suggestions: array expected";for(let e=0;e<t.suggestions.length;++e)if(!jt.isString(t.suggestions[e]))return"suggestions: string[] expected"}if(null!=t.suggestionsV2&&t.hasOwnProperty("suggestionsV2")){if(!Array.isArray(t.suggestionsV2))return"suggestionsV2: array expected";for(let e=0;e<t.suggestionsV2.length;++e){let n=Rt.SuggestionDescriptor.verify(t.suggestionsV2[e]);if(n)return"suggestionsV2."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesGetAllSuggestionsResponse)return t;let e=new Rt.TrackChangesGetAllSuggestionsResponse;if(t.suggestions){if(!Array.isArray(t.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");e.suggestions=[];for(let n=0;n<t.suggestions.length;++n)e.suggestions[n]=String(t.suggestions[n])}if(t.suggestionsV2){if(!Array.isArray(t.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");e.suggestionsV2=[];for(let n=0;n<t.suggestionsV2.length;++n){if("object"!=typeof t.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");e.suggestionsV2[n]=Rt.SuggestionDescriptor.fromObject(t.suggestionsV2[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.suggestions&&t.suggestions.length){n.suggestions=[];for(let e=0;e<t.suggestions.length;++e)n.suggestions[e]=t.suggestions[e]}if(t.suggestionsV2&&t.suggestionsV2.length){n.suggestionsV2=[];for(let r=0;r<t.suggestionsV2.length;++r)n.suggestionsV2[r]=Rt.SuggestionDescriptor.toObject(t.suggestionsV2[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetAllSuggestionsResponse"},t})(),Rt.TrackChangesGetSuggestionResponse=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.prototype.authorId="",t.prototype.type="",t.prototype.createdAt="",t.prototype.data="",t.prototype.hasComments=!1,t.prototype.state="",t.prototype.attributes="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),null!=t.authorId&&Object.hasOwnProperty.call(t,"authorId")&&e.uint32(18).string(t.authorId),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(26).string(t.type),null!=t.createdAt&&Object.hasOwnProperty.call(t,"createdAt")&&e.uint32(34).string(t.createdAt),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(42).string(t.data),null!=t.hasComments&&Object.hasOwnProperty.call(t,"hasComments")&&e.uint32(48).bool(t.hasComments),null!=t.state&&Object.hasOwnProperty.call(t,"state")&&e.uint32(58).string(t.state),null!=t.attributes&&Object.hasOwnProperty.call(t,"attributes")&&e.uint32(66).string(t.attributes),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.TrackChangesGetSuggestionResponse;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.id=t.string();break;case 2:r.authorId=t.string();break;case 3:r.type=t.string();break;case 4:r.createdAt=t.string();break;case 5:r.data=t.string();break;case 6:r.hasComments=t.bool();break;case 7:r.state=t.string();break;case 8:r.attributes=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null!=t.authorId&&t.hasOwnProperty("authorId")&&!jt.isString(t.authorId)?"authorId: string expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isString(t.type)?"type: string expected":null!=t.createdAt&&t.hasOwnProperty("createdAt")&&!jt.isString(t.createdAt)?"createdAt: string expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.hasComments&&t.hasOwnProperty("hasComments")&&"boolean"!=typeof t.hasComments?"hasComments: boolean expected":null!=t.state&&t.hasOwnProperty("state")&&!jt.isString(t.state)?"state: string expected":null!=t.attributes&&t.hasOwnProperty("attributes")&&!jt.isString(t.attributes)?"attributes: string expected":null},t.fromObject=function(t){if(t instanceof Rt.TrackChangesGetSuggestionResponse)return t;let e=new Rt.TrackChangesGetSuggestionResponse;return null!=t.id&&(e.id=String(t.id)),null!=t.authorId&&(e.authorId=String(t.authorId)),null!=t.type&&(e.type=String(t.type)),null!=t.createdAt&&(e.createdAt=String(t.createdAt)),null!=t.data&&(e.data=String(t.data)),null!=t.hasComments&&(e.hasComments=Boolean(t.hasComments)),null!=t.state&&(e.state=String(t.state)),null!=t.attributes&&(e.attributes=String(t.attributes)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.authorId&&t.hasOwnProperty("authorId")&&(n.authorId=t.authorId),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.createdAt&&t.hasOwnProperty("createdAt")&&(n.createdAt=t.createdAt),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.hasComments&&t.hasOwnProperty("hasComments")&&(n.hasComments=t.hasComments),null!=t.state&&t.hasOwnProperty("state")&&(n.state=t.state),null!=t.attributes&&t.hasOwnProperty("attributes")&&(n.attributes=t.attributes),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/TrackChangesGetSuggestionResponse"},t})(),Rt.UserDescriptor=(()=>{function t(t){if(this.attributes=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.attributes=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.attributes&&t.attributes.length)for(let n=0;n<t.attributes.length;++n)Rt.KeyValueDescriptor.encode(t.attributes[n],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.UserDescriptor;for(;t.pos<n;){let e=t.uint32();e>>>3==1?(r.attributes&&r.attributes.length||(r.attributes=[]),r.attributes.push(Rt.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(let e=0;e<t.attributes.length;++e){let n=Rt.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.UserDescriptor)return t;let e=new Rt.UserDescriptor;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".UserDescriptor.attributes: array expected");e.attributes=[];for(let n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");e.attributes[n]=Rt.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(let r=0;r<t.attributes.length;++r)n.attributes[r]=Rt.KeyValueDescriptor.toObject(t.attributes[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/UserDescriptor"},t})(),Rt.GetManyUsersMessage=(()=>{function t(t){if(this.ids=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.ids=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.ids&&t.ids.length)for(let n=0;n<t.ids.length;++n)e.uint32(10).string(t.ids[n]);return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetManyUsersMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?(r.ids&&r.ids.length||(r.ids=[]),r.ids.push(t.string())):t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.ids&&t.hasOwnProperty("ids")){if(!Array.isArray(t.ids))return"ids: array expected";for(let e=0;e<t.ids.length;++e)if(!jt.isString(t.ids[e]))return"ids: string[] expected"}return null},t.fromObject=function(t){if(t instanceof Rt.GetManyUsersMessage)return t;let e=new Rt.GetManyUsersMessage;if(t.ids){if(!Array.isArray(t.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");e.ids=[];for(let n=0;n<t.ids.length;++n)e.ids[n]=String(t.ids[n])}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.ids=[]),t.ids&&t.ids.length){n.ids=[];for(let e=0;e<t.ids.length;++e)n.ids[e]=t.ids[e]}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersMessage"},t})(),Rt.GetUserMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.id="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(10).string(t.id),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetUserMessage;for(;t.pos<n;){let e=t.uint32();e>>>3==1?r.id=t.string():t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isString(t.id)?"id: string expected":null},t.fromObject=function(t){if(t instanceof Rt.GetUserMessage)return t;let e=new Rt.GetUserMessage;return null!=t.id&&(e.id=String(t.id)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.id=""),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserMessage"},t})(),Rt.GetManyUsersResponse=(()=>{function t(t){if(this.users=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.users=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.users&&t.users.length)for(let n=0;n<t.users.length;++n)Rt.UserDescriptor.encode(t.users[n],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetManyUsersResponse;for(;t.pos<n;){let e=t.uint32();e>>>3==1?(r.users&&r.users.length||(r.users=[]),r.users.push(Rt.UserDescriptor.decode(t,t.uint32()))):t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.users&&t.hasOwnProperty("users")){if(!Array.isArray(t.users))return"users: array expected";for(let e=0;e<t.users.length;++e){let n=Rt.UserDescriptor.verify(t.users[e]);if(n)return"users."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.GetManyUsersResponse)return t;let e=new Rt.GetManyUsersResponse;if(t.users){if(!Array.isArray(t.users))throw TypeError(".GetManyUsersResponse.users: array expected");e.users=[];for(let n=0;n<t.users.length;++n){if("object"!=typeof t.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");e.users[n]=Rt.UserDescriptor.fromObject(t.users[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.users=[]),t.users&&t.users.length){n.users=[];for(let r=0;r<t.users.length;++r)n.users[r]=Rt.UserDescriptor.toObject(t.users[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetManyUsersResponse"},t})(),Rt.GetUserResponse=(()=>{function t(t){if(this.attributes=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.attributes=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.attributes&&t.attributes.length)for(let n=0;n<t.attributes.length;++n)Rt.KeyValueDescriptor.encode(t.attributes[n],e.uint32(10).fork()).ldelim();return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.GetUserResponse;for(;t.pos<n;){let e=t.uint32();e>>>3==1?(r.attributes&&r.attributes.length||(r.attributes=[]),r.attributes.push(Rt.KeyValueDescriptor.decode(t,t.uint32()))):t.skipType(7&e)}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.attributes&&t.hasOwnProperty("attributes")){if(!Array.isArray(t.attributes))return"attributes: array expected";for(let e=0;e<t.attributes.length;++e){let n=Rt.KeyValueDescriptor.verify(t.attributes[e]);if(n)return"attributes."+n}}return null},t.fromObject=function(t){if(t instanceof Rt.GetUserResponse)return t;let e=new Rt.GetUserResponse;if(t.attributes){if(!Array.isArray(t.attributes))throw TypeError(".GetUserResponse.attributes: array expected");e.attributes=[];for(let n=0;n<t.attributes.length;++n){if("object"!=typeof t.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");e.attributes[n]=Rt.KeyValueDescriptor.fromObject(t.attributes[n])}}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.attributes=[]),t.attributes&&t.attributes.length){n.attributes=[];for(let r=0;r<t.attributes.length;++r)n.attributes[r]=Rt.KeyValueDescriptor.toObject(t.attributes[r],e)}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/GetUserResponse"},t})(),Rt.ChannelMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.type=0,t.prototype.socketId="",t.prototype.data=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(8).uint32(t.type),null!=t.socketId&&Object.hasOwnProperty.call(t,"socketId")&&e.uint32(18).string(t.socketId),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(26).bytes(t.data),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.ChannelMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.type=t.uint32();break;case 2:r.socketId=t.string();break;case 3:r.data=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isInteger(t.type)?"type: integer expected":null!=t.socketId&&t.hasOwnProperty("socketId")&&!jt.isString(t.socketId)?"socketId: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||jt.isString(t.data))?"data: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.ChannelMessage)return t;let e=new Rt.ChannelMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.socketId&&(e.socketId=String(t.socketId)),null!=t.data&&("string"==typeof t.data?jt.base64.decode(t.data,e.data=jt.newBuffer(jt.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.type=0,n.socketId="",e.bytes===String?n.data="":(n.data=[],e.bytes!==Array&&(n.data=jt.newBuffer(n.data)))),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.socketId&&t.hasOwnProperty("socketId")&&(n.socketId=t.socketId),null!=t.data&&t.hasOwnProperty("data")&&(n.data=e.bytes===String?jt.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ChannelMessage"},t})(),Rt.BytesBytesPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data=jt.newBuffer([]),t.prototype.data1=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).bytes(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).bytes(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.BytesBytesPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.bytes();break;case 2:r.data1=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||jt.isString(t.data))?"data: buffer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||jt.isString(t.data1))?"data1: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.BytesBytesPacketDataMessage)return t;let e=new Rt.BytesBytesPacketDataMessage;return null!=t.data&&("string"==typeof t.data?jt.base64.decode(t.data,e.data=jt.newBuffer(jt.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.data1&&("string"==typeof t.data1?jt.base64.decode(t.data1,e.data1=jt.newBuffer(jt.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(e.bytes===String?n.data="":(n.data=[],e.bytes!==Array&&(n.data=jt.newBuffer(n.data))),e.bytes===String?n.data1="":(n.data1=[],e.bytes!==Array&&(n.data1=jt.newBuffer(n.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(n.data=e.bytes===String?jt.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=e.bytes===String?jt.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/BytesBytesPacketDataMessage"},t})(),Rt.NumberBytesPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data=0,t.prototype.data1=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).bytes(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.NumberBytesPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.uint32();break;case 2:r.data1=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||jt.isString(t.data1))?"data1: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.NumberBytesPacketDataMessage)return t;let e=new Rt.NumberBytesPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&("string"==typeof t.data1?jt.base64.decode(t.data1,e.data1=jt.newBuffer(jt.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data=0,e.bytes===String?n.data1="":(n.data1=[],e.bytes!==Array&&(n.data1=jt.newBuffer(n.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=e.bytes===String?jt.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberBytesPacketDataMessage"},t})(),Rt.NumberNumberPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data=0,t.prototype.data1=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(16).uint32(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.NumberNumberPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.uint32();break;case 2:r.data1=t.uint32();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isInteger(t.data1)?"data1: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.NumberNumberPacketDataMessage)return t;let e=new Rt.NumberNumberPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=t.data1>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data=0,n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberNumberPacketDataMessage"},t})(),Rt.NumberObjectPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data=0,t.prototype.data1="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).string(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.NumberObjectPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.uint32();break;case 2:r.data1=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isString(t.data1)?"data1: string expected":null},t.fromObject=function(t){if(t instanceof Rt.NumberObjectPacketDataMessage)return t;let e=new Rt.NumberObjectPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberObjectPacketDataMessage"},t})(),Rt.NumberStringPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data=0,t.prototype.data1="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(8).uint32(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).string(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.NumberStringPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.uint32();break;case 2:r.data1=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isInteger(t.data)?"data: integer expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isString(t.data1)?"data1: string expected":null},t.fromObject=function(t){if(t instanceof Rt.NumberStringPacketDataMessage)return t;let e=new Rt.NumberStringPacketDataMessage;return null!=t.data&&(e.data=t.data>>>0),null!=t.data1&&(e.data1=String(t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data=0,n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/NumberStringPacketDataMessage"},t})(),Rt.ObjectBufferPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).bytes(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.ObjectBufferPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||jt.isString(t.data1))?"data1: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.ObjectBufferPacketDataMessage)return t;let e=new Rt.ObjectBufferPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?jt.base64.decode(t.data1,e.data1=jt.newBuffer(jt.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",e.bytes===String?n.data1="":(n.data1=[],e.bytes!==Array&&(n.data1=jt.newBuffer(n.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=e.bytes===String?jt.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectBufferPacketDataMessage"},t})(),Rt.ObjectObjectPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).string(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.ObjectObjectPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isString(t.data1)?"data1: string expected":null},t.fromObject=function(t){if(t instanceof Rt.ObjectObjectPacketDataMessage)return t;let e=new Rt.ObjectObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/ObjectObjectPacketDataMessage"},t})(),Rt.PacketMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.type=0,t.prototype.id=0,t.prototype.nsp="",t.prototype.data=jt.newBuffer([]),t.prototype.options=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.type&&Object.hasOwnProperty.call(t,"type")&&e.uint32(8).uint32(t.type),null!=t.id&&Object.hasOwnProperty.call(t,"id")&&e.uint32(16).uint32(t.id),null!=t.nsp&&Object.hasOwnProperty.call(t,"nsp")&&e.uint32(26).string(t.nsp),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(34).bytes(t.data),null!=t.options&&Object.hasOwnProperty.call(t,"options")&&e.uint32(42).bytes(t.options),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.PacketMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.type=t.uint32();break;case 2:r.id=t.uint32();break;case 3:r.nsp=t.string();break;case 4:r.data=t.bytes();break;case 5:r.options=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.type&&t.hasOwnProperty("type")&&!jt.isInteger(t.type)?"type: integer expected":null!=t.id&&t.hasOwnProperty("id")&&!jt.isInteger(t.id)?"id: integer expected":null!=t.nsp&&t.hasOwnProperty("nsp")&&!jt.isString(t.nsp)?"nsp: string expected":null!=t.data&&t.hasOwnProperty("data")&&!(t.data&&"number"==typeof t.data.length||jt.isString(t.data))?"data: buffer expected":null!=t.options&&t.hasOwnProperty("options")&&!(t.options&&"number"==typeof t.options.length||jt.isString(t.options))?"options: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.PacketMessage)return t;let e=new Rt.PacketMessage;return null!=t.type&&(e.type=t.type>>>0),null!=t.id&&(e.id=t.id>>>0),null!=t.nsp&&(e.nsp=String(t.nsp)),null!=t.data&&("string"==typeof t.data?jt.base64.decode(t.data,e.data=jt.newBuffer(jt.base64.length(t.data)),0):t.data.length>=0&&(e.data=t.data)),null!=t.options&&("string"==typeof t.options?jt.base64.decode(t.options,e.options=jt.newBuffer(jt.base64.length(t.options)),0):t.options.length>=0&&(e.options=t.options)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.type=0,n.id=0,n.nsp="",e.bytes===String?n.data="":(n.data=[],e.bytes!==Array&&(n.data=jt.newBuffer(n.data))),e.bytes===String?n.options="":(n.options=[],e.bytes!==Array&&(n.options=jt.newBuffer(n.options)))),null!=t.type&&t.hasOwnProperty("type")&&(n.type=t.type),null!=t.id&&t.hasOwnProperty("id")&&(n.id=t.id),null!=t.nsp&&t.hasOwnProperty("nsp")&&(n.nsp=t.nsp),null!=t.data&&t.hasOwnProperty("data")&&(n.data=e.bytes===String?jt.base64.encode(t.data,0,t.data.length):e.bytes===Array?Array.prototype.slice.call(t.data):t.data),null!=t.options&&t.hasOwnProperty("options")&&(n.options=e.bytes===String?jt.base64.encode(t.options,0,t.options.length):e.bytes===Array?Array.prototype.slice.call(t.options):t.options),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketMessage"},t})(),Rt.PacketOptionsMessage=(()=>{function t(t){if(this.rooms=[],this.except=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.flags="",t.prototype.rooms=jt.emptyArray,t.prototype.except=jt.emptyArray,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Et.create()),null!=t.flags&&Object.hasOwnProperty.call(t,"flags")&&e.uint32(10).string(t.flags),null!=t.rooms&&t.rooms.length)for(let n=0;n<t.rooms.length;++n)e.uint32(18).string(t.rooms[n]);if(null!=t.except&&t.except.length)for(let n=0;n<t.except.length;++n)e.uint32(26).string(t.except[n]);return e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.PacketOptionsMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.flags=t.string();break;case 2:r.rooms&&r.rooms.length||(r.rooms=[]),r.rooms.push(t.string());break;case 3:r.except&&r.except.length||(r.except=[]),r.except.push(t.string());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.flags&&t.hasOwnProperty("flags")&&!jt.isString(t.flags))return"flags: string expected";if(null!=t.rooms&&t.hasOwnProperty("rooms")){if(!Array.isArray(t.rooms))return"rooms: array expected";for(let e=0;e<t.rooms.length;++e)if(!jt.isString(t.rooms[e]))return"rooms: string[] expected"}if(null!=t.except&&t.hasOwnProperty("except")){if(!Array.isArray(t.except))return"except: array expected";for(let e=0;e<t.except.length;++e)if(!jt.isString(t.except[e]))return"except: string[] expected"}return null},t.fromObject=function(t){if(t instanceof Rt.PacketOptionsMessage)return t;let e=new Rt.PacketOptionsMessage;if(null!=t.flags&&(e.flags=String(t.flags)),t.rooms){if(!Array.isArray(t.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");e.rooms=[];for(let n=0;n<t.rooms.length;++n)e.rooms[n]=String(t.rooms[n])}if(t.except){if(!Array.isArray(t.except))throw TypeError(".PacketOptionsMessage.except: array expected");e.except=[];for(let n=0;n<t.except.length;++n)e.except[n]=String(t.except[n])}return e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.rooms=[],n.except=[]),e.defaults&&(n.flags=""),null!=t.flags&&t.hasOwnProperty("flags")&&(n.flags=t.flags),t.rooms&&t.rooms.length){n.rooms=[];for(let e=0;e<t.rooms.length;++e)n.rooms[e]=t.rooms[e]}if(t.except&&t.except.length){n.except=[];for(let e=0;e<t.except.length;++e)n.except[e]=t.except[e]}return n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/PacketOptionsMessage"},t})(),Rt.StringBytesPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1=jt.newBuffer([]),t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).bytes(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.StringBytesPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.bytes();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!(t.data1&&"number"==typeof t.data1.length||jt.isString(t.data1))?"data1: buffer expected":null},t.fromObject=function(t){if(t instanceof Rt.StringBytesPacketDataMessage)return t;let e=new Rt.StringBytesPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&("string"==typeof t.data1?jt.base64.decode(t.data1,e.data1=jt.newBuffer(jt.base64.length(t.data1)),0):t.data1.length>=0&&(e.data1=t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",e.bytes===String?n.data1="":(n.data1=[],e.bytes!==Array&&(n.data1=jt.newBuffer(n.data1)))),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=e.bytes===String?jt.base64.encode(t.data1,0,t.data1.length):e.bytes===Array?Array.prototype.slice.call(t.data1):t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringBytesPacketDataMessage"},t})(),Rt.StringNumberPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1=0,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(16).uint32(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.StringNumberPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.uint32();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isInteger(t.data1)?"data1: integer expected":null},t.fromObject=function(t){if(t instanceof Rt.StringNumberPacketDataMessage)return t;let e=new Rt.StringNumberPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=t.data1>>>0),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",n.data1=0),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringNumberPacketDataMessage"},t})(),Rt.StringObjectPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).string(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.StringObjectPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isString(t.data1)?"data1: string expected":null},t.fromObject=function(t){if(t instanceof Rt.StringObjectPacketDataMessage)return t;let e=new Rt.StringObjectPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringObjectPacketDataMessage"},t})(),Rt.StringStringPacketDataMessage=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.data="",t.prototype.data1="",t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Et.create()),null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(10).string(t.data),null!=t.data1&&Object.hasOwnProperty.call(t,"data1")&&e.uint32(18).string(t.data1),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Ct||(t=Ct.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rt.StringStringPacketDataMessage;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.data=t.string();break;case 2:r.data1=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Ct||(t=new Ct(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.data&&t.hasOwnProperty("data")&&!jt.isString(t.data)?"data: string expected":null!=t.data1&&t.hasOwnProperty("data1")&&!jt.isString(t.data1)?"data1: string expected":null},t.fromObject=function(t){if(t instanceof Rt.StringStringPacketDataMessage)return t;let e=new Rt.StringStringPacketDataMessage;return null!=t.data&&(e.data=String(t.data)),null!=t.data1&&(e.data1=String(t.data1)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.data="",n.data1=""),null!=t.data&&t.hasOwnProperty("data")&&(n.data=t.data),null!=t.data1&&t.hasOwnProperty("data1")&&(n.data1=t.data1),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kt.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/StringStringPacketDataMessage"},t})(),Rt);class Nt{static decode(t,e){const n=xt(e).decode("undefined"==typeof window?t:new Uint8Array(t));return e.fromJSON({...n})}static encode(t){const e=xt(t.constructor),n=t.toJSON(),r=e.verify(n);if(r)throw Error(r);return e.encode(e.create(n)).finish()}}function xt(t){return Dt[t.DESCRIPTOR_NAME]}class Vt extends((0,s.EmitterMixin)()){constructor(t,e,n){super(),this._channelName=t,this._wsGateway=e,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(t,e=!1){let n="";return e&&(n+="all:"),n+="event",t&&(n+=":"+t),n}_subscribeToChannel(){this._socket.on(this._channelName,(t=>{const e=Nt.decode(t,Tt);this.fire(this.getEventName(e.type,!0),e.data,e.socketId),e.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(e.type),e.data,e.socketId)}))}}const Mt=Vt;class Bt extends _t{constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new Bt(t.id)}}Bt.TYPE="21",Bt.READABLE_TYPE_NAME="getUser",Bt.DESCRIPTOR_NAME="GetUserMessage",Bt.DESCRIPTOR={fields:{id:{type:"string",id:1}}};class Ut extends _t{constructor(t){super(),this.attributes=t}toJSON(){return{attributes:Object.keys(this.attributes).map((t=>({key:t,value:JSON.stringify(this.attributes[t])})))}}static fromJSON(t){const e=t.attributes.reduce(((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t)),{});return new Ut(e)}}Ut.DESCRIPTOR_NAME="GetUserResponse",Ut.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};class Jt extends _t{constructor(t){super(),this.ids=t}toJSON(){return{ids:this.ids}}static fromJSON(t){return new Jt(t.ids)}}Jt.TYPE="22",Jt.READABLE_TYPE_NAME="getManyUsers",Jt.DESCRIPTOR_NAME="GetManyUsersMessage",Jt.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};class qt extends _t{constructor(t){super(),this.users=t}toJSON(){return{users:this.users.map(Lt)}}static fromJSON(t){return new qt(t.users.map(Yt))}}function Lt(t){return{attributes:Object.keys(t).map((e=>({key:e,value:JSON.stringify(t[e])})))}}function Yt(t){return t.attributes.reduce(((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t)),{})}qt.DESCRIPTOR_NAME="GetManyUsersResponse",qt.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};class Gt{constructor(t={}){this._attributes=new Map;for(const e of Object.keys(t))"id"!==e?(this._attributes.set(e,t[e]),Object.defineProperty(this,e,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(e)})):this.id=t.id}static fromData(t){return new Gt(t)}static async get(t,e){const n=new Bt(e);try{const e=await t._sendRequest(Gt._SERVICE,Bt.TYPE,Nt.encode(n)),r=Nt.decode(e,Ut);return new Gt(r.attributes)}catch(t){return new Gt({id:e})}}static async getMany(t,e){const n=new Jt(e);try{const e=await t._sendRequest(Gt._SERVICE,Jt.TYPE,Nt.encode(n));return Nt.decode(e,qt).users.map((t=>new Gt(t)))}catch(t){return e.map((t=>new Gt({id:t})))}}}Gt._SERVICE=2;const zt=Gt;class Ht extends Error{constructor(t,e,n=null,r={}){super("cloud-services-internal-error: "+t),this.context=e,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(t){return new Ht(function(t){let e="cloud-services-error: "+t.message;return t.data&&(e+="\nError data: "+JSON.stringify(t.data)),t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}class Ft extends Error{constructor(t,e){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=t,this.code=e.code,this.traceId=e.traceId,this.data=e.data}static fromPublicError(t){return new Ft(function(t){let e="cloud-services-server-error: "+t.message;return t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}const Kt="function"==typeof ArrayBuffer,Wt=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,$t=Object.prototype.toString,Qt="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===$t.call(Blob),Xt="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===$t.call(File);function Zt(t){return Kt&&(t instanceof ArrayBuffer||Wt(t))||Qt&&t instanceof Blob||Xt&&t instanceof File}function te(t,e){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let e=0,n=t.length;e<n;e++)if(te(t[e]))return!0;return!1}if(Zt(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return te(t.toJSON(),!0);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&te(t[e]))return!0;return!1}function ee(t){const e=[],n=t.data,r=t;return r.data=ne(n,e),r.attachments=e.length,{packet:r,buffers:e}}function ne(t,e){if(!t)return t;if(Zt(t)){const n={_placeholder:!0,num:e.length};return e.push(t),n}if(Array.isArray(t)){const n=new Array(t.length);for(let r=0;r<t.length;r++)n[r]=ne(t[r],e);return n}if("object"==typeof t&&!(t instanceof Date)){const n={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=ne(t[r],e));return n}return t}function re(t,e){return t.data=se(t.data,e),delete t.attachments,t}function se(t,e){if(!t)return t;if(t&&!0===t._placeholder){if("number"==typeof t.num&&t.num>=0&&t.num<e.length)return e[t.num];throw new Error("illegal attachments")}if(Array.isArray(t))for(let n=0;n<t.length;n++)t[n]=se(t[n],e);else if("object"==typeof t)for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=se(t[n],e));return t}var oe;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(oe||(oe={}));class ie{constructor(t){this.replacer=t}encode(t){return t.type!==oe.EVENT&&t.type!==oe.ACK||!te(t)?[this.encodeAsString(t)]:this.encodeAsBinary({type:t.type===oe.EVENT?oe.BINARY_EVENT:oe.BINARY_ACK,nsp:t.nsp,data:t.data,id:t.id})}encodeAsString(t){let e=""+t.type;return t.type!==oe.BINARY_EVENT&&t.type!==oe.BINARY_ACK||(e+=t.attachments+"-"),t.nsp&&"/"!==t.nsp&&(e+=t.nsp+","),null!=t.id&&(e+=t.id),null!=t.data&&(e+=JSON.stringify(t.data,this.replacer)),e}encodeAsBinary(t){const e=ee(t),n=this.encodeAsString(e.packet),r=e.buffers;return r.unshift(n),r}}class ae extends I{constructor(t){super(),this.reviver=t}add(t){let e;if("string"==typeof t){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");e=this.decodeString(t);const n=e.type===oe.BINARY_EVENT;n||e.type===oe.BINARY_ACK?(e.type=n?oe.EVENT:oe.ACK,this.reconstructor=new ce(e),0===e.attachments&&super.emitReserved("decoded",e)):super.emitReserved("decoded",e)}else{if(!Zt(t)&&!t.base64)throw new Error("Unknown type: "+t);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");e=this.reconstructor.takeBinaryData(t),e&&(this.reconstructor=null,super.emitReserved("decoded",e))}}decodeString(t){let e=0;const n={type:Number(t.charAt(0))};if(void 0===oe[n.type])throw new Error("unknown packet type "+n.type);if(n.type===oe.BINARY_EVENT||n.type===oe.BINARY_ACK){const r=e+1;for(;"-"!==t.charAt(++e)&&e!=t.length;);const s=t.substring(r,e);if(s!=Number(s)||"-"!==t.charAt(e))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===t.charAt(e+1)){const r=e+1;for(;++e;){if(","===t.charAt(e))break;if(e===t.length)break}n.nsp=t.substring(r,e)}else n.nsp="/";const r=t.charAt(e+1);if(""!==r&&Number(r)==r){const r=e+1;for(;++e;){const n=t.charAt(e);if(null==n||Number(n)!=n){--e;break}if(e===t.length)break}n.id=Number(t.substring(r,e+1))}if(t.charAt(++e)){const r=this.tryParse(t.substr(e));if(!ae.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(t){try{return JSON.parse(t,this.reviver)}catch(t){return!1}}static isPayloadValid(t,e){switch(t){case oe.CONNECT:return"object"==typeof e;case oe.DISCONNECT:return void 0===e;case oe.CONNECT_ERROR:return"string"==typeof e||"object"==typeof e;case oe.EVENT:case oe.BINARY_EVENT:return Array.isArray(e)&&("string"==typeof e[0]||"number"==typeof e[0]);case oe.ACK:case oe.BINARY_ACK:return Array.isArray(e)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ce{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.reconPack.attachments){const t=re(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}class ue extends _t{constructor(t,e=[],n=[]){super(),this.flags=t,this.rooms=e,this.except=n}toJSON(){var t,e;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(t=this.rooms)||void 0===t?void 0:t.length)?this.rooms:void 0,except:(null===(e=this.except)||void 0===e?void 0:e.length)?this.except:void 0}}static fromJSON(t){return new ue(t.flags&&JSON.parse(t.flags),t.rooms,t.except)}}ue.TYPE=11,ue.DESCRIPTOR_NAME="PacketOptionsMessage",ue.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};const de=!("undefined"==typeof process||!process.versions||!process.versions.node);var le,pe;(pe=le||(le={}))[pe.BUFFER=1]="BUFFER",pe[pe.STRING=2]="STRING",pe[pe.NUMBER=3]="NUMBER",pe[pe.OBJECT=4]="OBJECT";class he{static getPacketType(...t){let e=0;for(let n=0;n<t.length;n++)e+=t[n]*Math.pow(10,t.length-n-1);return e}static getType(t){if(he.isBuffer(t))return le.BUFFER;const e=typeof t;return"string"===e?le.STRING:"number"===e?le.NUMBER:le.OBJECT}static isBuffer(t){return de&&Buffer.isBuffer(t)||t instanceof ArrayBuffer||t instanceof Uint8Array||this._isBufferView(t)}static _isBufferView(t){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer}}class fe extends _t{static create(t,e){throw new TypeError("Must be implemented in a child class!")}}class me extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new me(t.data,t.data1)}static create(t,e){return new me(t,e)}}me.TYPE=he.getPacketType(le.NUMBER,le.BUFFER),me.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",me.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};class ye extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new ye(t.data,t.data1)}static create(t,e){return new ye(t,e)}}ye.TYPE=he.getPacketType(le.STRING,le.BUFFER),ye.DESCRIPTOR_NAME="StringBytesPacketDataMessage",ye.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};class ge extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new ge(t.data,t.data1)}static create(t,e){return new ge(t,e)}}ge.TYPE=he.getPacketType(le.BUFFER,le.BUFFER),ge.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",ge.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};class be extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new be(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new be(t,e)}}be.TYPE=he.getPacketType(le.STRING,le.OBJECT),be.DESCRIPTOR_NAME="StringObjectPacketDataMessage",be.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class Oe extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new Oe(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new Oe(t,e)}}Oe.TYPE=he.getPacketType(le.NUMBER,le.OBJECT),Oe.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",Oe.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};class we extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new we(t.data&&JSON.parse(t.data),t.data1&&JSON.parse(t.data1))}static create(t,e){return new we(t,e)}}we.TYPE=he.getPacketType(le.OBJECT,le.OBJECT),we.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",we.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class Ie extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(t){return new Ie(t.data&&JSON.parse(t.data),t.data1)}static create(t,e){return new Ie(t,e)}}Ie.TYPE=he.getPacketType(le.OBJECT,le.BUFFER),Ie.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",Ie.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};class ve extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new ve(t.data,t.data1)}static create(t,e){return new ve(t,e)}}ve.TYPE=he.getPacketType(le.STRING,le.STRING),ve.DESCRIPTOR_NAME="StringStringPacketDataMessage",ve.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class Se extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new Se(t.data,t.data1)}static create(t,e){return new Se(t,e)}}Se.TYPE=he.getPacketType(le.STRING,le.NUMBER),Se.DESCRIPTOR_NAME="StringNumberPacketDataMessage",Se.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};class Ae extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new Ae(t.data,t.data1)}static create(t,e){return new Ae(t,e)}}Ae.TYPE=he.getPacketType(le.NUMBER,le.NUMBER),Ae.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",Ae.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};class Pe extends fe{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new Pe(t.data,t.data1)}static create(t,e){return new Pe(t,e)}}Pe.TYPE=he.getPacketType(le.NUMBER,le.STRING),Pe.DESCRIPTOR_NAME="NumberStringPacketDataMessage",Pe.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const _e=[me,ye,ge,be,Oe,we,Ie,ve,Se,Ae,Pe].reduce(((t,e)=>(t[e.TYPE]=e,t)),{});class Te extends _t{constructor(t,e,n,r="/",s=new ue){super(),this.type=t,this.data=e,this.id=n,this.nsp=r,this.options=s}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const t=Nt.encode(this.options),e=Nt.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:e,options:t}}static fromJSON(t){const e=Math.floor(t.type/10);return new Te(t.type-10*e,Nt.decode(t.data,_e[e]),t.id,t.nsp,t.options?Nt.decode(t.options,ue):new ue)}static create(t,e={}){var n;const r=he.getPacketType(he.getType(t.data[0]),he.getType(null!==(n=t.data[1])&&void 0!==n?n:t.data[0]));return new Te(t.type,_e[r].create(t.data[0],t.data[1]),t.id,t.nsp,new ue(e.flags,e.rooms,e.except))}}Te.TYPE=10,Te.DESCRIPTOR_NAME="PacketMessage",Te.DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};class ke{encode(t,e,n,r="/",s={}){if(e.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:t,data:e,id:n,nsp:r};return Nt.encode(Te.create(o,s))}decode(t){const e=Nt.decode(t,Te);return{packet:{id:e.id,type:e.type,data:e.packetData,nsp:e.nsp},options:{flags:e.options.flags,rooms:e.options.rooms,except:e.options.except}}}}const Ce=[oe.EVENT,oe.ACK,oe.BINARY_ACK,oe.BINARY_EVENT];class Ee extends ie{constructor(t=new ke){super(),this._packetParser=t}encode(t){if(Ce.includes(t.type))try{return[this._packetParser.encode(t.type,t.data,t.id,t.nsp)]}catch(t){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:t.message}})}return super.encode(t)}}class je extends ae{constructor(t=new ke){super(),this._packetParser=t}add(t){if(!he.isBuffer(t))return super.add(t);let e;try{e=this._packetParser.decode(t).packet}catch(e){return super.add(t)}super.emitReserved("decoded",e)}}class Re{constructor(t,e){this._context=t,this._deferredPromise=function(){let t,e;const n=new Promise(((n,r)=>{t=n,e=r}));return{resolve:t,reject:e,promise:n}}(),this.timeout=setTimeout((()=>this.error(new Ht("Request timeout.",this._context))),e)}get promise(){return this._deferredPromise.promise}response(t){this._deferredPromise.resolve(t)}error(t){this._deferredPromise.reject(t)}}class De{constructor(t){this._context=t,this._requests=new Set}async send(t,e=45e3){const n=this._createRequest(e);try{return t(n),await n.promise}finally{this._finishRequest(n)}}errorAll(t){for(const e of this._requests)e.error(t)}waitForAllRequests(t=45e3){return this._waitForRequests(t)}_createRequest(t){const e=new Re(this._context,t);return this._requests.add(e),e}_finishRequest(t){this._requests.delete(t),clearTimeout(t.timeout)}async _waitForRequests(t=5e3,e=0){return!this._requests.size||e>=t/500?Promise.resolve():(await new Promise((t=>{setTimeout(t,500)})),this._waitForRequests(t,e++))}}var Ne,xe;(xe=Ne||(Ne={})).DISCONNECTED="disconnected",xe.CONNECTING="connecting",xe.CONNECTED="connected";class Ve extends((0,s.ObservableMixin)()){constructor(t,e,n={},r=St,s=zt.get){if(super(),this._token=e,this._options=n,this._connectionProvider=r,this._userFactory=s,this._requestsManager=new De(this),this._channels=new Map,this._connectionAttempt=0,!t)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=At(t.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",Ne.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(t,e,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==Ve.STATE_CONNECTED){if(n===Ve.STATE_DISCONNECTED)return this._requestsManager.errorAll(new Ht("Not connected.",this))}else try{this.me=await this._userFactory.call(zt,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(t){}}),{priority:Ve._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((t,e)=>{this._options.onError?this._options.onError(e):console.error(e)}))}get sessionId(){return this.socketId}waitForAllRequests(t){return this._requestsManager.waitForAllRequests(t)}disconnect(){var t;this.state!==Ne.DISCONNECTED&&(null===(t=this._socket)||void 0===t||t.disconnect(),this._socket=void 0,this.state=Ne.DISCONNECTED)}async reconnect(){this._socket||this.state!==Ne.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(t,e="local.cs.dev:443/ws-v2",n={},r=St,s=zt.get){const o=new Ve(e,t,n,r,s);return await o._connect(),o}_sendRequest(t,e,n){if(!t)throw new Ht("`serviceName` must be provided.",this);if(this.state!==Ve.STATE_CONNECTED)throw new Ht("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new Ht("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=t,s[1]=parseInt(e),s.set(n,2),this._emit(1,s)}_getChannel(t,e){const n=""+t+e;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new Mt(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((t,e)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(e)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),t()}catch(t){e(t)}})),n.connect()}))}_getPortByProtocol(t){return["http:","ws:"].includes(t)?80:443}_setupSocket(){var t;if(this._socket)return this._socket;const e=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+e,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",s=this._connectionProvider(n,{parser:{Encoder:Ee,Decoder:je},path:r+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"52.1.6"},agent:null!==(t=this._options.agent)&&void 0!==t&&t,closeOnBeforeunload:!1});return this.state=Ne.CONNECTING,s.on("connect",(()=>{this._debugEvent("connect"),this.socketId=s.id})),s.on("connect_error",(t=>{this._debugEvent("connect_error",t)})),s.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),s.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),s.io.on("reconnect_attempt",(t=>{this._debugEvent("reconnect_attempt",t),this.state=Ne.CONNECTING,this._connectionAttempt=t})),s.on("unauthorized",(t=>{this._debugEvent("unauthorized"),this._onUnauthorized(t)})),s.on("authenticationRequest",(async t=>{this._debugEvent("authenticationRequest",t.attempt),await this._onReconnect()})),this._socket=s,s}_emit(t,e){const n=this._socket;return this._requestsManager.send((r=>{n.emit(t,e,((t,e)=>{if(t)return r.error(Ft.fromPublicError(t));r.response(e)}))}),this._options.requestTimeout)}_addAuthData(t,e){this._socketAuth={environmentId:t,userId:e,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=Ne.CONNECTED;const t=async(t,e,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(t){}};this._token.on("change:value",t),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",t)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=Ne.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const t of this._channels.values())t.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(t,e){if(!this._isDebugModeEnabled())return;const n=void 0!==e?", data: "+e:"";console.info((new Date).toLocaleString()+" "+t+n)}_reconnectionAttemptError(t){this._connectionAttempt>=2&&(this.disconnect(),t(Ht.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:t}){this._removeAuthData(),this.fire("error",Ft.fromPublicError(t))}async _authenticate(t){try{this._debugEvent("authenticate:start");const e=await this._emit(2,{token:t});this._debugEvent("authenticate:success","envId: "+e.environmentId+", userId: "+e.userId),this._addAuthData(e.environmentId,e.userId)}catch(t){throw this._debugEvent("authenticate:error",t.message),this._removeAuthData(),t}}_isDebugModeEnabled(){var t;return!!s.global.window.localStorage&&"true"===(null!==(t=s.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==t?t:"false").toLowerCase()}}Ve.STATE_DISCONNECTED=Ne.DISCONNECTED,Ve.STATE_CONNECTING=Ne.CONNECTING,Ve.STATE_CONNECTED=Ne.CONNECTED,Ve._CHANGE_STATE_EVENT_PRIORITY=s.priorities.get("highest")+999999;const Me=Ve;class Be extends _t{constructor(t){super(),this.bundleVersion=t}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(t){return new Be(t.bundleVersion)}}Be.TYPE="131",Be.READABLE_TYPE_NAME="isEditorBundleUploaded",Be.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",Be.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};class Ue extends _t{constructor(t){super(),this.isUploaded=t}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(t){return new Ue(t.isUploaded)}}Ue.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",Ue.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};class Je extends((0,s.EmitterMixin)()){static async isBundleUploaded(t,e){const n=new Be(e);if(t.state!==Ne.CONNECTED)throw new Ht("WebSocket Gateway is not connected.",t);const r=await t._sendRequest(Je._SERVICE,Be.TYPE,Nt.encode(n));return Nt.decode(r,Ue).isUploaded}}Je._SERVICE=13;const qe=Je;class Le extends _t{constructor(t,e){super(),this.documentId=t,this.revisionId=e}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(t){return new Le(t.documentId,t.revisionId)}}Le.TYPE="123",Le.READABLE_TYPE_NAME="getRevision",Le.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",Le.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};class Ye extends Pt{static create(t){return{revisionId:t.id,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.stringify(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds}}static toJSON(t){var e;return{revisionId:t.revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.stringify(t.authorsIds):void 0,diffData:t.diffData,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static fromJSON(t){return{revisionId:(t={...t}).revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.parse(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?new Date(t.createdAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static toObject(t){return function(t){for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}({id:t.revisionId,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.parse(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds})}}Ye.DESCRIPTOR_NAME="RevisionDescriptor",Ye.DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};class Ge extends _t{constructor(t,e,n,r,s,o,i,a,c,u){super(),this.revisionId=t,this.name=e,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=u}toJSON(){return Ye.toJSON(this)}toObject(){return Ye.toObject(this)}static create(t){return new Ge(t.revisionId,t.name,t.creatorId,t.authorsIds,t.createdAt,t.diffData,t.attributes,t.fromVersion,t.toVersion,t.isEmptyCurrent)}static fromJSON(t){return new Ge(t.revisionId,t.name,t.creatorId,t.authorsIds?JSON.parse(t.authorsIds):void 0,t.createdAt?new Date(t.createdAt):void 0,t.diffData,t.attributes?JSON.parse(t.attributes):void 0,t.fromVersion,t.toVersion,t.isEmptyCurrent)}}Ge.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",Ge.DESCRIPTOR=Ye.DESCRIPTOR;class ze extends _t{constructor(t,e,n){super(),this.documentId=t,this.requestId=e,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Ye.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Ye.toObject)}}static create(t){return new ze(t.documentId,t.requestId,t.revisions.map(Ye.create))}static fromJSON(t){return new ze(t.documentId,t.requestId,t.revisions.map(Ye.fromJSON))}}ze.TYPE="124",ze.READABLE_TYPE_NAME="updateRevisions",ze.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",ze.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};class He extends _t{constructor(t){super(),this.requestId=t}toJSON(){return{requestId:this.requestId}}static fromJSON(t){return new He(t.requestId)}}He.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",He.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};class Fe extends _t{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Fe(t.documentId)}}Fe.TYPE="121",Fe.READABLE_TYPE_NAME="connectToRevisionHistory",Fe.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",Fe.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class Ke extends _t{constructor(t,e,n){super(),this.channel=t,this.requestId=e,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Ye.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Ye.toObject)}}static fromJSON(t){return new Ke(t.channel,t.requestId,t.revisions.map(Ye.fromJSON))}}Ke.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",Ke.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};class We extends _t{constructor(t,e){super(),this.documentId=t,this.requestId=e}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(t){return new We(t.documentId,t.requestId)}}We.TYPE="122",We.READABLE_TYPE_NAME="reconnectToRevisionHistory",We.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",We.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};class $e extends Ht{constructor(t,e){super(t+" Service is not connected.",e)}}class Qe extends((0,s.EmitterMixin)()){constructor(t){super(),this._documentId=t,this._isConnected=!1}get isConnected(){return this._isConnected}connect(t){return this._isConnected?Promise.resolve():this._connect(t,new Fe(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(t,e){if(this.isConnected)throw new Ht("Cannot reconnect to already connected service.",t);return this._connect(t,new We(this._documentId,e))}async updateRevisions(t,e){const n=ze.create({documentId:this._documentId,requestId:e,revisions:t}),r=await this._sendRequest(ze.TYPE,n),{requestId:s}=Nt.decode(r,He);return s}async getRevision(t){const e=new Le(this._documentId,t),n=await this._sendRequest(Le.TYPE,e);return Nt.decode(n,Ge).toObject()}async _connect(t,e){if(t.state!==Ne.CONNECTED)throw new Ht("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(12,e.constructor.TYPE,Nt.encode(e)),{channel:r,requestId:s,revisions:o}=Nt.decode(n,Ke).toObject();return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:Me._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(t,e){this._channel=t._getChannel(Qe._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(ze.TYPE),((t,e)=>{const{documentId:n,requestId:r,revisions:s}=Nt.decode(e,ze).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})}))}_onWsGatewayStateChange(t){t===Ne.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new $e("Revision History",this);return this._wsGateway._sendRequest(12,t,Nt.encode(e))}}Qe._SERVICE=12;const Xe=Qe;class Ze extends _t{constructor(t,e,n,r={},s=null,o=null){super(),this.id=t,this.documentId=e,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){var e;return new Ze(t.id,t.documentId,t.type,JSON.parse(t.data),null!==(e=t.originalSuggestionId)&&void 0!==e?e:null,t.attributes?JSON.parse(t.attributes):null)}}Ze.TYPE="101",Ze.READABLE_TYPE_NAME="addSuggestion",Ze.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",Ze.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};class tn extends _t{constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var t;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(t=this.createdAt)||void 0===t?void 0:t.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new tn(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}tn.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",tn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};class en extends _t{constructor(t,e){super(),this.id=t,this.documentId=e}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(t){return new en(t.id,t.documentId)}}en.TYPE="103",en.READABLE_TYPE_NAME="getSuggestion",en.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",en.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};class nn extends _t{constructor(t,e,n,r,s,o,i={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new nn(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}nn.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",nn.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};class rn extends _t{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new rn(t.documentId)}}rn.TYPE="102",rn.READABLE_TYPE_NAME="getAllSuggestions",rn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",rn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class sn extends Pt{static toJSON(t){var e;return{...t,data:t.data?JSON.stringify(t.data):t.data,attributes:t.attributes?JSON.stringify(t.attributes):t.attributes,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(t){return{...t,data:t.data?JSON.parse(t.data):t.data,attributes:t.attributes?JSON.parse(t.attributes):t.attributes,createdAt:t.createdAt?new Date(t.createdAt):void 0}}}sn.DESCRIPTOR_NAME="SuggestionDescriptor",sn.DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};class on extends _t{constructor(t,e){super(),this._suggestions=t,this._suggestionsV2=e,this.suggestions=(null==e?void 0:e.length)?e:t}toJSON(){var t,e;return{suggestions:null===(t=this._suggestions)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),suggestionsV2:null===(e=this._suggestionsV2)||void 0===e?void 0:e.map(sn.toJSON)}}static fromJSON(t){var e,n;return new on(null===(e=t.suggestions)||void 0===e?void 0:e.map(an),null===(n=t.suggestionsV2)||void 0===n?void 0:n.map(sn.fromJSON))}}function an(t){const e=JSON.parse(t);return e.createdAt=e.createdAt?new Date(e.createdAt):void 0,e}on.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",on.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};class cn extends _t{constructor(t,e,n,r,s,o=null){super(),this.id=t,this.documentId=e,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new cn(t.id,t.documentId,t.hasComments,t.isHasCommentsModified,t.state,t.attributes?JSON.parse(t.attributes):null)}}cn.TYPE="104",cn.READABLE_TYPE_NAME="updateSuggestion",cn.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",cn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};class un extends _t{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new un(t.documentId)}}un.TYPE="105",un.READABLE_TYPE_NAME="connectToSuggestions",un.DESCRIPTOR_NAME="TrackChangesConnectMessage",un.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class dn extends _t{constructor(t,e,n){super(),this.channel=t,this._suggestions=e,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:e}toJSON(){var t,e;return{channel:this.channel,suggestions:null===(t=this._suggestions)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),suggestionsV2:null===(e=this._suggestionsV2)||void 0===e?void 0:e.map(sn.toJSON)}}static fromJSON(t){var e,n;return new dn(t.channel,null===(e=t.suggestions)||void 0===e?void 0:e.map((t=>JSON.parse(t))),null===(n=t.suggestionsV2)||void 0===n?void 0:n.map(sn.fromJSON))}}dn.DESCRIPTOR_NAME="TrackChangesConnectResponse",dn.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};class ln extends _t{constructor(t,e,n){super(),this.ids=t,this.documentId=e,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(t){return new ln(t.ids,t.documentId,t.state)}}ln.TYPE="106",ln.READABLE_TYPE_NAME="batchUpdateSuggestionsState",ln.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",ln.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};class pn extends((0,s.EmitterMixin)()){constructor(t){super(),this._documentId=t,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Ne.CONNECTED)throw new Ht("WebSocket Gateway is not connected.",t);const e=new un(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(10,un.TYPE,Nt.encode(e)),r=Nt.decode(n,dn);return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:Me._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(t,e,n,r=null,s){const o=new Ze(t,this._documentId,e,n,r,s),i=await this._sendRequest(Ze.TYPE,o);return Nt.decode(i,tn)}async get(t,e=1){const n=new en(t,this._documentId);try{const t=await this._sendRequest(en.TYPE,n);return Nt.decode(t,nn)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise((t=>{setTimeout(t,r)}))),this.get(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Ft.fromPublicError(n)}var r}async getAll(){const t=new rn(this._documentId),e=await this._sendRequest(rn.TYPE,t),{suggestions:n}=Nt.decode(e,on);return n}async update(t,e={}){const{hasComments:n,state:r,attributes:s}=e,o=void 0!==n,i=new cn(t,this._documentId,n,o,r,s);await this._sendRequest(cn.TYPE,i)}async batchUpdateState(t){const e=new ln(t.ids,this._documentId,t.state);await this._sendRequest(ln.TYPE,e)}_connectToChannel(t,e){this._channel=t._getChannel(pn._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(cn.TYPE),((t,e)=>{const n=Nt.decode(e,cn);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(t){t===Ne.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new $e("Track Changes",this);return this._wsGateway._sendRequest(10,t,Nt.encode(e))}}pn._SERVICE=10;const hn=pn;class fn extends _t{constructor(t,e=[]){super(),this.channel=t,this.sockets=e}toJSON(){return{channel:this.channel,sockets:this.sockets.map((t=>({user:t.userId,session:t.id,role:t.role,permissions:t.permissions})))}}static fromJSON(t){return new fn(t.channel,t.sockets.map((t=>({id:t.session,userId:t.user,role:t.role,permissions:t.permissions}))))}}fn.DESCRIPTOR_NAME="SessionsConnectResponse",fn.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};class mn extends _t{constructor(t,e){super(),this.id=t,this.sessionType=e}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(t){return new mn(t.id,t.sessionType)}}mn.TYPE="31",mn.READABLE_TYPE_NAME="getConnectedSockets",mn.DESCRIPTOR_NAME="SessionsConnectMessage",mn.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};class yn extends _t{constructor(t,e,n,r){super(),this.id=t,this.userId=e,this.role=n,this.permissions=r}toJSON(){var t,e,n;return{id:this.id,userId:null!==(t=this.userId)&&void 0!==t?t:void 0,role:null!==(e=this.role)&&void 0!==e?e:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(t){return new yn(t.id,t.userId,t.role,t.permissions)}}yn.TYPE="32",yn.READABLE_TYPE_NAME="connectSocket",yn.DESCRIPTOR_NAME="SocketConnectMessage",yn.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};class gn extends _t{constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new gn(t.id)}}gn.TYPE="33",gn.READABLE_TYPE_NAME="disconnectSocket",gn.DESCRIPTOR_NAME="SocketDisconnectMessage",gn.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const bn=class extends s.Collection{constructor(t,e){super({idProperty:"id"}),this._id=t,this._sessionType=e,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(t){this._wsGateway=t,this.stopListening(t,"change:state");const e=new mn(this._id,this._sessionType);let n;try{const t=await this._wsGateway._sendRequest(3,mn.TYPE,Nt.encode(e));n=Nt.decode(t,fn)}catch(t){n=new fn(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(t,e){const n=e.map((t=>t.userId)),r=n.length?await zt.getMany(t,n):[];return e.map((t=>{const e={id:t.id,role:t.role,permissions:t.permissions};return e.user=t.userId&&r.find((e=>e.id===t.userId))||new zt,e}))}(this._wsGateway,n.sockets);for(const t of r)super.add(t);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:Me._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(t=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&t&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),t&&this.stopListening()}}add(t,e){throw new TypeError("The collection is read-only.")}remove(t){throw new TypeError("The collection is read-only.")}_connectToChannel(t,e,n){this._channel=t._getChannel(n,e),this._channel&&(this._addHandler(this._channel,yn.TYPE,(async e=>{const n=Nt.decode(e,yn);if(-1===this.getIndex(n.id)){const e={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(e.user=await zt.get(t,n.userId)),super.add(e)}})),this._addHandler(this._channel,gn.TYPE,(t=>{const e=Nt.decode(t,gn);-1!==this.getIndex(e.id)&&super.remove(e.id)})))}async _onWsGatewayStateChange(t){t===Me.STATE_DISCONNECTED&&this.disconnect(!1),t===Me.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let t;for(this._isRunning=!0;t=this._eventsQueue.shift();){const e=this._handlers.get(t.eventName);e&&await e(t.data)}this._isRunning=!1}_addHandler(t,e,n){const r=t.getEventName(e,!0);this.listenTo(t,r,(async(t,e)=>{const n=t.name;this._eventsQueue.push({eventName:n,data:e}),await this._runQueue()})),this._handlers.set(r,n)}};var On,wn=new Uint8Array(16);function In(){if(!On&&!(On="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return On(wn)}const vn=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const Sn=function(t){return"string"==typeof t&&vn.test(t)};for(var An=[],Pn=0;Pn<256;++Pn)An.push((Pn+256).toString(16).substr(1));const _n=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(An[t[e+0]]+An[t[e+1]]+An[t[e+2]]+An[t[e+3]]+"-"+An[t[e+4]]+An[t[e+5]]+"-"+An[t[e+6]]+An[t[e+7]]+"-"+An[t[e+8]]+An[t[e+9]]+"-"+An[t[e+10]]+An[t[e+11]]+An[t[e+12]]+An[t[e+13]]+An[t[e+14]]+An[t[e+15]]).toLowerCase();if(!Sn(n))throw TypeError("Stringified UUID is invalid");return n};const Tn=function(t,e,n){var r=(t=t||{}).random||(t.rng||In)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(var s=0;s<16;++s)e[n+s]=r[s];return e}return _n(r)};class kn{static async getConnectedSessions(t,e,n){const r=new bn(e,n);return await r.connect(t),r}}class Cn extends _t{constructor(t,e,n,r,s=""){super(),this.id=t,this.buffers=e,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(t){return new Cn(t.id,t.buffers,t.types,t.bundleVersion,t.lastOperationId)}}Cn.TYPE="11",Cn.READABLE_TYPE_NAME="connectToDocument",Cn.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",Cn.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};class En{static prepareMetadataForOperations(t,e){if(!(t&&t.length&&e&&e.length))return[];const n=[];let r=0;for(const s of t)if(0!==s){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(t,e){if(!(t&&t.length&&e&&e.length))return[];const n=[];for(let r=0;r<t.length;r++)if(0!==t[r]){if(!e[r])throw new Error("Missing metadata for a operation");n.push(e[r])}return n}}class jn extends Pt{static toJSON({createdAt:t,...e}){const n={...e};return(null==t?void 0:t.toISOString)&&(n.createdAt=t.toISOString()),n}static fromJSON({createdAt:t,...e}){const n={...e};return t&&(n.createdAt=new Date(t)),n}}jn.DESCRIPTOR_NAME="OperationMetadataDescriptor",jn.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};class Rn extends _t{constructor(t,e,n,r,s=[],o=""){super(),this.id=t,this.buffers=e,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:En.removeUnnecessaryMetadata(this.types,this.metadata).map(jn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(t){return new Rn(t.id,t.buffers,t.types,t.baseVersion,En.prepareMetadataForOperations(t.types,t.metadata).map(jn.fromJSON),t.lastOperationId)}}Rn.TYPE="13",Rn.READABLE_TYPE_NAME="updateDocument",Rn.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",Rn.DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};class Dn extends _t{constructor(t,e,n){super(),this.id=t,this.lastKnowVersion=e,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(t){return new Dn(t.id,t.lastKnowVersion,t.bundleVersion)}}Dn.TYPE="12",Dn.READABLE_TYPE_NAME="reconnectToDocument",Dn.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",Dn.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};class Nn extends _t{constructor(t,e=[],n=[],r=[],s="",o=null){super(),this.version=t,this.buffers=e,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var t;return!(null===(t=this.types)||void 0===t?void 0:t.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:En.removeUnnecessaryMetadata(this.types,this.metadata).map(jn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(t){return new Nn(t.version,t.buffers,t.types,En.prepareMetadataForOperations(t.types,t.metadata).map(jn.fromJSON),t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}static create(t){return new Nn(t.version,t.buffers,t.types,t.metadata,t.lastOperationId,t.lastOperationAcceptedAt?new Date(t.lastOperationAcceptedAt):null)}}Nn.DESCRIPTOR_NAME="CollaborativeEditingResponse",Nn.DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};class xn extends _t{constructor(t,e,n=[],r=[],s=0,o=[],i=null,a="",c="",u=null){super(),this.channel=t,this.version=e,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=u}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var t;return!(null===(t=this.types)||void 0===t?void 0:t.length)&&null===this.initData}toJSON(){var t;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:En.removeUnnecessaryMetadata(this.types,this.metadata).map(jn.toJSON),initData:null!==(t=this.initData)&&void 0!==t?t:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(t){return new xn(t.channel,t.version,t.buffers,t.types,t.offset,t.metadata,t.initData,t.sessionId,t.lastOperationId,t.sessionCreatedAt)}static fromJSON(t){var e;let n=null;return!0===t.isInitialized?n=null!==(e=t.initData)&&void 0!==e?e:"":"boolean"!=typeof t.isInitialized&&t.initData&&(n=t.initData),xn.create({channel:t.channel,version:t.version,buffers:t.buffers,types:t.types,offset:t.offset,metadata:En.prepareMetadataForOperations(t.types,t.metadata).map(jn.fromJSON),initData:n,sessionId:t.sessionId,lastOperationId:t.lastOperationId,sessionCreatedAt:t.sessionCreatedAt?new Date(t.sessionCreatedAt):null})}}xn.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",xn.DESCRIPTOR={fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:jn.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}};class Vn extends _t{constructor(t,e){super(),this.lastDocumentSession=t,this.currentDocumentSession=e}get data(){var t,e,n,r,s;return{lastDocumentSessionId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.id,lastDocumentSessionOperationId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}toJSON(){var t,e,n,r,s;return{lastDocumentSessionId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.id,lastDocumentSessionOperationId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}static fromJSON(t){const e=t.lastDocumentSessionId?{id:t.lastDocumentSessionId,lastOperationId:t.lastDocumentSessionOperationId}:void 0,n=t.currentDocumentSessionId?{lastOperationId:t.currentDocumentSessionOperationId,version:t.currentDocumentSessionVersion,id:t.currentDocumentSessionId}:void 0;return new Vn(e,n)}}Vn.DESCRIPTOR_NAME="GetDocumentDetailsResponse",Vn.DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};class Mn extends _t{constructor(t){super(),this.documentId=t}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Mn(t.documentId)}}Mn.TYPE="14",Mn.READABLE_TYPE_NAME="getDocumentDetails",Mn.DESCRIPTOR_NAME="GetDocumentDetailsMessage",Mn.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};class Bn extends((0,s.EmitterMixin)()){constructor(t,e){if(super(),!t)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=e?e:Tn(),this._isConnected=!1,this._bundleVersion=t}getId(){return this._id}isConnected(){return this._isConnected}connect(t,e={buffers:[],types:[]},n){const r=new Cn(this.getId(),e.buffers,e.types,this._bundleVersion,n);return this._connect(t,r)}reconnect(t,e){if(this.isConnected())throw new Ht("Cannot reconnect to already connected service.",t);return this._connect(t,new Dn(this.getId(),e,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const t=new Mn(this.getId());if(!this._wsGateway)throw new $e("Collaborative Editing",this);const e=await this._wsGateway._sendRequest(1,Mn.TYPE,Nt.encode(t));return Nt.decode(e,Vn)}async sendOperations(t,e,n){if(!t||!t.types||!t.types.length)throw new Ht("Cannot send empty update.",this._wsGateway);const r="number"==typeof e?e:parseInt(e);if(!Number.isInteger(r)||r<0)throw new Ht("Base version not provided.",this._wsGateway);const s=new Rn(this.getId(),t.buffers,t.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new $e("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,Rn.TYPE,Nt.encode(s));return Nt.decode(o,Nn)}async getConnectedSessions(){if(!this._isConnected)throw new $e("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await kn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(t,e){return kn.getConnectedSessions(t,e,1)}async _connect(t,e){if(this.isConnected())return;if(t.state!==Me.STATE_CONNECTED)throw new Ht("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(1,e.constructor.TYPE,Nt.encode(e)),r=Nt.decode(n,xn);return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:Me._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(t,e){this._channel=t._getChannel(1,e),this.listenTo(this._channel,this._channel.getEventName(Rn.TYPE),((t,e)=>{const n=Nt.decode(e,Rn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(t){t===Me.STATE_DISCONNECTED&&this.disconnect()}}Bn._SERVICE=1;const Un=Bn;class Jn extends Pt{static toJSON(t){var e;return{...t,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null}}static fromJSON(t){return{...t,createdAt:new Date(t.createdAt),attributes:t.attributes?JSON.parse(t.attributes):null}}}Jn.DESCRIPTOR_NAME="CommentDescriptor",Jn.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};class qn extends Pt{static toJSON(t){var e,n,r,s,o;return{...t,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString(),deletedAt:null===(n=t.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=t.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null,context:t.context?JSON.stringify(t.context):t.context,comments:null===(s=t.comments)||void 0===s?void 0:s.map(Jn.toJSON),unlinkedAt:null===(o=t.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(t){var e;return{...t,createdAt:t.createdAt?new Date(t.createdAt):void 0,deletedAt:t.deletedAt?new Date(t.deletedAt):void 0,resolvedAt:t.resolvedAt?new Date(t.resolvedAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):null,context:t.context?JSON.parse(t.context):void 0,comments:null===(e=t.comments)||void 0===e?void 0:e.map(Jn.fromJSON),unlinkedAt:t.unlinkedAt?new Date(t.unlinkedAt):void 0}}}qn.DESCRIPTOR_NAME="CommentsThreadDescriptor",qn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};class Ln extends _t{constructor(t,e,n,r="",s,o="",i=null,a){super(),this.documentId=t,this.commentThreadId=e,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?qn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new Ln(t.documentId,t.commentThreadId,t.content,t.commentId?t.commentId:void 0,t.createdAt?new Date(t.createdAt):void 0,t.userId?t.userId:void 0,t.attributes?JSON.parse(t.attributes):{},t.commentThread?qn.fromJSON(t.commentThread):void 0)}}Ln.TYPE="91",Ln.READABLE_TYPE_NAME="addComment",Ln.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",Ln.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};class Yn extends _t{constructor(t,e,n){super(),this.commentThreadId=t,this.commentId=e,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(t){return new Yn(t.commentThreadId,t.commentId,t.createdAt)}}Yn.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",Yn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};class Gn extends _t{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Gn(t.documentId)}}Gn.TYPE="92",Gn.READABLE_TYPE_NAME="connectToComment",Gn.DESCRIPTOR_NAME="CommentsV2ConnectMessage",Gn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class zn extends _t{constructor(t,e,n){super(),this.channel=t,this._threads=e,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:e}toJSON(){var t,e;return{channel:this.channel,threads:null===(t=this._threads)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),threadsV2:null===(e=this._threadsV2)||void 0===e?void 0:e.map(qn.toJSON)}}static fromJSON(t){var e,n;return new zn(t.channel,null===(e=t.threads)||void 0===e?void 0:e.map((t=>JSON.parse(t))),null===(n=t.threadsV2)||void 0===n?void 0:n.map(qn.fromJSON))}}zn.DESCRIPTOR_NAME="CommentsV2ConnectResponse",zn.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};class Hn extends _t{constructor(t,e,n){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(t){return new Hn(t.documentId,t.commentThreadId,t.commentId)}}Hn.TYPE="95",Hn.READABLE_TYPE_NAME="removeComment",Hn.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",Hn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};class Fn extends _t{constructor(t,e){super(),this.documentId=t,this.commentThreadId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new Fn(t.documentId,t.commentThreadId)}}Fn.TYPE="97",Fn.READABLE_TYPE_NAME="removeCommentThread",Fn.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",Fn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class Kn extends _t{constructor(t,e,n,r,s=null,o=!1,i){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?qn.toJSON(this.commentThread):void 0}}static fromJSON(t){return new Kn(t.documentId,t.commentThreadId,t.commentId,t.content,t.attributes?JSON.parse(t.attributes):null,t.isAttributesUpdated,t.commentThread?qn.fromJSON(t.commentThread):void 0)}}Kn.TYPE="96",Kn.READABLE_TYPE_NAME="updateComment",Kn.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",Kn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};class Wn extends _t{constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(t){return new Wn(t.commentThreadId,t.documentId)}}Wn.TYPE="93",Wn.READABLE_TYPE_NAME="getComment",Wn.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",Wn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class $n extends _t{constructor(t,e,n,r,s,o,i,a,c,u){super(),this.commentThreadId=t,this._comments=e,this._commentsV2=n,this.resolvedBy=s,this.comments=(null==n?void 0:n.length)?n:e,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof u?new Date(u):u,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){var t,e,n,r,s,o;return{commentThreadId:this.commentThreadId,comments:null===(t=this._comments)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),commentsV2:null===(e=this._commentsV2)||void 0===e?void 0:e.map(Jn.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(s=this.resolvedAt)||void 0===s?void 0:s.toISOString(),unlinkedAt:null===(o=this.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(t){var e,n;return new $n(t.commentThreadId,null===(e=t.comments)||void 0===e?void 0:e.map((t=>function(t){const e=JSON.parse(t);return{...e,createdAt:new Date(e.createdAt)}}(t))),null===(n=t.commentsV2)||void 0===n?void 0:n.map(Jn.fromJSON),t.attributes?JSON.parse(t.attributes):t.attributes,t.resolvedBy,t.context?JSON.parse(t.context):t.context,t.createdAt,t.deletedAt,t.resolvedAt,t.unlinkedAt)}}$n.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",$n.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};class Qn extends _t{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new Qn(t.documentId)}}Qn.TYPE="94",Qn.READABLE_TYPE_NAME="getDocumentThreads",Qn.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",Qn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class Xn extends _t{constructor(t,e){super(),this._threads=t,this._threadsV2=e,this.threads=(null==e?void 0:e.length)?e:t}toJSON(){var t,e;return{threads:null===(t=this._threads)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),threadsV2:null===(e=this._threadsV2)||void 0===e?void 0:e.map(qn.toJSON)}}static fromJSON(t){var e,n;return new Xn(null===(e=t.threads)||void 0===e?void 0:e.map((t=>function(t){var e;const n=JSON.parse(t),r={...n};return n.comments&&(r.comments=null===(e=n.comments)||void 0===e?void 0:e.map((t=>({...t,createdAt:new Date(t.createdAt)})))),r}(t))),null===(n=t.threadsV2)||void 0===n?void 0:n.map(qn.fromJSON))}}Xn.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",Xn.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};class Zn extends Pt{static toJSON(t){var e;return{commentId:t.commentId,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(t){return{commentId:t.commentId,createdAt:new Date(t.createdAt)}}}Zn.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",Zn.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};class tr extends _t{constructor(t,e,n=[]){super(),this.commentThreadId=t,this.comments=n,this.createdAt=new Date(e)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((t=>Zn.toJSON(t)))}}static fromJSON(t){return new tr(t.commentThreadId,t.createdAt,t.comments.map((t=>Zn.fromJSON(t))))}}tr.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",tr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};class er extends _t{constructor(t,e,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=t,this.commentThreadId=e,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var t;return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:null===(t=this.comments)||void 0===t?void 0:t.map((t=>Jn.toJSON(t)))}}static fromJSON(t){var e;return new er(t.documentId,t.commentThreadId,null===(e=t.comments)||void 0===e?void 0:e.map((e=>Jn.fromJSON({...e,documentId:t.documentId,commentThreadId:t.commentThreadId}))),t.context?JSON.parse(t.context):t.context,t.resolvedBy,t.createdAt?new Date(t.createdAt):void 0,t.resolvedAt?new Date(t.resolvedAt):void 0,t.deletedAt?new Date(t.deletedAt):void 0,t.attributes?JSON.parse(t.attributes):t.attributes)}}er.TYPE="140",er.READABLE_TYPE_NAME="addCommentThread",er.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",er.DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};class nr extends _t{constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var t;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(t=this.resolvedAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(t){return new nr(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}nr.TYPE="142",nr.READABLE_TYPE_NAME="resolveCommentThread",nr.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",nr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};class rr extends _t{constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new rr(t.commentThreadId,t.documentId)}}rr.TYPE="141",rr.READABLE_TYPE_NAME="reopenCommentThread",rr.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",rr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class sr extends _t{constructor(t,e,n,r=null,s=null){super(),this.commentThreadId=t,this.documentId=e,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(t){return new sr(t.commentThreadId,t.documentId,t.context?JSON.parse(t.context):t.context,t.attributes?JSON.parse(t.attributes):null,t.unlinkedAt?new Date(t.unlinkedAt):null)}}sr.TYPE="143",sr.READABLE_TYPE_NAME="updateCommentThread",sr.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",sr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};class or extends _t{constructor(t,e,n,r){super(),this.commentThreadId=t,this.documentId=e,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(t){return new or(t.commentThreadId,t.documentId,t.resolvedBy,t.resolvedAt)}}or.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",or.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};class ir extends((0,s.EmitterMixin)()){constructor(t){super(),this._documentId=t,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==Ne.CONNECTED)throw new Ht("WebSocket Gateway is not connected.",t);const e=new Gn(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const n=await t._sendRequest(9,Gn.TYPE,Nt.encode(e)),{channel:r,threads:s}=Nt.decode(n,zn);return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:Me._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(t,e,n,r){const s=new Ln(this._documentId,t,n,e,void 0,void 0,r),o=await this._sendRequest(Ln.TYPE,s);return Nt.decode(o,Yn)}async updateComment(t,e,n,r){const s=void 0!==r,o=new Kn(this._documentId,t,e,n,r,s);await this._sendRequest(Kn.TYPE,o)}async removeComment(t,e){const n=new Hn(this._documentId,t,e);await this._sendRequest(Hn.TYPE,n)}async removeCommentThread(t){const e=new Fn(this._documentId,t);await this._sendRequest(Fn.TYPE,e)}async addCommentThread(t){var e;const n=new er(this._documentId,t.commentThreadId,null===(e=t.comments)||void 0===e?void 0:e.map((e=>({...e,documentId:this._documentId,commentThreadId:t.commentThreadId}))),t.context,t.resolvedBy,t.createdAt,t.resolvedAt,t.deletedAt,t.attributes),r=await this._sendRequest(er.TYPE,n);return Nt.decode(r,tr)}async resolveCommentThread(t){const e=new nr(t,this._documentId),n=await this._sendRequest(nr.TYPE,e);return Nt.decode(n,or)}async reopenCommentThread(t){const e=new rr(t,this._documentId);await this._sendRequest(rr.TYPE,e)}async updateCommentThread(t){const e=new sr(t.commentThreadId,this._documentId,t.context,t.attributes,t.unlinkedAt);await this._sendRequest(sr.TYPE,e)}async getCommentThread(t,e=1){const n=new Wn(t,this._documentId);try{const t=await this._sendRequest(Wn.TYPE,n),e=Nt.decode(t,$n);return{commentThreadId:e.commentThreadId,comments:e.comments,attributes:e.attributes,context:e.context,resolvedAt:e.resolvedAt,resolvedBy:e.resolvedBy,deletedAt:e.deletedAt,unlinkedAt:e.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&e<5)return await(r=100*e,new Promise((t=>{setTimeout(t,r)}))),this.getCommentThread(t,e+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw Ft.fromPublicError(n)}var r}async getDocumentThreads(){const t=new Qn(this._documentId),e=await this._sendRequest(Qn.TYPE,t),{threads:n}=Nt.decode(e,Xn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new $e("Comments",this);return this._connectedSessions||(this._connectedSessions=await kn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(t,e){this._channel=t._getChannel(ir._SERVICE,e),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Ln.TYPE),((t,e)=>{const n=Nt.decode(e,Ln);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(Hn.TYPE),((t,e)=>{const n=Nt.decode(e,Hn);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(Kn.TYPE),((t,e)=>{const n=Nt.decode(e,Kn);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(Fn.TYPE),((t,e)=>{const n=Nt.decode(e,Fn);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(er.TYPE),((t,e)=>{const n=Nt.decode(e,er);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(sr.TYPE),((t,e)=>{const n=Nt.decode(e,sr);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(nr.TYPE),((t,e)=>{const n=Nt.decode(e,nr);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(rr.TYPE),((t,e)=>{const n=Nt.decode(e,rr);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(t){t===Ne.DISCONNECTED&&this.disconnect()}_sendRequest(t,e){if(!this._wsGateway||!this._isConnected)throw new $e("Comments",this);return this._wsGateway._sendRequest(9,t,Nt.encode(e))}}ir._SERVICE=9;const ar=ir,cr=ur;function ur(t,e){const n=dr();return(ur=function(t,e){return n[t-=278]})(t,e)}function dr(){const t=["DISCONNECTED","function","connect","plugins","cloudservices-reconnection-error","create","all","set","CloudServices","42jlnJUe","initialReconnectionInterval","add","state","9jWWnSW","real-time-collaboration","showWarning","websocketgateway-plugin-already-registered","init","token","context","isInReconnectionStack","has","websocketgateway-missing-token","CONNECTED","961744rHrXdl","51878oafUoF","reconnect","cloudServices.connectionTimeout","change:me","stopListening","441330aDnfYu","removeFromReconnectionStack","from","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","cloudServices.requestTimeout","disconnect","_domEmitter","config","connected","offline","connection","bind","pluginName","limitExceeded","CONNECTING","code","get","cloudservices-init","69864cUmxzE","online","then","delete","194376ztKTBl","webSocketUrl","catch","constructor","_reconnectionStack","_shouldPluginsReconnect","websocketgateway-invalid-plugin-interface","websocketgateway-missing-websocket-url","Connected users limit exceeded","_reconnect","define","644312nXSJPS","requires","WebSocketGateway","destroy","error","837CrQhzq","addToReconnectionStack","_isBrowserOffline","listenTo"];return(dr=function(){return t})()}!function(t,e){const n=ur,r=t();for(;;)try{if(102312===-parseInt(n(311))/1+-parseInt(n(295))/2*(parseInt(n(282))/3)+-parseInt(n(334))/4+parseInt(n(316))/5+parseInt(n(338))/6+parseInt(n(310))/7+parseInt(n(349))/8*(-parseInt(n(299))/9))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(dr);class lr extends r.ContextPlugin{static get[cr(278)](){return[cr(294),o.Notification]}static get[cr(328)](){return cr(279)}constructor(t){const e=cr;super(t),this[e(293)](e(298),Ne[e(309)]),this[e(293)](e(284),!1),this[e(342)]=new Set,this[e(343)]=!1,this[e(322)]=Object[e(291)](s.DomEmitterMixin)}[cr(303)](){const t=cr,e=this[t(305)],n=e[t(289)][t(332)](t(294)),r=e[t(289)][t(332)](o.Notification);if(!n[t(304)])throw new s.CKEditorError(t(308),this);if(!n[t(339)])throw new s.CKEditorError(t(345),this);return this[t(322)][t(285)](window,t(325),(()=>this[t(284)]=!0)),this[t(322)][t(285)](window,t(335),(()=>this[t(284)]=!1)),this[t(305)][t(323)][t(348)](t(313),10),this[t(305)][t(323)][t(348)](t(320),20),lr[t(279)][t(288)](n[t(304)],n[t(339)],{timeout:1e3*this[t(305)][t(323)][t(332)](t(313)),requestTimeout:1e3*this[t(305)][t(323)][t(332)](t(320))})[t(336)]((e=>{const n=t;if(this[n(326)]=e,this[n(327)](n(298)).to(e,n(298),this,n(284),((t,e)=>(n(324)!==t&&(this[n(343)]=!0),e||t!==Ne[n(309)]?Ne[n(286)]:this[n(298)]==Ne[n(286)]&&this[n(343)]?(this[n(343)]=!1,this[n(347)](),Ne[n(330)]):Ne[n(309)]))),this[n(326)].on(n(281),((t,e)=>{const o=n;if(o(329)!==e[o(331)])throw console[o(281)](e),new s.CKEditorError(o(333),null,{originalError:e});r[o(301)](o(319),{title:o(346),namespace:o(300)})})),!e.me)return new Promise((t=>e.on(n(314),t)))}))[t(340)]((e=>{const n=t;throw console[n(281)](e),new s.CKEditorError(n(333),null,{originalError:e})}))}[cr(283)](t){const e=cr;if(e(287)!=typeof t[e(312)])throw new s.CKEditorError(e(344),this);if(this[e(306)](t))throw new s.CKEditorError(e(302),this,{name:t[e(341)][e(328)]});this[e(342)][e(297)](t)}[cr(317)](t){const e=cr;this[e(342)][e(337)](t)}[cr(306)](t){const e=cr;return this[e(342)][e(307)](t)}[cr(347)](){const t=cr;return this[t(326)][t(312)]()[t(336)]((()=>Promise[t(292)](Array[t(318)](this[t(342)],(e=>e[t(312)]())))))[t(336)]((()=>this[t(298)]=Ne[t(309)]))[t(340)]((e=>{const n=t;throw console[n(281)](e),new s.CKEditorError(n(290),this[n(305)])}))}[cr(280)](){const t=cr;this[t(326)]&&this[t(326)][t(321)](),this[t(298)]=Ne[t(286)],this[t(322)][t(315)](),super[t(280)]()}}lr[cr(279)]=Me,lr[cr(296)]=1e3;const pr=lr;var hr=__webpack_require__(211);const fr=mr;function mr(t,e){const n=gr();return(mr=function(t,e){return n[t-=159]})(t,e)}!function(t,e){const n=mr,r=t();for(;;)try{if(778505===-parseInt(n(215))/1+-parseInt(n(169))/2+-parseInt(n(205))/3+-parseInt(n(206))/4+-parseInt(n(168))/5*(-parseInt(n(172))/6)+-parseInt(n(181))/7*(-parseInt(n(174))/8)+-parseInt(n(185))/9)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(gr);class yr extends r.ContextPlugin{static get[fr(178)](){return fr(207)}static get[fr(170)](){return[pr,hr.Users]}constructor(t){const e=fr;super(t),this[e(196)]=new Map,this[e(204)]=new Map,this[e(183)]=new s.Collection,this[e(163)]=new Map,this[e(191)]=0,this[e(214)]=this[e(180)][e(187)][e(189)](hr.Users)}[fr(201)](){const t=fr,e=this[t(180)][t(187)][t(189)](pr);this[t(212)](e,t(160),((e,n,r)=>{const s=t;if(s(165)!==r)this[s(196)][s(200)]((t=>t[s(213)]())),this[s(204)][s(200)]((t=>t[s(213)]())),this[s(183)][s(213)]();else for(const[t,e]of this[s(163)])for(const n of e)this[s(202)](t,n)})),this[t(192)](e[t(162)].me,!0)}[fr(177)](t,e){const n=fr;if(this[n(163)][n(211)](t))throw new s.CKEditorError(n(179),null,{channelId:t});this[n(163)][n(197)](t,e),this[n(196)][n(197)](t,new s.Collection),this[n(204)][n(197)](t,new s.Collection),this[n(212)](e,n(159),((e,r)=>this[n(202)](t,r))),this[n(212)](e,n(184),((e,r)=>this[n(209)](t,r)));for(const r of e)this[n(202)](t,r)}[fr(186)](t){const e=fr;if(!this[e(163)][e(211)](t))throw new s.CKEditorError(e(173),null,{channelId:t});const n=this[e(163)][e(189)](t);this[e(164)](n);for(const r of n)e(165)===this[e(180)][e(187)][e(189)](pr)[e(208)]&&this[e(209)](t,r);this[e(163)][e(161)](t),this[e(196)][e(161)](t),this[e(204)][e(161)](t)}get[fr(203)](){const t=fr;return this[t(180)][t(187)][t(189)](pr)[t(162)][t(166)]}[fr(194)](t){const e=fr;for(const n of this[e(196)][e(193)]())for(const r of n)if(r.id===t)return r[e(217)]}[fr(182)](t,e){const n=fr,r=e?[this[n(196)][n(189)](e)]:this[n(196)][n(193)](),s=new Set;for(const e of r)for(const r of e)r[n(217)].id===t.id&&s[n(159)](r.id);return s}[fr(167)](t){const e=fr;for(const n of this[e(196)][e(193)]())for(const r of n)if(r[e(217)]===t)return r[e(199)]}[fr(202)](t,e){const n=fr;if(n(165)!==this[n(180)][n(187)][n(189)](pr)[n(208)])return;const r=e[n(217)],s=this[n(214)][n(188)](r.id)||this[n(192)](r),o=Object[n(195)]({},e,{user:s});this[n(196)][n(189)](t)[n(159)](o);const i=this[n(204)][n(189)](t);i[n(211)](s.id)||i[n(159)](s),this[n(183)][n(211)](s.id)||this[n(183)][n(159)](s,s[n(175)]?0:void 0),this[n(216)](n(190)+t,{channelId:t,session:o})}[fr(209)](t,e){const n=fr;if(n(165)!==this[n(180)][n(187)][n(189)](pr)[n(208)])return;const r=this[n(204)][n(189)](t),s=e[n(217)];s.id&&(this[n(196)][n(189)](t)[n(184)](e.id),r[n(211)](s.id)&&!this[n(182)](s,t)[n(198)]&&r[n(184)](s.id),this[n(183)][n(189)](s.id)&&!this[n(182)](s)[n(198)]&&this[n(183)][n(184)](s.id))}[fr(192)](t,e){const n=fr,r=this[n(214)][n(176)](t);return e&&this[n(214)][n(210)](t.id),r[n(171)]=this[n(191)]++,r}}function gr(){const t=["values","getUserBySessionId","assign","channelSessions","set","size","role","forEach","init","_handleSessionAdd","mySessionId","channelConnectedUsers","2115054JKnsyw","3295888sqCMbZ","Sessions","state","_handleSessionRemove","defineMe","has","listenTo","clear","_users","180272lqhAmn","fire","user","add","change:state","delete","connection","_registeredSessions","stopListening","connected","sessionId","getUserRole","255ymxYoJ","503336CkaumM","requires","orderNumber","163326BXujkT","sessions-unregister-not-exist","8tAVris","isMe","addUser","register","pluginName","sessions-register-already-registered","context","9712591IYPuJa","getUserSessions","allConnectedUsers","remove","327141Fbmmiz","unregister","plugins","getUser","get","sessionAdd:","_uniqueUsersCount","_createUser"];return(gr=function(){return t})()}var br=__webpack_require__(673),Or=__webpack_require__.n(br),wr=__webpack_require__(535),Ir={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Or()(wr.A,Ir);wr.A.locals;const vr=Sr;function Sr(t,e){const n=Ar();return(Sr=function(t,e){return n[t-=242]})(t,e)}function Ar(){const t=["batch","element","getPositions","delete","</span>","for","_domEmitter","user:range","removeClass","parent","getCustomProperty","toDomElement","plugins","13517lTRhfn","change:range","checkChild","tableCell","editingDowncast","afterInit","hasContent","127516uOvfLT","data-session-id","reconvertMarker","user:","pluginName","mySessionId","innerHTML","model","591958SMtrxe","newRange","13299252oUzZZY","add","set","selection","getUserBySessionId","isLimit","markerName","editor","addEventListener","9YmGDzk","remove","startsWith","setCustomProperty","userPositionMarker","size","oldRange","mapper","isObject","addMarker","1536195aIXWlz","ck-user__marker_hovered","color","isInline","has","undo","Escape","createUIElement","UserMarkers","rootName","keydown","hasDomSelection","user:range:","document","markerRange","schema","stopListening","span","markerToElement","2tcEROD","5prpRLV","user:position","type","getContainedElement","deletionPosition","getAttribute","get","4296384RgfZYQ","createUserMarkerOperations","getMarkerClass","getFirstRange","getNearestSelectionRange","start","user:position:","createRange","classList","ck-user__marker ","update:user:range","destroy","clear","change","$graveyard","end","getRange","11syCzeD","_createdBatches","getSelectionClass","markerToHighlight","nodeAfter","listenTo","updateMarker","contenteditable","isSimilar","1506YCxFtv","fromRange","mouseleave","requires","markers","highest","commands","removeMarker","5929020iflKov","getStart","split","root","view","$text","render","name","conversion","toRange","orderNumber","detach","init","ck-user__selection","applyOperation","isCollapsed","mouseenter","enqueueChange","markerNameToElements","editing",'<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span><span class="ck-user__marker-tooltip" contenteditable="false" spellcheck="false">',"marker"];return(Ar=function(){return t})()}!function(t,e){const n=Sr,r=t();for(;;)try{if(574774===parseInt(n(293))/1+parseInt(n(333))/2*(-parseInt(n(314))/3)+parseInt(n(285))/4*(parseInt(n(334))/5)+parseInt(n(367))/6*(parseInt(n(278))/7)+parseInt(n(341))/8*(-parseInt(n(304))/9)+-parseInt(n(243))/10+parseInt(n(358))/11*(parseInt(n(295))/12))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Ar);class Pr extends r.Plugin{constructor(){const t=Sr;super(...arguments),this[t(271)]=new((0,s.DomEmitterMixin)())}static get[vr(370)](){return[yr]}static get[vr(289)](){return vr(322)}[vr(255)](){const t=vr,e=this[t(302)],n=e[t(277)][t(340)](yr);e[t(251)][t(270)](t(282))[t(332)]({model:t(335),view:(r,{writer:s})=>function(e,n,r,s){const o=t,i=e[o(301)][o(245)](":")[2],a=r[o(299)](i);if(!a||i===r[o(290)])return;if(!s[o(292)][o(329)][o(280)](e[o(328)][o(346)],o(248)))return;const c={class:o(350)+a[o(316)][o(343)](),"data-name":a[o(250)],"data-session-id":i},u=s[o(292)][o(371)][o(340)](e[o(301)])[o(244)](),d=u[o(362)],l=s[o(292)][o(329)];if(d&&l[o(312)](d)&&l[o(317)](d)&&!s[o(292)][o(371)][o(340)](o(326)+i)[o(357)]()[o(258)])return;const p=u[o(274)];return s[o(292)][o(329)][o(300)](p)&&!s[o(292)][o(284)](p)&&(c[o(365)]=!1),function(t,e,n){const r=o,s=t[r(321)](r(331),e);return t[r(307)](r(308),!0,s),s[r(249)]=function(t){const e=r,s=this[e(276)](t);return s[e(291)]=e(263)+n[e(250)]+e(269),s[e(303)](e(259),(()=>{const t=e;s[t(349)][t(296)](t(315))})),s[e(303)](e(369),(()=>{const t=e;s[t(349)][t(305)](t(315))})),s},s[r(366)]=function(t){const e=r;return!(!this[e(275)](e(308))||!t[e(275)](e(308))||this[e(339)](e(286))!=t[e(339)](e(286)))},s}(n,c,a)}(r,s,n,e)}),e[t(251)][t(270)](t(282))[t(361)]({model:t(272),view:e=>function(e,n){const r=t,s=e[r(301)][r(245)](":")[2];if(s===n[r(290)])return null;const o=n[r(299)](s);return o?{id:s,classes:[r(256),o[r(316)][r(360)]()],attributes:{"data-session-id":s},priority:2e3+o[r(253)]}:{id:s,classes:[]}}(e,n)}),function(e){const n=t,r=e[n(292)],s=new Map,o=e[n(277)][n(340)](yr);r[n(371)].on(n(351),((t,a,c,u)=>{const d=n;if(!u&&s[d(340)](a[d(250)]))return s[d(340)](a[d(250)])[d(254)](),void s[d(268)](a[d(250)]);const l=a[d(250)][d(245)](":")[2];if(l===o[d(290)])return;const p=d(347)+l;r[d(371)][d(318)](p)&&e[d(262)][d(287)](p),a.on(d(279),((t,e,n)=>{const o=d;if(o(355)!=e[o(246)][o(323)]&&o(355)==a[o(357)]()[o(246)][o(323)]&&!s[o(318)](a[o(250)])){const t=r[o(329)][o(345)](n[o(338)]);if(t){const e=i.LiveRange[o(368)](t);s[o(297)](a[o(250)],e),e.on(o(279),((t,n,i)=>{const c=o;if(c(355)==e[c(246)][c(323)]){const t=r[c(329)][c(345)](i[c(338)]);t?(e[c(346)]=t[c(346)],e[c(356)]=t[c(356)]):(s[c(268)](a[c(250)]),e[c(254)]())}}))}}}))})),r[n(327)].on(n(354),(()=>{const t=n;s[t(309)]>0&&r[t(260)]({isUndoable:!1},(e=>{const n=t;for(const[t,o]of s)n(355)==r[n(371)][n(340)](t)[n(357)]()[n(246)][n(323)]&&(_r(t[n(245)](":")[2],o[n(252)](),r,e),o[n(254)]());s[n(353)]()}))}))}(e),this[t(271)][t(363)](s.global[t(327)],t(324),((n,{key:r})=>{const s=t;s(320)===r&&function(t){const e=s;t[e(262)][e(247)][e(354)]((n=>{const r=e;for(const e of t[r(292)][r(371)]){if(!e[r(250)][r(306)](r(335)))continue;const s=t[r(262)][r(311)][r(261)](e[r(250)]);if(s)for(const t of s)n[r(273)](r(315),t)}}))}(e)}),{useCapture:!0})}[vr(283)](){const t=vr,e=this[t(302)],n=e[t(373)][t(340)](t(319));n&&e[t(292)].on(t(257),((r,s)=>{const o=t,i=s[0];if(o(264)!=i[o(336)]||!i[o(250)][o(306)](o(288)))return;const a=i[o(265)];n[o(359)][o(318)](a)&&(i[o(294)]=i[o(310)]?e[o(292)][o(348)](i[o(310)][o(346)],i[o(310)][o(356)]):null)}),{priority:t(372)})}[vr(352)](){const t=vr;return this[t(271)][t(330)](),super[t(352)]()}[vr(342)](){const t=vr,e=this[t(302)],n=e[t(292)][t(327)],r=e[t(277)][t(340)](yr);e[t(292)][t(260)]({isUndoable:!1},(s=>{const o=t,i=o(326)+r[o(290)],a=o(347)+r[o(290)],c=e[o(292)][o(371)][o(318)](i);e[o(262)][o(247)][o(325)]?_r(r[o(290)],n[o(298)][o(344)](),e[o(292)],s):c&&(s[o(242)](i),s[o(242)](a))}))}}function _r(t,e,n,r){const s=vr,o=s(326)+t,i=s(347)+t,a=e[s(337)]();let c=e[s(346)];a&&a.is(s(266),s(281))&&(c=function(t,e){const n=s;for(const r of t[n(267)]())if(e[n(329)][n(280)](r,n(248)))return r}(e,n),e=r[s(348)](c));const u=r[s(348)](c);n[s(371)][s(318)](o)?(r[s(364)](o,{range:e}),r[s(364)](i,{range:u})):(r[s(313)](o,{range:e,usingOperation:!0}),r[s(313)](i,{range:u,usingOperation:!0}))}function Tr(t,e,n){const r=t.t;switch(e){case"PENDING_ACTION_SENDING_DATA":return r({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return r("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return r("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return r("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return r("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return r("Synchronization issue");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return r({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}var kr=__webpack_require__(199);const Cr=kr.Reader,Er=kr.Writer,jr=kr.util,Rr=kr.roots.default||(kr.roots.default={}),Dr=Rr.AttributeOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.range=null,t.prototype.key="",t.prototype.oldValueBoolean=!1,t.prototype.oldValueJson="",t.prototype.newValueBoolean=!1,t.prototype.newValueJson="",t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.range&&Object.hasOwnProperty.call(t,"range")&&Rr.Range.encode(t.range,e.uint32(10).fork()).ldelim(),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&e.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&e.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&e.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&e.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&e.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(56).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.AttributeOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.range=Rr.Range.decode(t,t.uint32());break;case 2:r.key=t.string();break;case 3:r.oldValueBoolean=t.bool();break;case 4:r.oldValueJson=t.string();break;case 5:r.newValueBoolean=t.bool();break;case 6:r.newValueJson=t.string();break;case 7:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.range&&t.hasOwnProperty("range")){let e=Rr.Range.verify(t.range);if(e)return"range."+e}return null!=t.key&&t.hasOwnProperty("key")&&!jr.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!jr.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!jr.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.AttributeOperation)return t;let e=new Rr.AttributeOperation;if(null!=t.range){if("object"!=typeof t.range)throw TypeError(".AttributeOperation.range: object expected");e.range=Rr.Range.fromObject(t.range)}return null!=t.key&&(e.key=String(t.key)),null!=t.oldValueBoolean&&(e.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(e.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(e.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(e.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.range&&t.hasOwnProperty("range")&&(n.range=Rr.Range.toObject(t.range,e)),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/AttributeOperation"},t})(),Nr=Rr.InsertOperation=(()=>{function t(t){if(this.nodes=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.position=null,t.prototype.nodes=jr.emptyArray,t.prototype.shouldReceiveAttributes=!1,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Er.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&Rr.Position.encode(t.position,e.uint32(10).fork()).ldelim(),null!=t.nodes&&t.nodes.length)for(let n=0;n<t.nodes.length;++n)Rr.Element.encode(t.nodes[n],e.uint32(18).fork()).ldelim();return null!=t.shouldReceiveAttributes&&Object.hasOwnProperty.call(t,"shouldReceiveAttributes")&&e.uint32(24).bool(t.shouldReceiveAttributes),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(32).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.InsertOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.position=Rr.Position.decode(t,t.uint32());break;case 2:r.nodes&&r.nodes.length||(r.nodes=[]),r.nodes.push(Rr.Element.decode(t,t.uint32()));break;case 3:r.shouldReceiveAttributes=t.bool();break;case 4:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.position&&t.hasOwnProperty("position")){let e=Rr.Position.verify(t.position);if(e)return"position."+e}if(null!=t.nodes&&t.hasOwnProperty("nodes")){if(!Array.isArray(t.nodes))return"nodes: array expected";for(let e=0;e<t.nodes.length;++e){let n=Rr.Element.verify(t.nodes[e]);if(n)return"nodes."+n}}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof t.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.InsertOperation)return t;let e=new Rr.InsertOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".InsertOperation.position: object expected");e.position=Rr.Position.fromObject(t.position)}if(t.nodes){if(!Array.isArray(t.nodes))throw TypeError(".InsertOperation.nodes: array expected");e.nodes=[];for(let n=0;n<t.nodes.length;++n){if("object"!=typeof t.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");e.nodes[n]=Rr.Element.fromObject(t.nodes[n])}}return null!=t.shouldReceiveAttributes&&(e.shouldReceiveAttributes=Boolean(t.shouldReceiveAttributes)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.nodes=[]),e.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=Rr.Position.toObject(t.position,e)),t.nodes&&t.nodes.length){n.nodes=[];for(let r=0;r<t.nodes.length;++r)n.nodes[r]=Rr.Element.toObject(t.nodes[r],e)}return null!=t.shouldReceiveAttributes&&t.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=t.shouldReceiveAttributes),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/InsertOperation"},t})(),xr=Rr.MarkerOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.name="",t.prototype.oldRange=null,t.prototype.newRange=null,t.prototype.affectsData=!1,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&e.uint32(10).string(t.name),null!=t.oldRange&&Object.hasOwnProperty.call(t,"oldRange")&&Rr.Range.encode(t.oldRange,e.uint32(18).fork()).ldelim(),null!=t.newRange&&Object.hasOwnProperty.call(t,"newRange")&&Rr.Range.encode(t.newRange,e.uint32(26).fork()).ldelim(),null!=t.affectsData&&Object.hasOwnProperty.call(t,"affectsData")&&e.uint32(32).bool(t.affectsData),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(40).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.MarkerOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.name=t.string();break;case 2:r.oldRange=Rr.Range.decode(t,t.uint32());break;case 3:r.newRange=Rr.Range.decode(t,t.uint32());break;case 4:r.affectsData=t.bool();break;case 5:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.name&&t.hasOwnProperty("name")&&!jr.isString(t.name))return"name: string expected";if(null!=t.oldRange&&t.hasOwnProperty("oldRange")){let e=Rr.Range.verify(t.oldRange);if(e)return"oldRange."+e}if(null!=t.newRange&&t.hasOwnProperty("newRange")){let e=Rr.Range.verify(t.newRange);if(e)return"newRange."+e}return null!=t.affectsData&&t.hasOwnProperty("affectsData")&&"boolean"!=typeof t.affectsData?"affectsData: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.MarkerOperation)return t;let e=new Rr.MarkerOperation;if(null!=t.name&&(e.name=String(t.name)),null!=t.oldRange){if("object"!=typeof t.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");e.oldRange=Rr.Range.fromObject(t.oldRange)}if(null!=t.newRange){if("object"!=typeof t.newRange)throw TypeError(".MarkerOperation.newRange: object expected");e.newRange=Rr.Range.fromObject(t.newRange)}return null!=t.affectsData&&(e.affectsData=Boolean(t.affectsData)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=t.name&&t.hasOwnProperty("name")&&(n.name=t.name),null!=t.oldRange&&t.hasOwnProperty("oldRange")&&(n.oldRange=Rr.Range.toObject(t.oldRange,e)),null!=t.newRange&&t.hasOwnProperty("newRange")&&(n.newRange=Rr.Range.toObject(t.newRange,e)),null!=t.affectsData&&t.hasOwnProperty("affectsData")&&(n.affectsData=t.affectsData),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MarkerOperation"},t})(),Vr=Rr.MergeOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.sourcePosition=null,t.prototype.targetPosition=null,t.prototype.graveyardPosition=null,t.prototype.howMany=0,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&Rr.Position.encode(t.sourcePosition,e.uint32(10).fork()).ldelim(),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&Rr.Position.encode(t.targetPosition,e.uint32(18).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&Rr.Position.encode(t.graveyardPosition,e.uint32(26).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&e.uint32(32).uint32(t.howMany),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(40).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.MergeOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.sourcePosition=Rr.Position.decode(t,t.uint32());break;case 2:r.targetPosition=Rr.Position.decode(t,t.uint32());break;case 3:r.graveyardPosition=Rr.Position.decode(t,t.uint32());break;case 4:r.howMany=t.uint32();break;case 5:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")){let e=Rr.Position.verify(t.sourcePosition);if(e)return"sourcePosition."+e}if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")){let e=Rr.Position.verify(t.targetPosition);if(e)return"targetPosition."+e}if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")){let e=Rr.Position.verify(t.graveyardPosition);if(e)return"graveyardPosition."+e}return null!=t.howMany&&t.hasOwnProperty("howMany")&&!jr.isInteger(t.howMany)?"howMany: integer expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.MergeOperation)return t;let e=new Rr.MergeOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");e.sourcePosition=Rr.Position.fromObject(t.sourcePosition)}if(null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");e.targetPosition=Rr.Position.fromObject(t.targetPosition)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");e.graveyardPosition=Rr.Position.fromObject(t.graveyardPosition)}return null!=t.howMany&&(e.howMany=t.howMany>>>0),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=Rr.Position.toObject(t.sourcePosition,e)),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=Rr.Position.toObject(t.targetPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=Rr.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MergeOperation"},t})(),Mr=Rr.MoveOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.sourcePosition=null,t.prototype.howMany=0,t.prototype.targetPosition=null,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.sourcePosition&&Object.hasOwnProperty.call(t,"sourcePosition")&&Rr.Position.encode(t.sourcePosition,e.uint32(10).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&e.uint32(16).uint32(t.howMany),null!=t.targetPosition&&Object.hasOwnProperty.call(t,"targetPosition")&&Rr.Position.encode(t.targetPosition,e.uint32(26).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(32).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.MoveOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.sourcePosition=Rr.Position.decode(t,t.uint32());break;case 2:r.howMany=t.uint32();break;case 3:r.targetPosition=Rr.Position.decode(t,t.uint32());break;case 4:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")){let e=Rr.Position.verify(t.sourcePosition);if(e)return"sourcePosition."+e}if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!jr.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.targetPosition&&t.hasOwnProperty("targetPosition")){let e=Rr.Position.verify(t.targetPosition);if(e)return"targetPosition."+e}return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.MoveOperation)return t;let e=new Rr.MoveOperation;if(null!=t.sourcePosition){if("object"!=typeof t.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");e.sourcePosition=Rr.Position.fromObject(t.sourcePosition)}if(null!=t.howMany&&(e.howMany=t.howMany>>>0),null!=t.targetPosition){if("object"!=typeof t.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");e.targetPosition=Rr.Position.fromObject(t.targetPosition)}return null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=t.sourcePosition&&t.hasOwnProperty("sourcePosition")&&(n.sourcePosition=Rr.Position.toObject(t.sourcePosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.targetPosition&&t.hasOwnProperty("targetPosition")&&(n.targetPosition=Rr.Position.toObject(t.targetPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/MoveOperation"},t})(),Br=Rr.RenameOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.position=null,t.prototype.oldName="",t.prototype.newName="",t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.position&&Object.hasOwnProperty.call(t,"position")&&Rr.Position.encode(t.position,e.uint32(10).fork()).ldelim(),null!=t.oldName&&Object.hasOwnProperty.call(t,"oldName")&&e.uint32(18).string(t.oldName),null!=t.newName&&Object.hasOwnProperty.call(t,"newName")&&e.uint32(26).string(t.newName),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(32).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.RenameOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.position=Rr.Position.decode(t,t.uint32());break;case 2:r.oldName=t.string();break;case 3:r.newName=t.string();break;case 4:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.position&&t.hasOwnProperty("position")){let e=Rr.Position.verify(t.position);if(e)return"position."+e}return null!=t.oldName&&t.hasOwnProperty("oldName")&&!jr.isString(t.oldName)?"oldName: string expected":null!=t.newName&&t.hasOwnProperty("newName")&&!jr.isString(t.newName)?"newName: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.RenameOperation)return t;let e=new Rr.RenameOperation;if(null!=t.position){if("object"!=typeof t.position)throw TypeError(".RenameOperation.position: object expected");e.position=Rr.Position.fromObject(t.position)}return null!=t.oldName&&(e.oldName=String(t.oldName)),null!=t.newName&&(e.newName=String(t.newName)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=t.position&&t.hasOwnProperty("position")&&(n.position=Rr.Position.toObject(t.position,e)),null!=t.oldName&&t.hasOwnProperty("oldName")&&(n.oldName=t.oldName),null!=t.newName&&t.hasOwnProperty("newName")&&(n.newName=t.newName),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RenameOperation"},t})(),Ur=Rr.RootAttributeOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.root="",t.prototype.key="",t.prototype.oldValueBoolean=!1,t.prototype.oldValueJson="",t.prototype.newValueBoolean=!1,t.prototype.newValueJson="",t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&e.uint32(10).string(t.root),null!=t.key&&Object.hasOwnProperty.call(t,"key")&&e.uint32(18).string(t.key),null!=t.oldValueBoolean&&Object.hasOwnProperty.call(t,"oldValueBoolean")&&e.uint32(24).bool(t.oldValueBoolean),null!=t.oldValueJson&&Object.hasOwnProperty.call(t,"oldValueJson")&&e.uint32(34).string(t.oldValueJson),null!=t.newValueBoolean&&Object.hasOwnProperty.call(t,"newValueBoolean")&&e.uint32(40).bool(t.newValueBoolean),null!=t.newValueJson&&Object.hasOwnProperty.call(t,"newValueJson")&&e.uint32(50).string(t.newValueJson),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(56).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.RootAttributeOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.root=t.string();break;case 2:r.key=t.string();break;case 3:r.oldValueBoolean=t.bool();break;case 4:r.oldValueJson=t.string();break;case 5:r.newValueBoolean=t.bool();break;case 6:r.newValueJson=t.string();break;case 7:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.root&&t.hasOwnProperty("root")&&!jr.isString(t.root)?"root: string expected":null!=t.key&&t.hasOwnProperty("key")&&!jr.isString(t.key)?"key: string expected":null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof t.oldValueBoolean?"oldValueBoolean: boolean expected":null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&!jr.isString(t.oldValueJson)?"oldValueJson: string expected":null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof t.newValueBoolean?"newValueBoolean: boolean expected":null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&!jr.isString(t.newValueJson)?"newValueJson: string expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.RootAttributeOperation)return t;let e=new Rr.RootAttributeOperation;return null!=t.root&&(e.root=String(t.root)),null!=t.key&&(e.key=String(t.key)),null!=t.oldValueBoolean&&(e.oldValueBoolean=Boolean(t.oldValueBoolean)),null!=t.oldValueJson&&(e.oldValueJson=String(t.oldValueJson)),null!=t.newValueBoolean&&(e.newValueBoolean=Boolean(t.newValueBoolean)),null!=t.newValueJson&&(e.newValueJson=String(t.newValueJson)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.key&&t.hasOwnProperty("key")&&(n.key=t.key),null!=t.oldValueBoolean&&t.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=t.oldValueBoolean),null!=t.oldValueJson&&t.hasOwnProperty("oldValueJson")&&(n.oldValueJson=t.oldValueJson),null!=t.newValueBoolean&&t.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=t.newValueBoolean),null!=t.newValueJson&&t.hasOwnProperty("newValueJson")&&(n.newValueJson=t.newValueJson),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootAttributeOperation"},t})(),Jr=Rr.RootOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.rootName="",t.prototype.elementName="",t.prototype.isAdd=!1,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.rootName&&Object.hasOwnProperty.call(t,"rootName")&&e.uint32(10).string(t.rootName),null!=t.elementName&&Object.hasOwnProperty.call(t,"elementName")&&e.uint32(18).string(t.elementName),null!=t.isAdd&&Object.hasOwnProperty.call(t,"isAdd")&&e.uint32(24).bool(t.isAdd),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(32).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.RootOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.rootName=t.string();break;case 2:r.elementName=t.string();break;case 3:r.isAdd=t.bool();break;case 4:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){return"object"!=typeof t||null===t?"object expected":null!=t.rootName&&t.hasOwnProperty("rootName")&&!jr.isString(t.rootName)?"rootName: string expected":null!=t.elementName&&t.hasOwnProperty("elementName")&&!jr.isString(t.elementName)?"elementName: string expected":null!=t.isAdd&&t.hasOwnProperty("isAdd")&&"boolean"!=typeof t.isAdd?"isAdd: boolean expected":null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.RootOperation)return t;let e=new Rr.RootOperation;return null!=t.rootName&&(e.rootName=String(t.rootName)),null!=t.elementName&&(e.elementName=String(t.elementName)),null!=t.isAdd&&(e.isAdd=Boolean(t.isAdd)),null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=t.rootName&&t.hasOwnProperty("rootName")&&(n.rootName=t.rootName),null!=t.elementName&&t.hasOwnProperty("elementName")&&(n.elementName=t.elementName),null!=t.isAdd&&t.hasOwnProperty("isAdd")&&(n.isAdd=t.isAdd),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/RootOperation"},t})(),qr=Rr.SplitOperation=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.splitPosition=null,t.prototype.graveyardPosition=null,t.prototype.howMany=0,t.prototype.insertionPosition=null,t.prototype.wasUndone=!1,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.splitPosition&&Object.hasOwnProperty.call(t,"splitPosition")&&Rr.Position.encode(t.splitPosition,e.uint32(10).fork()).ldelim(),null!=t.graveyardPosition&&Object.hasOwnProperty.call(t,"graveyardPosition")&&Rr.Position.encode(t.graveyardPosition,e.uint32(18).fork()).ldelim(),null!=t.howMany&&Object.hasOwnProperty.call(t,"howMany")&&e.uint32(24).uint32(t.howMany),null!=t.insertionPosition&&Object.hasOwnProperty.call(t,"insertionPosition")&&Rr.Position.encode(t.insertionPosition,e.uint32(34).fork()).ldelim(),null!=t.wasUndone&&Object.hasOwnProperty.call(t,"wasUndone")&&e.uint32(40).bool(t.wasUndone),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.SplitOperation;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.splitPosition=Rr.Position.decode(t,t.uint32());break;case 2:r.graveyardPosition=Rr.Position.decode(t,t.uint32());break;case 3:r.howMany=t.uint32();break;case 4:r.insertionPosition=Rr.Position.decode(t,t.uint32());break;case 5:r.wasUndone=t.bool();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.splitPosition&&t.hasOwnProperty("splitPosition")){let e=Rr.Position.verify(t.splitPosition);if(e)return"splitPosition."+e}if(null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")){let e=Rr.Position.verify(t.graveyardPosition);if(e)return"graveyardPosition."+e}if(null!=t.howMany&&t.hasOwnProperty("howMany")&&!jr.isInteger(t.howMany))return"howMany: integer expected";if(null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")){let e=Rr.Position.verify(t.insertionPosition);if(e)return"insertionPosition."+e}return null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&"boolean"!=typeof t.wasUndone?"wasUndone: boolean expected":null},t.fromObject=function(t){if(t instanceof Rr.SplitOperation)return t;let e=new Rr.SplitOperation;if(null!=t.splitPosition){if("object"!=typeof t.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");e.splitPosition=Rr.Position.fromObject(t.splitPosition)}if(null!=t.graveyardPosition){if("object"!=typeof t.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");e.graveyardPosition=Rr.Position.fromObject(t.graveyardPosition)}if(null!=t.howMany&&(e.howMany=t.howMany>>>0),null!=t.insertionPosition){if("object"!=typeof t.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");e.insertionPosition=Rr.Position.fromObject(t.insertionPosition)}return null!=t.wasUndone&&(e.wasUndone=Boolean(t.wasUndone)),e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=t.splitPosition&&t.hasOwnProperty("splitPosition")&&(n.splitPosition=Rr.Position.toObject(t.splitPosition,e)),null!=t.graveyardPosition&&t.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=Rr.Position.toObject(t.graveyardPosition,e)),null!=t.howMany&&t.hasOwnProperty("howMany")&&(n.howMany=t.howMany),null!=t.insertionPosition&&t.hasOwnProperty("insertionPosition")&&(n.insertionPosition=Rr.Position.toObject(t.insertionPosition,e)),null!=t.wasUndone&&t.hasOwnProperty("wasUndone")&&(n.wasUndone=t.wasUndone),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/SplitOperation"},t})(),Lr=Rr.Position=(()=>{function t(t){if(this.path=[],t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.root="",t.prototype.rootMain=!1,t.prototype.rootGraveyard=!1,t.prototype.path=jr.emptyArray,t.prototype.stickiness="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Er.create()),null!=t.root&&Object.hasOwnProperty.call(t,"root")&&e.uint32(10).string(t.root),null!=t.rootMain&&Object.hasOwnProperty.call(t,"rootMain")&&e.uint32(16).bool(t.rootMain),null!=t.rootGraveyard&&Object.hasOwnProperty.call(t,"rootGraveyard")&&e.uint32(24).bool(t.rootGraveyard),null!=t.path&&t.path.length){e.uint32(34).fork();for(let n=0;n<t.path.length;++n)e.uint32(t.path[n]);e.ldelim()}return null!=t.stickiness&&Object.hasOwnProperty.call(t,"stickiness")&&e.uint32(42).string(t.stickiness),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.Position;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.root=t.string();break;case 2:r.rootMain=t.bool();break;case 3:r.rootGraveyard=t.bool();break;case 4:if(r.path&&r.path.length||(r.path=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)r.path.push(t.uint32())}else r.path.push(t.uint32());break;case 5:r.stickiness=t.string();break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.root&&t.hasOwnProperty("root")&&!jr.isString(t.root))return"root: string expected";if(null!=t.rootMain&&t.hasOwnProperty("rootMain")&&"boolean"!=typeof t.rootMain)return"rootMain: boolean expected";if(null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof t.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=t.path&&t.hasOwnProperty("path")){if(!Array.isArray(t.path))return"path: array expected";for(let e=0;e<t.path.length;++e)if(!jr.isInteger(t.path[e]))return"path: integer[] expected"}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&!jr.isString(t.stickiness)?"stickiness: string expected":null},t.fromObject=function(t){if(t instanceof Rr.Position)return t;let e=new Rr.Position;if(null!=t.root&&(e.root=String(t.root)),null!=t.rootMain&&(e.rootMain=Boolean(t.rootMain)),null!=t.rootGraveyard&&(e.rootGraveyard=Boolean(t.rootGraveyard)),t.path){if(!Array.isArray(t.path))throw TypeError(".Position.path: array expected");e.path=[];for(let n=0;n<t.path.length;++n)e.path[n]=t.path[n]>>>0}return null!=t.stickiness&&(e.stickiness=String(t.stickiness)),e},t.toObject=function(t,e){e||(e={});let n={};if((e.arrays||e.defaults)&&(n.path=[]),e.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=t.root&&t.hasOwnProperty("root")&&(n.root=t.root),null!=t.rootMain&&t.hasOwnProperty("rootMain")&&(n.rootMain=t.rootMain),null!=t.rootGraveyard&&t.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=t.rootGraveyard),t.path&&t.path.length){n.path=[];for(let e=0;e<t.path.length;++e)n.path[e]=t.path[e]}return null!=t.stickiness&&t.hasOwnProperty("stickiness")&&(n.stickiness=t.stickiness),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Position"},t})(),Yr=Rr.Range=(()=>{function t(t){if(t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.start=null,t.prototype.end=null,t.create=function(e){return new t(e)},t.encode=function(t,e){return e||(e=Er.create()),null!=t.start&&Object.hasOwnProperty.call(t,"start")&&Rr.Position.encode(t.start,e.uint32(10).fork()).ldelim(),null!=t.end&&Object.hasOwnProperty.call(t,"end")&&Rr.Position.encode(t.end,e.uint32(18).fork()).ldelim(),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n=void 0===e?t.len:t.pos+e,r=new Rr.Range;for(;t.pos<n;){let e=t.uint32();switch(e>>>3){case 1:r.start=Rr.Position.decode(t,t.uint32());break;case 2:r.end=Rr.Position.decode(t,t.uint32());break;default:t.skipType(7&e)}}return r},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.start&&t.hasOwnProperty("start")){let e=Rr.Position.verify(t.start);if(e)return"start."+e}if(null!=t.end&&t.hasOwnProperty("end")){let e=Rr.Position.verify(t.end);if(e)return"end."+e}return null},t.fromObject=function(t){if(t instanceof Rr.Range)return t;let e=new Rr.Range;if(null!=t.start){if("object"!=typeof t.start)throw TypeError(".Range.start: object expected");e.start=Rr.Position.fromObject(t.start)}if(null!=t.end){if("object"!=typeof t.end)throw TypeError(".Range.end: object expected");e.end=Rr.Position.fromObject(t.end)}return e},t.toObject=function(t,e){e||(e={});let n={};return e.defaults&&(n.start=null,n.end=null),null!=t.start&&t.hasOwnProperty("start")&&(n.start=Rr.Position.toObject(t.start,e)),null!=t.end&&t.hasOwnProperty("end")&&(n.end=Rr.Position.toObject(t.end,e)),n},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Range"},t})(),Gr=Rr.Element=(()=>{function t(t){if(this.children=[],this.attributesBoolean={},t)for(let e=Object.keys(t),n=0;n<e.length;++n)null!=t[e[n]]&&(this[e[n]]=t[e[n]])}return t.prototype.name="",t.prototype.children=jr.emptyArray,t.prototype.data="",t.prototype.attributesBoolean=jr.emptyObject,t.prototype.attributesJson="",t.create=function(e){return new t(e)},t.encode=function(t,e){if(e||(e=Er.create()),null!=t.name&&Object.hasOwnProperty.call(t,"name")&&e.uint32(10).string(t.name),null!=t.children&&t.children.length)for(let n=0;n<t.children.length;++n)Rr.Element.encode(t.children[n],e.uint32(18).fork()).ldelim();if(null!=t.data&&Object.hasOwnProperty.call(t,"data")&&e.uint32(26).string(t.data),null!=t.attributesBoolean&&Object.hasOwnProperty.call(t,"attributesBoolean"))for(let n=Object.keys(t.attributesBoolean),r=0;r<n.length;++r)e.uint32(34).fork().uint32(10).string(n[r]).uint32(16).bool(t.attributesBoolean[n[r]]).ldelim();return null!=t.attributesJson&&Object.hasOwnProperty.call(t,"attributesJson")&&e.uint32(42).string(t.attributesJson),e},t.encodeDelimited=function(t,e){return this.encode(t,e).ldelim()},t.decode=function(t,e){t instanceof Cr||(t=Cr.create(t));let n,r,s=void 0===e?t.len:t.pos+e,o=new Rr.Element;for(;t.pos<s;){let e=t.uint32();switch(e>>>3){case 1:o.name=t.string();break;case 2:o.children&&o.children.length||(o.children=[]),o.children.push(Rr.Element.decode(t,t.uint32()));break;case 3:o.data=t.string();break;case 4:{o.attributesBoolean===jr.emptyObject&&(o.attributesBoolean={});let e=t.uint32()+t.pos;for(n="",r=!1;t.pos<e;){let e=t.uint32();switch(e>>>3){case 1:n=t.string();break;case 2:r=t.bool();break;default:t.skipType(7&e)}}o.attributesBoolean[n]=r;break}case 5:o.attributesJson=t.string();break;default:t.skipType(7&e)}}return o},t.decodeDelimited=function(t){return t instanceof Cr||(t=new Cr(t)),this.decode(t,t.uint32())},t.verify=function(t){if("object"!=typeof t||null===t)return"object expected";if(null!=t.name&&t.hasOwnProperty("name")&&!jr.isString(t.name))return"name: string expected";if(null!=t.children&&t.hasOwnProperty("children")){if(!Array.isArray(t.children))return"children: array expected";for(let e=0;e<t.children.length;++e){let n=Rr.Element.verify(t.children[e]);if(n)return"children."+n}}if(null!=t.data&&t.hasOwnProperty("data")&&!jr.isString(t.data))return"data: string expected";if(null!=t.attributesBoolean&&t.hasOwnProperty("attributesBoolean")){if(!jr.isObject(t.attributesBoolean))return"attributesBoolean: object expected";let e=Object.keys(t.attributesBoolean);for(let n=0;n<e.length;++n)if("boolean"!=typeof t.attributesBoolean[e[n]])return"attributesBoolean: boolean{k:string} expected"}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&!jr.isString(t.attributesJson)?"attributesJson: string expected":null},t.fromObject=function(t){if(t instanceof Rr.Element)return t;let e=new Rr.Element;if(null!=t.name&&(e.name=String(t.name)),t.children){if(!Array.isArray(t.children))throw TypeError(".Element.children: array expected");e.children=[];for(let n=0;n<t.children.length;++n){if("object"!=typeof t.children[n])throw TypeError(".Element.children: object expected");e.children[n]=Rr.Element.fromObject(t.children[n])}}if(null!=t.data&&(e.data=String(t.data)),t.attributesBoolean){if("object"!=typeof t.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");e.attributesBoolean={};for(let n=Object.keys(t.attributesBoolean),r=0;r<n.length;++r)e.attributesBoolean[n[r]]=Boolean(t.attributesBoolean[n[r]])}return null!=t.attributesJson&&(e.attributesJson=String(t.attributesJson)),e},t.toObject=function(t,e){e||(e={});let n,r={};if((e.arrays||e.defaults)&&(r.children=[]),(e.objects||e.defaults)&&(r.attributesBoolean={}),e.defaults&&(r.name="",r.data="",r.attributesJson=""),null!=t.name&&t.hasOwnProperty("name")&&(r.name=t.name),t.children&&t.children.length){r.children=[];for(let n=0;n<t.children.length;++n)r.children[n]=Rr.Element.toObject(t.children[n],e)}if(null!=t.data&&t.hasOwnProperty("data")&&(r.data=t.data),t.attributesBoolean&&(n=Object.keys(t.attributesBoolean)).length){r.attributesBoolean={};for(let e=0;e<n.length;++e)r.attributesBoolean[n[e]]=t.attributesBoolean[n[e]]}return null!=t.attributesJson&&t.hasOwnProperty("attributesJson")&&(r.attributesJson=t.attributesJson),r},t.prototype.toJSON=function(){return this.constructor.toObject(this,kr.util.toJSONOptions)},t.getTypeUrl=function(t){return void 0===t&&(t="type.googleapis.com"),t+"/Element"},t})();class zr{constructor(){this._protobufRoot=n}getDescriptor(t){return new Hr(this._protobufRoot[t])}}class Hr{constructor(t){this._protobuf=t}compress(t){const e=this._protobuf.verify(t);if(e)throw Error(e);return this._protobuf.encode(this._protobuf.create(t)).finish()}decompress(t){return this._protobuf.toObject(this._protobuf.decode(t),{oneofs:!0})}}const Fr=function(){this.__data__=[],this.size=0};const Kr=function(t,e){return t===e||t!=t&&e!=e};const Wr=function(t,e){for(var n=t.length;n--;)if(Kr(t[n][0],e))return n;return-1};var $r=Array.prototype.splice;const Qr=function(t){var e=this.__data__,n=Wr(e,t);return!(n<0)&&(n==e.length-1?e.pop():$r.call(e,n,1),--this.size,!0)};const Xr=function(t){var e=this.__data__,n=Wr(e,t);return n<0?void 0:e[n][1]};const Zr=function(t){return Wr(this.__data__,t)>-1};const ts=function(t,e){var n=this.__data__,r=Wr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};function es(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}es.prototype.clear=Fr,es.prototype.delete=Qr,es.prototype.get=Xr,es.prototype.has=Zr,es.prototype.set=ts;const ns=es;const rs=function(){this.__data__=new ns,this.size=0};const ss=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};const os=function(t){return this.__data__.get(t)};const is=function(t){return this.__data__.has(t)};const as="object"==typeof global&&global&&global.Object===Object&&global;var cs="object"==typeof self&&self&&self.Object===Object&&self;const us=as||cs||Function("return this")();const ds=us.Symbol;var ls=Object.prototype,ps=ls.hasOwnProperty,hs=ls.toString,fs=ds?ds.toStringTag:void 0;const ms=function(t){var e=ps.call(t,fs),n=t[fs];try{t[fs]=void 0;var r=!0}catch(t){}var s=hs.call(t);return r&&(e?t[fs]=n:delete t[fs]),s};var ys=Object.prototype.toString;const gs=function(t){return ys.call(t)};var bs=ds?ds.toStringTag:void 0;const Os=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":bs&&bs in Object(t)?ms(t):gs(t)};const ws=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};const Is=function(t){if(!ws(t))return!1;var e=Os(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};const vs=us["__core-js_shared__"];var Ss,As=(Ss=/[^.]+$/.exec(vs&&vs.keys&&vs.keys.IE_PROTO||""))?"Symbol(src)_1."+Ss:"";const Ps=function(t){return!!As&&As in t};var _s=Function.prototype.toString;const Ts=function(t){if(null!=t){try{return _s.call(t)}catch(t){}try{return t+""}catch(t){}}return""};var ks=/^\[object .+?Constructor\]$/,Cs=Function.prototype,Es=Object.prototype,js=Cs.toString,Rs=Es.hasOwnProperty,Ds=RegExp("^"+js.call(Rs).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Ns=function(t){return!(!ws(t)||Ps(t))&&(Is(t)?Ds:ks).test(Ts(t))};const xs=function(t,e){return null==t?void 0:t[e]};const Vs=function(t,e){var n=xs(t,e);return Ns(n)?n:void 0};const Ms=Vs(us,"Map");const Bs=Vs(Object,"create");const Us=function(){this.__data__=Bs?Bs(null):{},this.size=0};const Js=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};var qs=Object.prototype.hasOwnProperty;const Ls=function(t){var e=this.__data__;if(Bs){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return qs.call(e,t)?e[t]:void 0};var Ys=Object.prototype.hasOwnProperty;const Gs=function(t){var e=this.__data__;return Bs?void 0!==e[t]:Ys.call(e,t)};const zs=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Bs&&void 0===e?"__lodash_hash_undefined__":e,this};function Hs(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Hs.prototype.clear=Us,Hs.prototype.delete=Js,Hs.prototype.get=Ls,Hs.prototype.has=Gs,Hs.prototype.set=zs;const Fs=Hs;const Ks=function(){this.size=0,this.__data__={hash:new Fs,map:new(Ms||ns),string:new Fs}};const Ws=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};const $s=function(t,e){var n=t.__data__;return Ws(e)?n["string"==typeof e?"string":"hash"]:n.map};const Qs=function(t){var e=$s(this,t).delete(t);return this.size-=e?1:0,e};const Xs=function(t){return $s(this,t).get(t)};const Zs=function(t){return $s(this,t).has(t)};const to=function(t,e){var n=$s(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function eo(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}eo.prototype.clear=Ks,eo.prototype.delete=Qs,eo.prototype.get=Xs,eo.prototype.has=Zs,eo.prototype.set=to;const no=eo;const ro=function(t,e){var n=this.__data__;if(n instanceof ns){var r=n.__data__;if(!Ms||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new no(r)}return n.set(t,e),this.size=n.size,this};function so(t){var e=this.__data__=new ns(t);this.size=e.size}so.prototype.clear=rs,so.prototype.delete=ss,so.prototype.get=os,so.prototype.has=is,so.prototype.set=ro;const oo=so;const io=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t};const ao=function(){try{var t=Vs(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();const co=function(t,e,n){"__proto__"==e&&ao?ao(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n};var uo=Object.prototype.hasOwnProperty;const lo=function(t,e,n){var r=t[e];uo.call(t,e)&&Kr(r,n)&&(void 0!==n||e in t)||co(t,e,n)};const po=function(t,e,n,r){var s=!n;n||(n={});for(var o=-1,i=e.length;++o<i;){var a=e[o],c=r?r(n[a],t[a],a,n,t):void 0;void 0===c&&(c=t[a]),s?co(n,a,c):lo(n,a,c)}return n};const ho=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r};const fo=function(t){return null!=t&&"object"==typeof t};const mo=function(t){return fo(t)&&"[object Arguments]"==Os(t)};var yo=Object.prototype,go=yo.hasOwnProperty,bo=yo.propertyIsEnumerable,Oo=mo(function(){return arguments}())?mo:function(t){return fo(t)&&go.call(t,"callee")&&!bo.call(t,"callee")};const wo=Oo;const Io=Array.isArray;const vo=function(){return!1};var So="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ao=So&&"object"==typeof module&&module&&!module.nodeType&&module,Po=Ao&&Ao.exports===So?us.Buffer:void 0;const _o=(Po?Po.isBuffer:void 0)||vo;var To=/^(?:0|[1-9]\d*)$/;const ko=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&To.test(t))&&t>-1&&t%1==0&&t<e};const Co=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};var Eo={};Eo["[object Float32Array]"]=Eo["[object Float64Array]"]=Eo["[object Int8Array]"]=Eo["[object Int16Array]"]=Eo["[object Int32Array]"]=Eo["[object Uint8Array]"]=Eo["[object Uint8ClampedArray]"]=Eo["[object Uint16Array]"]=Eo["[object Uint32Array]"]=!0,Eo["[object Arguments]"]=Eo["[object Array]"]=Eo["[object ArrayBuffer]"]=Eo["[object Boolean]"]=Eo["[object DataView]"]=Eo["[object Date]"]=Eo["[object Error]"]=Eo["[object Function]"]=Eo["[object Map]"]=Eo["[object Number]"]=Eo["[object Object]"]=Eo["[object RegExp]"]=Eo["[object Set]"]=Eo["[object String]"]=Eo["[object WeakMap]"]=!1;const jo=function(t){return fo(t)&&Co(t.length)&&!!Eo[Os(t)]};const Ro=function(t){return function(e){return t(e)}};var Do="object"==typeof exports&&exports&&!exports.nodeType&&exports,No=Do&&"object"==typeof module&&module&&!module.nodeType&&module,xo=No&&No.exports===Do&&as.process;const Vo=function(){try{var t=No&&No.require&&No.require("util").types;return t||xo&&xo.binding&&xo.binding("util")}catch(t){}}();var Mo=Vo&&Vo.isTypedArray;const Bo=Mo?Ro(Mo):jo;var Uo=Object.prototype.hasOwnProperty;const Jo=function(t,e){var n=Io(t),r=!n&&wo(t),s=!n&&!r&&_o(t),o=!n&&!r&&!s&&Bo(t),i=n||r||s||o,a=i?ho(t.length,String):[],c=a.length;for(var u in t)!e&&!Uo.call(t,u)||i&&("length"==u||s&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||ko(u,c))||a.push(u);return a};var qo=Object.prototype;const Lo=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||qo)};const Yo=function(t,e){return function(n){return t(e(n))}};const Go=Yo(Object.keys,Object);var zo=Object.prototype.hasOwnProperty;const Ho=function(t){if(!Lo(t))return Go(t);var e=[];for(var n in Object(t))zo.call(t,n)&&"constructor"!=n&&e.push(n);return e};const Fo=function(t){return null!=t&&Co(t.length)&&!Is(t)};const Ko=function(t){return Fo(t)?Jo(t):Ho(t)};const Wo=function(t,e){return t&&po(e,Ko(e),t)};const $o=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var Qo=Object.prototype.hasOwnProperty;const Xo=function(t){if(!ws(t))return $o(t);var e=Lo(t),n=[];for(var r in t)("constructor"!=r||!e&&Qo.call(t,r))&&n.push(r);return n};const Zo=function(t){return Fo(t)?Jo(t,!0):Xo(t)};const ti=function(t,e){return t&&po(e,Zo(e),t)};var ei="object"==typeof exports&&exports&&!exports.nodeType&&exports,ni=ei&&"object"==typeof module&&module&&!module.nodeType&&module,ri=ni&&ni.exports===ei?us.Buffer:void 0,si=ri?ri.allocUnsafe:void 0;const oi=function(t,e){if(e)return t.slice();var n=t.length,r=si?si(n):new t.constructor(n);return t.copy(r),r};const ii=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e};const ai=function(t,e){for(var n=-1,r=null==t?0:t.length,s=0,o=[];++n<r;){var i=t[n];e(i,n,t)&&(o[s++]=i)}return o};const ci=function(){return[]};var ui=Object.prototype.propertyIsEnumerable,di=Object.getOwnPropertySymbols;const li=di?function(t){return null==t?[]:(t=Object(t),ai(di(t),(function(e){return ui.call(t,e)})))}:ci;const pi=function(t,e){return po(t,li(t),e)};const hi=function(t,e){for(var n=-1,r=e.length,s=t.length;++n<r;)t[s+n]=e[n];return t};const fi=Yo(Object.getPrototypeOf,Object);const mi=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)hi(e,li(t)),t=fi(t);return e}:ci;const yi=function(t,e){return po(t,mi(t),e)};const gi=function(t,e,n){var r=e(t);return Io(t)?r:hi(r,n(t))};const bi=function(t){return gi(t,Ko,li)};const Oi=function(t){return gi(t,Zo,mi)};const wi=Vs(us,"DataView");const Ii=Vs(us,"Promise");const vi=Vs(us,"Set");const Si=Vs(us,"WeakMap");var Ai="[object Map]",Pi="[object Promise]",_i="[object Set]",Ti="[object WeakMap]",ki="[object DataView]",Ci=Ts(wi),Ei=Ts(Ms),ji=Ts(Ii),Ri=Ts(vi),Di=Ts(Si),Ni=Os;(wi&&Ni(new wi(new ArrayBuffer(1)))!=ki||Ms&&Ni(new Ms)!=Ai||Ii&&Ni(Ii.resolve())!=Pi||vi&&Ni(new vi)!=_i||Si&&Ni(new Si)!=Ti)&&(Ni=function(t){var e=Os(t),n="[object Object]"==e?t.constructor:void 0,r=n?Ts(n):"";if(r)switch(r){case Ci:return ki;case Ei:return Ai;case ji:return Pi;case Ri:return _i;case Di:return Ti}return e});const xi=Ni;var Vi=Object.prototype.hasOwnProperty;const Mi=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&Vi.call(t,"index")&&(n.index=t.index,n.input=t.input),n};const Bi=us.Uint8Array;const Ui=function(t){var e=new t.constructor(t.byteLength);return new Bi(e).set(new Bi(t)),e};const Ji=function(t,e){var n=e?Ui(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)};var qi=/\w*$/;const Li=function(t){var e=new t.constructor(t.source,qi.exec(t));return e.lastIndex=t.lastIndex,e};var Yi=ds?ds.prototype:void 0,Gi=Yi?Yi.valueOf:void 0;const zi=function(t){return Gi?Object(Gi.call(t)):{}};const Hi=function(t,e){var n=e?Ui(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)};const Fi=function(t,e,n){var r=t.constructor;switch(e){case"[object ArrayBuffer]":return Ui(t);case"[object Boolean]":case"[object Date]":return new r(+t);case"[object DataView]":return Ji(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Hi(t,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(t);case"[object RegExp]":return Li(t);case"[object Symbol]":return zi(t)}};var Ki=Object.create;const Wi=function(){function t(){}return function(e){if(!ws(e))return{};if(Ki)return Ki(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();const $i=function(t){return"function"!=typeof t.constructor||Lo(t)?{}:Wi(fi(t))};const Qi=function(t){return fo(t)&&"[object Map]"==xi(t)};var Xi=Vo&&Vo.isMap;const Zi=Xi?Ro(Xi):Qi;const ta=function(t){return fo(t)&&"[object Set]"==xi(t)};var ea=Vo&&Vo.isSet;const na=ea?Ro(ea):ta;var ra="[object Arguments]",sa="[object Function]",oa="[object Object]",ia={};ia[ra]=ia["[object Array]"]=ia["[object ArrayBuffer]"]=ia["[object DataView]"]=ia["[object Boolean]"]=ia["[object Date]"]=ia["[object Float32Array]"]=ia["[object Float64Array]"]=ia["[object Int8Array]"]=ia["[object Int16Array]"]=ia["[object Int32Array]"]=ia["[object Map]"]=ia["[object Number]"]=ia[oa]=ia["[object RegExp]"]=ia["[object Set]"]=ia["[object String]"]=ia["[object Symbol]"]=ia["[object Uint8Array]"]=ia["[object Uint8ClampedArray]"]=ia["[object Uint16Array]"]=ia["[object Uint32Array]"]=!0,ia["[object Error]"]=ia[sa]=ia["[object WeakMap]"]=!1;const aa=function t(e,n,r,s,o,i){var a,c=1&n,u=2&n,d=4&n;if(r&&(a=o?r(e,s,o,i):r(e)),void 0!==a)return a;if(!ws(e))return e;var l=Io(e);if(l){if(a=Mi(e),!c)return ii(e,a)}else{var p=xi(e),h=p==sa||"[object GeneratorFunction]"==p;if(_o(e))return oi(e,c);if(p==oa||p==ra||h&&!o){if(a=u||h?{}:$i(e),!c)return u?yi(e,ti(a,e)):pi(e,Wo(a,e))}else{if(!ia[p])return o?e:{};a=Fi(e,p,c)}}i||(i=new oo);var f=i.get(e);if(f)return f;i.set(e,a),na(e)?e.forEach((function(s){a.add(t(s,n,r,s,e,i))})):Zi(e)&&e.forEach((function(s,o){a.set(o,t(s,n,r,o,e,i))}));var m=l?void 0:(d?u?Oi:bi:u?Zo:Ko)(e);return io(m||e,(function(s,o){m&&(s=e[o=s]),lo(a,o,t(s,n,r,o,e,i))})),a};const ca=function(t){return aa(t,5)};const ua=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const da=function(t){return this.__data__.has(t)};function la(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new no;++e<n;)this.add(t[e])}la.prototype.add=la.prototype.push=ua,la.prototype.has=da;const pa=la;const ha=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1};const fa=function(t,e){return t.has(e)};const ma=function(t,e,n,r,s,o){var i=1&n,a=t.length,c=e.length;if(a!=c&&!(i&&c>a))return!1;var u=o.get(t),d=o.get(e);if(u&&d)return u==e&&d==t;var l=-1,p=!0,h=2&n?new pa:void 0;for(o.set(t,e),o.set(e,t);++l<a;){var f=t[l],m=e[l];if(r)var y=i?r(m,f,l,e,t,o):r(f,m,l,t,e,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!ha(e,(function(t,e){if(!fa(h,e)&&(f===t||s(f,t,n,r,o)))return h.push(e)}))){p=!1;break}}else if(f!==m&&!s(f,m,n,r,o)){p=!1;break}}return o.delete(t),o.delete(e),p};const ya=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n};const ga=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n};var ba=ds?ds.prototype:void 0,Oa=ba?ba.valueOf:void 0;const wa=function(t,e,n,r,s,o,i){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new Bi(t),new Bi(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Kr(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=ya;case"[object Set]":var c=1&r;if(a||(a=ga),t.size!=e.size&&!c)return!1;var u=i.get(t);if(u)return u==e;r|=2,i.set(t,e);var d=ma(a(t),a(e),r,s,o,i);return i.delete(t),d;case"[object Symbol]":if(Oa)return Oa.call(t)==Oa.call(e)}return!1};var Ia=Object.prototype.hasOwnProperty;const va=function(t,e,n,r,s,o){var i=1&n,a=bi(t),c=a.length;if(c!=bi(e).length&&!i)return!1;for(var u=c;u--;){var d=a[u];if(!(i?d in e:Ia.call(e,d)))return!1}var l=o.get(t),p=o.get(e);if(l&&p)return l==e&&p==t;var h=!0;o.set(t,e),o.set(e,t);for(var f=i;++u<c;){var m=t[d=a[u]],y=e[d];if(r)var g=i?r(y,m,d,e,t,o):r(m,y,d,t,e,o);if(!(void 0===g?m===y||s(m,y,n,r,o):g)){h=!1;break}f||(f="constructor"==d)}if(h&&!f){var b=t.constructor,O=e.constructor;b==O||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return o.delete(t),o.delete(e),h};var Sa="[object Arguments]",Aa="[object Array]",Pa="[object Object]",_a=Object.prototype.hasOwnProperty;const Ta=function(t,e,n,r,s,o){var i=Io(t),a=Io(e),c=i?Aa:xi(t),u=a?Aa:xi(e),d=(c=c==Sa?Pa:c)==Pa,l=(u=u==Sa?Pa:u)==Pa,p=c==u;if(p&&_o(t)){if(!_o(e))return!1;i=!0,d=!1}if(p&&!d)return o||(o=new oo),i||Bo(t)?ma(t,e,n,r,s,o):wa(t,e,c,n,r,s,o);if(!(1&n)){var h=d&&_a.call(t,"__wrapped__"),f=l&&_a.call(e,"__wrapped__");if(h||f){var m=h?t.value():t,y=f?e.value():e;return o||(o=new oo),s(m,y,n,r,o)}}return!!p&&(o||(o=new oo),va(t,e,n,r,s,o))};const ka=function t(e,n,r,s,o){return e===n||(null==e||null==n||!fo(e)&&!fo(n)?e!=e&&n!=n:Ta(e,n,r,s,t,o))};const Ca=function(t,e){return ka(t,e)};function Ea(t,e){const n=ca(t);return n.path[n.path.length-1]+=e,n}function ja(t,e){return t.root===e.root&&Ca(t.path,e.path)}function Ra(t){Na(t,(t=>("main"==t.root?(t.rootMain=!0,delete t.root):"$graveyard"==t.root&&(t.rootGraveyard=!0,delete t.root),t)))}function Da(t){Na(t,(t=>(t.rootMain?(t.root="main",delete t.rootMain):t.rootGraveyard&&(t.root="$graveyard",delete t.rootGraveyard),t)))}function Na(t,e){for(const n in t){const r=t[n];"nodes"!==n&&ws(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?t[n]=e(r):Na(r,e))}return t}class xa{constructor(t,e,n){this._id=t,this._operationName=e,this._protobufDescriptor=n}compress(t,e){const n=e.shift();return Ra(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){e.types.shift();const n=this._protobufDescriptor.decompress(e.buffers.shift());Da(n),n.__className=this._operationName,t.push(n)}}class Va extends xa{compress(t,e){const n=e.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),Ra(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){const{types:n,buffers:r}=e,s=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",s),this._deserializeOneOf("newValue",s),Da(s),s.__className=this._operationName,t.push(s)}_serializeOneOf(t,e){const n=e[t];"boolean"==typeof n?e[`${t}Boolean`]=n:e[`${t}Json`]=JSON.stringify(n)}_deserializeOneOf(t,e){const n=`${t}Json`;e[n]?(e[t]=JSON.parse(e[n]),delete e[n]):(e[t]=e[`${t}Boolean`],delete e[`${t}Boolean`])}}class Ma extends xa{compress(t,e){const n=e.shift();return this._serializeNodesAttributes(n.nodes),Ra(n),t.buffers.push(this._protobufDescriptor.compress(n)),t.types.push(this._id),!0}decompress(t,e){const{types:n,buffers:r}=e,s=this._protobufDescriptor.decompress(r.shift());n.shift(),s.nodes||(s.nodes=[]),this._deserializeNodesAttributes(s.nodes),Da(s),s.__className=this._operationName,t.push(s)}_serializeNodesAttributes(t){for(const e of t){if(e.attributes){const t=e.attributes;this._areValuesBoolean(t)?e.attributesBoolean=t:e.attributesJson=JSON.stringify(t)}e.children&&this._serializeNodesAttributes(e.children)}}_deserializeNodesAttributes(t){for(const e of t)(e.attributesBoolean||e.attributesJson)&&(e.attributesBoolean?(e.attributes=e.attributesBoolean,delete e.attributesBoolean):(e.attributes=JSON.parse(e.attributesJson),delete e.attributesJson)),e.children&&this._deserializeNodesAttributes(e.children)}_areValuesBoolean(t){return Object.keys(t).every((e=>"boolean"==typeof t[e]))}}class Ba extends xa{decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class Ua extends xa{compress(t,e){return e.shift(),t.types.push(this._id),!0}decompress(t,e){e.types.shift(),t.push({__className:this._operationName})}}class Ja extends Ba{constructor(t,e,n,r){super(t,e,n),this._omittedNamespace=r+":"}compress(t,e){return!("MarkerOperation"!=e[0].__className||!e[0].name.startsWith(this._omittedNamespace))&&(e[0].name=e[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(t,e),!0)}decompress(t,e){super.decompress(t,e);const n=t[t.length-1];n.name=this._omittedNamespace+n.name}}class qa{constructor(t,e){this._id=t,this._context=e}compress(t,e){let n;for(;e.length>1&&this._compareOperations(e[0],e[1]);)n?(n=this._combineNext(e.shift(),n),t.types.push(0)):(n=ca(e.shift()),t.types.push(this._id));return!!n&&(n=this._combineNext(e.shift(),n),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0)}decompress(t,e){const n=this._decompressSingleOperation(e);for(;0==e.types[0];)e.types.shift(),t.push(this._splitCurrent(n));t.push(n)}}class La extends qa{_combineNext(t,e){return e.nodes[0].data+=t.nodes[0].data,e}_splitCurrent(t){const e=ca(t),n=e.nodes[0],r=t.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),t.position=Ea(t.position,o),e}_compareOperations(t,e){if(this._checkOperation(t)&&this._checkOperation(e)){const n=t.nodes[0].data.length,r=ja(Ea(t.position,n),e.position),s=t.nodes[0],o=e.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(e,[t]),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("InsertOperation").decompress(e,t),e[0]}_checkOperation(t){return"InsertOperation"==t.__className&&1==t.nodes.length&&t.nodes[0].data&&!t.wasUndone&&1==Array.from(t.nodes[0].data).length}_compareAttributes(t,e){const n=Object.keys(t.attributes||{}),r=Object.keys(e.attributes||{});return n.length===r.length&&n.every((n=>e.attributes[n]&&e.attributes[n]===t.attributes[n]))}}class Ya extends qa{_combineNext(t,e){return e.howMany++,e.sourcePosition=ca(t.sourcePosition),e}_splitCurrent(t){const e=ca(t);return t.howMany--,e.howMany=1,e.sourcePosition=Ea(e.sourcePosition,t.howMany),e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(ja(Ea(t.sourcePosition,-1),e.sourcePosition)&&ja(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,[t]),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class Ga extends qa{_combineNext(t,e){return e.howMany++,e}_splitCurrent(t){const e=ca(t);return e.howMany=1,t.howMany--,e}_compareOperations(t,e){return!(!this._checkOperation(t)||!this._checkOperation(e))&&(ja(t.sourcePosition,e.sourcePosition)&&ja(t.targetPosition,e.targetPosition))}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(e,[t]),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MoveOperation").decompress(e,t),e[0]}_checkOperation(t){return"MoveOperation"==t.__className&&"$graveyard"==t.targetPosition.root&&1==t.howMany&&!t.wasUndone}}class za extends qa{compress(t,e){if(!this._compareOperations(e[0],e[1]))return!1;const n=e.shift();return n.oldRange=null,n.newRange&&ja(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),e.shift(),t.types.push(this._id),t.types.push(0),t.buffers.push(this._compressSingleOperation(n)),!0}decompress(t,e){const n=this._decompressSingleOperation(e);n.newRange&&!n.newRange.end&&(n.newRange.end=ca(n.newRange.start));const r=ca(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=ca(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],e.types.shift(),t.push(n),t.push(r)}_compressSingleOperation(t){const e={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(e,[t]),e.buffers[0]}_decompressSingleOperation(t){const e=[];return this._context._getCompressorByName("MarkerOperation").decompress(e,t),e[0]}_compareOperations(t,e){return!(!t||!e)&&("MarkerOperation"==t.__className&&"MarkerOperation"==e.__className&&!(!t.name.startsWith("user:")||!e.name.startsWith("user:")||t.name==e.name))}}class Ha{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new zr;const t=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new Ua(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",Va),this._registerOperationCompressor(11,"InsertOperation",Ma),this._registerOperationCompressor(12,"MarkerOperation",Ba),this._registerOperationCompressor(13,"MergeOperation",xa),this._registerOperationCompressor(14,"MoveOperation",xa),this._registerOperationCompressor(15,"RenameOperation",xa),this._registerOperationCompressor(16,"RootAttributeOperation",Va),this._registerOperationCompressor(17,"SplitOperation",xa),this._registerCompressor(18,"CommentMarkerOperation",new Ja(18,"MarkerOperation",t,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Ja(19,"MarkerOperation",t,"suggestion")),this._registerOperationCompressor(20,"RootOperation",xa),this._registerActionCompressor(100,"TypingAction",La),this._registerActionCompressor(101,"DeletingAction",Ya),this._registerActionCompressor(102,"ForwardDeletingAction",Ga),this._registerActionCompressor(103,"UserSelectionAction",za)}compress(t){if(!t||!t[0])throw new s.CKEditorError("no-operations-provided",this);const e={types:[],buffers:[],baseVersion:t[0].baseVersion};for(;t.length;)this._getCompressorByName("UserSelectionAction").compress(e,t)||this._getCompressorByName("TypingAction").compress(e,t)||this._getCompressorByName("DeletingAction").compress(e,t)||this._getCompressorByName("ForwardDeletingAction").compress(e,t)||this._getCompressorByName("CommentMarkerOperation").compress(e,t)||this._getCompressorByName("SuggestionMarkerOperation").compress(e,t)||this._getCompressorByName(t[0].__className).compress(e,t);return e}decompress(t){const e=[];for(;t.types.length;){this._compressorById.get(t.types[0]).decompress(e,t)}return e.forEach(((e,n)=>e.baseVersion=t.baseVersion+n)),e}_getCompressorByName(t){return this._compressorByName.get(t)}_registerOperationCompressor(t,e,n){const r=new n(t,e,this._protobufFactory.getDescriptor(e));this._registerCompressor(t,e,r)}_registerActionCompressor(t,e,n){const r=new n(t,this);this._registerCompressor(t,e,r)}_registerCompressor(t,e,n){this._compressorById.set(t,n),this._compressorByName.set(e,n)}}new Map([[Cn.TYPE,Cn.READABLE_TYPE_NAME],[Dn.TYPE,Dn.READABLE_TYPE_NAME],[Rn.TYPE,Rn.READABLE_TYPE_NAME],[Mn.TYPE,Mn.READABLE_TYPE_NAME],[Ln.TYPE,Ln.READABLE_TYPE_NAME],[Gn.TYPE,Gn.READABLE_TYPE_NAME],[Wn.TYPE,Wn.READABLE_TYPE_NAME],[Qn.TYPE,Qn.READABLE_TYPE_NAME],[Hn.TYPE,Hn.READABLE_TYPE_NAME],[Fn.TYPE,Fn.READABLE_TYPE_NAME],[Kn.TYPE,Kn.READABLE_TYPE_NAME],[mn.TYPE,mn.READABLE_TYPE_NAME],[yn.TYPE,yn.READABLE_TYPE_NAME],[gn.TYPE,gn.READABLE_TYPE_NAME],[Ze.TYPE,Ze.READABLE_TYPE_NAME],[en.TYPE,en.READABLE_TYPE_NAME],[cn.TYPE,cn.READABLE_TYPE_NAME],[rn.TYPE,rn.READABLE_TYPE_NAME],[un.TYPE,un.READABLE_TYPE_NAME],[ln.TYPE,ln.READABLE_TYPE_NAME],[Bt.TYPE,Bt.READABLE_TYPE_NAME],[Jt.TYPE,Jt.READABLE_TYPE_NAME],[Fe.TYPE,Fe.READABLE_TYPE_NAME],[We.TYPE,We.READABLE_TYPE_NAME],[Le.TYPE,Le.READABLE_TYPE_NAME],[ze.TYPE,ze.READABLE_TYPE_NAME],[Be.TYPE,Be.READABLE_TYPE_NAME],[nr.TYPE,nr.READABLE_TYPE_NAME],[rr.TYPE,rr.READABLE_TYPE_NAME],[sr.TYPE,sr.READABLE_TYPE_NAME],[er.TYPE,er.READABLE_TYPE_NAME]]);const{Encoder:Fa,Decoder:Ka}=e,Wa=$a;function $a(t,e){const n=Za();return($a=function(t,e){return n[t-=164]})(t,e)}!function(t,e){const n=$a,r=t();for(;;)try{if(482229===-parseInt(n(241))/1*(parseInt(n(387))/2)+parseInt(n(226))/3+parseInt(n(197))/4+parseInt(n(259))/5*(parseInt(n(310))/6)+parseInt(n(340))/7*(parseInt(n(250))/8)+parseInt(n(336))/9*(-parseInt(n(330))/10)+parseInt(n(343))/11)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Za);let Qa=1;class Xa extends r.Plugin{static get[Wa(309)](){return[pr,yr,Pr,r.PendingActions,hr.Users,o.Notification]}static get[Wa(390)](){return Wa(225)}get[Wa(281)](){const t=Wa;return this[t(222)]+this[t(369)]}get[Wa(222)](){const t=Wa;return this[t(167)][t(174)]-this[t(369)]}get[Wa(337)](){const t=Wa,e=this[t(167)][t(355)]();for(let n=e[t(270)]-1;n>=0;n--){const r=e[n];if(!this[t(191)][t(292)](r))return r[t(383)]+1-this[t(369)]}return 0}constructor(t){const e=Wa;if(super(t),this[e(369)]=0,this[e(184)]=null,this[e(167)]=new i.History,this[e(417)][e(233)][e(414)](e(312),{}),this[e(291)]=this[e(417)][e(233)][e(277)](e(381)),!this[e(291)])throw new s.CKEditorError(e(227),this);const n=t[e(233)][e(277)](e(304))||s.version;this[e(213)]=new(Xa[e(201)])(n,this[e(291)]),this[e(388)]=this[e(417)][e(406)][e(344)],this[e(228)]=new Ha,this[e(245)]=[],this[e(284)]=new WeakSet,this[e(179)]=new Set,this[e(172)](e(328),!1),this[e(172)](e(231),!1),this[e(296)]=null,this[e(177)]=!1,this[e(236)]=null,this[e(223)]=300,this[e(278)]=this[e(223)],this[e(286)]=null,this[e(191)]=new WeakSet,this[e(358)]=new rc(this[e(191)])}[Wa(329)](){const t=Wa,e=this[t(417)],n=e[t(301)][t(277)](hr.Users),r=e[t(301)][t(277)](pr);this[t(287)](n,t(368),((e,r)=>{const s=t,o=r[0];o[s(187)]&&(e[s(351)]=n[s(166)](o[s(187)]),e[s(246)]()),null===o[s(187)]&&(e[s(351)]=null,e[s(246)]())}),{priority:t(321)}),this[t(287)](e[t(406)][t(344)][t(338)],t(305),((e,n)=>{const r=t;n[r(232)]&&this[r(350)]()})),this[t(287)](e[t(318)][t(376)],t(193),(()=>{this[t(350)]()})),this[t(300)](),e[t(406)].on(t(217),((e,n)=>{const r=t,s=n[0];s[r(230)]&&(this[r(206)](s),this[r(190)]()&&this[r(297)]())})),this[t(295)](),this[t(372)](t(221)).to(r,t(266),this,t(231),((e,n)=>t(382)===e&&!n)),this.on(t(265),(()=>{const n=t;this[n(221)]?e[n(198)](n(240)):e[n(170)](n(240))})),this[t(221)]?e[t(198)](t(240)):e[t(170)](t(240)),this[t(172)](t(274),!1)}async[Wa(207)](){const t=Wa,e=this[t(417)][t(301)][t(277)](yr),n=this[t(417)][t(301)][t(277)](pr);try{this[t(328)]=!0,e[t(243)](this[t(291)]);const r=await this[t(213)][t(207)](n[t(342)],this[t(337)]);await this[t(352)](r)&&(this[t(328)]=!1,this[t(334)]());const s=await this[t(213)][t(263)]();e[t(203)](this[t(291)],s),this[t(346)](),this[t(274)]=!0}catch(e){if(function(e){const n=t;return n(395)===e[n(268)]}(e)&&this[t(184)])await this[t(247)]();else if(function(e){const n=t;return n(168)===e[n(268)]}(e)){const e=Tr(this[t(417)][t(407)],t(349));this[t(215)](e)}else{if(!(e instanceof ec))throw e;this[t(215)]()}}}[Wa(405)](){const t=Wa,e=this[t(417)][t(301)][t(277)](pr),n=this[t(417)][t(301)][t(277)](yr);this[t(417)][t(170)](t(251)),n[t(252)][t(292)](this[t(291)])&&n[t(243)](this[t(291)]),e[t(311)](this),this[t(307)](),super[t(405)]()}async[Wa(352)](t){const e=Wa;if(this[e(184)]!==t[e(184)]&&this[e(286)]!==t[e(186)])throw new ec;return this[e(184)]=t[e(184)],this[e(378)]([],{...t,wereChangesApplied:!1,data:t[e(377)]},e(207))}async[Wa(262)](t,e=!1){const n=Wa,{connection:r}=this[n(417)][n(301)][n(277)](pr);Xa[n(201)][n(263)](r,this[n(291)])[n(421)]((t=>this[n(398)](t)))[n(249)]((t=>{const e=n;this[e(211)](e(255),t)})),this[n(287)](this[n(213)],n(248),this[n(238)][n(372)](this)),this[n(287)](this[n(213)],n(418),((t,e)=>{const r=n;this[r(211)](r(202),e)})),this[n(287)](this[n(213)],n(412),(()=>{this[n(274)]=!1}));const s=this[n(358)][n(290)](t);this[n(328)]=!0;const o=await this[n(213)][n(400)](r,this[n(269)](t),s);if(this[n(184)]=o[n(184)],e){if(!o[n(194)])return void this[n(215)]();this[n(328)]=!1,this[n(334)](),this[n(167)][n(260)](),this[n(369)]=o[n(244)],this[n(167)][n(174)]=this[n(369)],await this[n(378)](t,o,n(256))}else await this[n(210)](o,t);this[n(346)](),this[n(274)]=!0}[Wa(346)](){const t=Wa,e=this[t(417)][t(301)][t(277)](yr),n=this[t(417)][t(301)][t(277)](Pr),r=e[t(252)][t(277)](this[t(291)]);r&&r[t(270)]>1?n[t(182)]():this[t(287)](e,t(333)+this[t(291)],(()=>{const r=t;2===e[r(252)][r(277)](this[r(291)])[r(270)]&&n[r(182)]()}))}async[Wa(238)](t,e,n,r){const s=Wa;if(!this[s(328)]&&this[s(388)][s(174)]==e){const t=this[s(324)](n,r);await this[s(386)](t),this[s(317)](t,e,n[s(186)])||this[s(211)](s(294))}}async[Wa(247)](){const t=Wa;this[t(307)]();const{locale:e}=this[t(417)];let n;try{n=await this[t(213)][t(209)]()}catch(n){const r=Tr(e,t(180));return void this[t(215)](r)}const r=n[t(237)]||n[t(199)];if(this[t(286)]===r[t(186)])await this[t(262)](this[t(417)][t(406)][t(344)][t(380)][t(355)](),!0);else{const n=Tr(e,t(341));this[t(215)](n)}}[Wa(307)](){const t=Wa;this[t(213)][t(401)](),this[t(245)]=[],clearTimeout(this[t(236)]),this[t(279)](this[t(213)])}[Wa(398)](t){const e=Wa,n=this[e(417)][e(301)][e(277)](yr);this[e(287)](n,e(333)+this[e(291)],((t,{session:r})=>{const s=e;if(r.id===n[s(392)]){t[s(365)]();const e=this[s(417)][s(301)][s(292)](s(214))&&this[s(417)][s(301)][s(277)](s(214));let n=r[s(403)];e&&e[s(285)]&&(n=n[s(413)]((t=>s(181)!==t))),this[s(417)][s(301)][s(277)](s(348))[s(319)](n,this[s(291)])}})),n[e(203)](this[e(291)],t)}[Wa(300)](){const t=Wa,e=this[t(417)][t(377)][t(172)];this[t(417)][t(377)][t(172)]=(...n)=>{const r=t;if(!n[n[r(270)]-1][r(320)])throw new s.CKEditorError(r(316),this);e[r(374)](this[r(417)][r(377)],n)}}[Wa(295)](){const t=Wa;this[t(417)][t(377)].on(t(329),((e,[n])=>{const r=t;if(this[r(388)][r(174)])throw new s.CKEditorError(r(325),this);e[r(246)](),this[r(420)]();const o=this[r(417)][r(233)][r(277)](r(327)),a=this[r(242)](n,o);0==a[r(270)]&&a[r(289)](new i.NoOperation(0)),e[r(351)]=this[r(262)](a)[r(421)]((()=>{const t=r;this[t(417)][t(301)][t(277)](pr)[t(192)](this),this[t(417)][t(377)][t(282)](t(185))}))[r(249)]((t=>this[r(211)](r(326),t)))[r(218)]((()=>this[r(334)]()))}),{priority:t(321)}),this[t(417)].on(t(173),(async(e,[n,r])=>{const s=t;e[s(246)]();const o=this[s(417)][s(406)][s(344)][s(257)](n);if(!this[s(179)][s(292)](n)){const t=r&&r[s(377)]?r[s(377)]:"",e=r&&r[s(195)]?r[s(195)]:{};await this[s(308)](n,t,e)}this[s(417)][s(406)][s(419)]({isUndoable:!1},(()=>{const t=s;o[t(183)]=!0,this[t(417)][t(406)][t(344)][t(339)][t(411)](o)}))}),{priority:t(321)})}async[Wa(386)](t){const e=Wa,n=this[e(417)][e(301)][e(277)](hr.Users),{connection:r}=this[e(417)][e(301)][e(277)](pr),s=new Set;for(const r of t){const t=r[e(187)];t&&!n[e(166)](t)&&s[e(379)](t)}if(0===s[e(347)])return;const o=await zt[e(331)](r,Array[e(353)](s));for(const t of o)n[e(166)](t.id)||n[e(303)](t)}[Wa(242)](t,e={}){const n=Wa,r=this[n(417)][n(406)],o=[];let a=0;const c=n(360)==typeof t?{main:t}:t;for(const t of Object[n(272)](c)){if(!this[n(388)][n(408)][n(292)](t))throw new s.CKEditorError(n(196),this);const e=this[n(417)][n(377)][n(275)](c[t]),u=this[n(388)][n(257)](t),d=new i.InsertOperation(r[n(258)](u,0),e,a++);o[n(289)](d);for(const[t,s]of e[n(288)]){const e=r[n(354)](r[n(314)](u,s[n(391)][n(332)][n(169)]()),r[n(314)](u,s[n(298)][n(332)][n(169)]())),c=new i.MarkerOperation(t,null,e,r[n(288)],!0,a++);o[n(289)](c)}}if(e)for(const[t,c]of Object[n(367)](e)){const e=r[n(344)][n(257)](t);if(!e)throw new s.CKEditorError(n(393),null);for(const[t,r]of Object[n(367)](c))if(null!==r){const s=new i.RootAttributeOperation(e,t,null,r,a++);o[n(289)](s)}}return o}async[Wa(308)](t,e,n){const r=Wa;this[r(242)]({[t]:e},{[t]:n})[r(229)](((t,e)=>{const n=r;t[n(383)]=this[n(388)][n(174)]+e,t[n(366)]=!0,this[n(206)](t)})),this[r(297)](),await this[r(345)]()}async[Wa(210)](t,e){const n=Wa;let r;this[n(369)]=t[n(244)];const s=t[n(194)]&&!t[n(280)],o=s?0:t[n(377)][n(383)];if(e[n(229)]((e=>{const r=n;e[r(366)]=!0,e[r(397)]=t[r(234)],e[r(187)]=null})),s)r=e,this[n(276)](r,s);else{if(t[n(280)]){const e=this[n(242)](t[n(280)]);this[n(388)][n(380)][n(174)]=-e[n(270)],e[n(229)]((r=>{const s=n;r[s(383)]-=e[s(270)],r[s(397)]=t[s(234)],r[s(366)]=!0,r[s(187)]=null})),this[n(276)](e,!0),this[n(167)][n(174)]=-e[n(270)]+this[n(369)],this[n(359)](e)}this[n(388)][n(380)][n(174)]=o,r=this[n(324)](t[n(377)],t[n(261)]),await this[n(386)](r),this[n(276)](r,s)}t[n(186)]&&(this[n(358)][n(364)](r,t[n(186)]),this[n(286)]=t[n(186)]),this[n(167)][n(174)]=o+this[n(369)],this[n(359)](r),e[n(413)]((t=>{const e=n,r=this[e(178)](t);return r&&!this[e(179)][e(292)](r)}))[n(229)](((t,e)=>{const r=n;t[r(383)]=this[r(388)][r(174)]+e,this[r(206)](t)})),this[n(190)]()?(this[n(278)]=0,this[n(297)](!0),await this[n(345)]()):(this[n(328)]=!1,this[n(334)]())}[Wa(211)](t,e){const n=Wa;throw this[n(328)]=!0,e&&console[n(418)](e),new s.CKEditorError(t,this[n(417)])}[Wa(206)](t){const e=Wa;this[e(284)][e(292)](t)||(this[e(284)][e(379)](t),this[e(245)][e(289)](t),this[e(296)]||e(394)==t[e(335)]&&!t[e(205)]||this[e(420)]())}[Wa(297)](t=!1){const e=Wa;!t&&this[e(328)]||(this[e(328)]=!0,clearTimeout(this[e(236)]),this[e(236)]=setTimeout((()=>{const t=e;this[t(219)]()[t(421)]((e=>{const n=t;e&&(this[n(334)](),this[n(328)]=!1)}))[t(249)]((e=>{const n=t;if(this[n(334)](),this[n(328)]=!1,!function(t){const e=n;return t[e(410)][e(254)](e(293))||t[e(410)][e(254)](e(385))||t[e(410)][e(254)](e(264))}(e))throw e}))}),this[e(278)]))}[Wa(345)](){return new Promise((t=>{const e=$a;this.on(e(239),(()=>{t()}))}))}async[Wa(219)](){const t=Wa,e=this[t(417)][t(301)][t(277)](Pr);if(this[t(361)]()&&(e[t(182)](),this[t(177)]=!1),!this[t(190)]())return!0;const n=[...this[t(245)]];for(const e of n)e[t(389)]=this[t(388)][t(380)][t(212)](e);const r=this[t(358)][t(290)](n),s=Qa++,o=this[t(269)](n),i=await this[t(213)][t(216)](o,o[t(383)],r);try{return await this[t(378)](n,i,s)}catch(e){return this[t(211)](t(313),e)}}async[Wa(378)](t,e,n){const r=Wa;if(r(418)in e)throw e[r(418)];let s=!1;if(e[r(194)]){e[r(186)]&&(this[r(286)]=e[r(186)]),this[r(245)]=this[r(245)][r(413)]((e=>!t[r(283)](e)));for(const n of t)n[r(397)]=r(399)in e&&e[r(399)]||void 0;nc(t,e[r(174)]-t[r(270)]),this[r(359)](t);const n=t[r(413)]((t=>{const e=r;if(!t[e(366)])return!1;const n=this[e(178)](t);return n&&!this[e(179)][e(292)](n)}));nc(n,this[r(388)][r(174)]),this[r(276)](n),s=!0,this[r(278)]=this[r(223)]}else{const t=this[r(324)](e[r(377)],e[r(261)])[r(413)]((t=>t[r(383)]>=this[r(222)]));t[r(229)]((t=>this[r(356)](t))),this[r(245)]=this[r(245)][r(413)]((t=>!t[r(366)]||!this[r(179)][r(292)](this[r(178)](t)))),this[r(245)][r(270)]&&nc(this[r(245)],this[r(245)][0][r(383)]),await this[r(386)](t),s=this[r(317)](t,e[r(174)],e[r(186)]),this[r(278)]=Math[r(204)](this[r(278)]/2)}return s?!this[r(190)]()||(this[r(297)](!0),!1):this[r(211)](r(253))}[Wa(317)](t,e,n){const r=Wa;try{const s={document:this[r(388)],useRelations:!1,padWithNoOps:!0},{operationsA:o,operationsB:a,originalOperations:c}=(0,i.transformSets)(t,this[r(245)],s);nc(o,this[r(388)][r(174)]),nc(a,e);for(const t of o){const e=c[r(277)](t);t[r(187)]=e?e[r(187)]:null}n&&(this[r(358)][r(364)](t,n),this[r(286)]=n),this[r(245)]=[...a],this[r(276)](o),this[r(359)](t)}catch(t){return console[r(418)](t),!1}return!0}[Wa(276)](t,e=!1){const n=Wa;this[n(417)][n(406)][n(419)]({isUndoable:!1,isLocal:!1},(e=>{const r=n;for(const n of t)this[r(284)][r(379)](n),this[r(356)](n),e[r(422)][r(373)](n),this[r(417)][r(406)][r(217)](n)}))}[Wa(356)](t){const e=Wa,n=this[e(178)](t);n&&this[e(179)][e(379)](n)}[Wa(178)](t){const e=Wa;let n,r;switch(t[e(335)]){case e(220):n=t[e(176)][e(306)];break;case e(394):if(r=t[e(371)],!r)return null;n=r[e(306)];break;case e(224):n=t[e(306)];break;case e(273):n=t[e(416)];break;case e(323):n=t[e(370)][e(306)];break;default:return null}return n[e(271)]}[Wa(359)](t){const e=Wa;t[e(229)]((t=>{const n=e,r=t[n(315)]();r[n(187)]=t[n(187)],r[n(366)]=!!t[n(366)],r[n(397)]=t[n(397)],r[n(383)]+=this[n(369)],t[n(164)]&&this[n(191)][n(379)](r),this[n(167)][n(373)](r)}))}[Wa(215)](t){const e=Wa,n=this[e(417)][e(301)][e(277)](e(189)),r=this[e(417)][e(407)];t||(t=Tr(r,e(375))),n[e(384)](t,{title:Tr(r,e(362)),namespace:e(322)}),this[e(231)]=!0,clearTimeout(this[e(236)]),this[e(245)]=[],this[e(417)][e(301)][e(277)](pr)[e(405)]()}[Wa(420)](){const t=Wa;this[t(296)]||(this[t(296)]=this[t(417)][t(301)][t(277)](r.PendingActions)[t(379)](Tr(this[t(417)][t(407)],t(235))))}[Wa(334)](){const t=Wa;this[t(296)]&&(this[t(417)][t(301)][t(277)](r.PendingActions)[t(363)](this[t(296)]),this[t(296)]=null)}[Wa(269)](t){const e=Wa,n=t[e(165)]((t=>t[e(357)]()));return this[e(228)][e(171)](n)}[Wa(324)](t,e){const n=Wa;return this[n(228)][n(188)](t)[n(165)](((t,r)=>{const s=n,o=s(329)==e[r][s(335)];if(s(175)==t[s(208)]){const e=t[s(176)][s(306)];!this[s(388)][s(257)](e)&&(this[s(388)][s(404)](s(200),e)[s(267)]=!1)}const a=i.OperationFactory[s(402)](t,this[s(388)]);return a[s(389)]=t[s(389)],a[s(366)]=o,a[s(187)]=o?null:e[r][s(299)],a[s(164)]=s(396)===e[r][s(335)],a[s(397)]=e[r][s(397)],a}))}[Wa(350)](){const t=Wa;this[t(177)]=!0,this[t(361)]()?this[t(297)]():this[t(177)]=!1}[Wa(361)](){const t=Wa,e=this[t(417)][t(301)][t(277)](yr)[t(252)][t(277)](this[t(291)]);return!this[t(417)][t(415)]&&!!e&&e[t(270)]>1&&this[t(177)]}[Wa(190)](){const t=Wa;return this[t(245)][t(270)]>0||this[t(361)]()}}function Za(){const t=["getDocumentDetails","_handleInitialConnectionData","_crash","isUndoneOperation","_service","CommentsOnly","_handleReconnectionError","sendOperations","applyOperation","finally","_sendBufferedOperations","insert","_isEditingAllowed","_lastServerVersion","_baseBufferDelay","addRootAttribute","RealTimeCollaborationClient","752913aKkSrP","collaboration-missing-channelid","_compressor","forEach","isDocumentOperation","_hasSynchronizationProblem","directChange","config","sessionCreatedAt","PENDING_ACTION_SENDING_DATA","_sendBufferedOperationsDelayId","currentDocumentSession","_handleReceivedOperations","change:_isPendingUpdate","rtc-offline","7141tdDrZv","_getOperationsFromInitData","unregister","offset","_bufferedOperations","stop","_connectAfterSessionHasBeenFlushed","operationsReceived","catch","3144PXtDTw","rtc-destroyed","channelSessions","realtimecollaborationclient-handleserverresponse","startsWith","realtimecollaborationclient-init-session-connection-error","reconnection: flushed session","getRoot","createPositionAt","10iaTYFv","reset","metadata","_connectService","getConnectedSessions","cloud-services-internal-error: Request timeout.","change:_isEditingAllowed","state","_isAttached","code","_compressOperations","length","rootName","keys","addRoot","_isConnected","parse","_applyOperationsSet","get","_currentBufferDelay","stopListening","initData","cloudDocumentVersion","fire","includes","_knownOperations","isEnabled","_lastSyncedOperationId","listenTo","markers","push","getIdOfTheLastOperation","_channelId","has","cloud-services-internal-error: Not connected.","realtimecollaborationclient-initservice-incorrect-server-operation","_setUpDataInit","_pendingAction","_sendBufferedOperationsDelayed","end","userId","_initThrowingOnDataSet","plugins","_ignoredOperations","addUser","cloudServices.bundleVersion","change:range","root","_disconnectService","_loadRoot","requires","1111716BHVXGi","removeFromReconnectionStack","collaboration","realtimecollaborationclient-sendbufferedoperations","createPositionFromPath","clone","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","_handleExternalOperations","editing","setPermissions","suppressErrorInCollaboration","high","real-time-collaboration","move","_decompressOperations","realtimecollaborationclient-init-document-already-initialized","realtimecollaborationclient-init-connection-failed","rootsAttributes","_isPendingUpdate","init","10AHcQur","getMany","path","sessionAdd:","_clearPendingAction","type","1881459JwyMkJ","lastSyncVersion","selection","differ","1085uVMfSu","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","connection","1855656sWGtFH","document","_waitUntilSynced","_handleSendingSelectionMarkers","size","Permissions","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","_refreshUserSelectionMarkers","return","_handleReconnectionResponse","from","createRange","getOperations","_addKnownRoot","toJSON","_operationIdentifier","_updateServerHistory","string","_shouldSendSelectionUpdate","Synchronization issue","remove","setIdForTheLastOperation","off","_isInit","entries","getOperationAuthor","_offset","targetPosition","newRange","bind","addOperation","apply","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","view","data","_handleServerResponse","add","history","collaboration.channelId","connected","baseVersion","showWarning","cloud-services-internal-error: Collaborative Editing Service is not connected.","_fetchMissingUsers","48UCjjAK","_document","wasUndone","pluginName","start","mySessionId","multi-root-editor-root-attributes-no-root","marker","404","cs:removeUser","createdAt","_initSessionsHandling","lastOperationAcceptedAt","connect","disconnect","fromJSON","permissions","createRoot","destroy","model","locale","roots","_operationToId","message","_bufferRootLoad","disconnected","filter","define","isReadOnly","affectedSelectable","editor","error","enqueueChange","_setPendingAction","then","batch","_isDisconnection","map","getUser","serverHistory","409","slice","enableReadOnlyMode","compress","set","loadRoot","version","InsertOperation","position","_hasSelectionChanged","_getAffectedRoot","_knownRootNames","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","document:write","createUserMarkerOperations","_isLoaded","sessionId","ready","lastOperationId","_authorId","decompress","Notification","_shouldSendUpdate","_disconnectionOperations","addToReconnectionStack","change:hasDomSelection","wereChangesApplied","attributes","realtimecollaborationclient-init-non-existent-root","46040CAZYOH","disableReadOnlyMode","lastDocumentSession","$root","CollaborativeEditingService","realtimecollaborationclient-initservice-internal-error","register","round","affectsData","_saveOperationInBuffer","reconnect","__className"];return(Za=function(){return t})()}Xa[Wa(201)]=Un;const tc=Xa;class ec extends Error{}function nc(t,e){const n=Wa;for(const r of t)r[n(383)]=e++}class rc{constructor(t){const e=Wa;this[e(302)]=t,this[e(409)]=new WeakMap}[Wa(290)](t){const e=Wa;let n=t[e(270)];for(;n--;){const r=t[n];if(!this[e(302)][e(292)](r)){if(!this[e(409)][e(292)](r)){const t=(0,s.uid)()[e(169)](1,18);this[e(409)][e(172)](r,t)}return this[e(409)][e(277)](r)}}}[Wa(364)](t,e){const n=Wa;if(!e)return;let r=t[n(270)];for(;r--;){const s=t[r];this[n(302)][n(292)](s)||this[n(409)][n(172)](s,e)}}}var sc=oc;function oc(t,e){var n=ac();return(oc=function(t,e){return n[t-=354]})(t,e)}!function(t,e){for(var n=oc,r=t();;)try{if(423924===parseInt(n(354))/1*(parseInt(n(356))/2)+-parseInt(n(363))/3*(parseInt(n(362))/4)+parseInt(n(359))/5+-parseInt(n(367))/6+parseInt(n(361))/7*(parseInt(n(355))/8)+parseInt(n(358))/9+-parseInt(n(357))/10*(parseInt(n(365))/11))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(ac);class ic extends r.Plugin{static get[sc(366)](){return[tc]}static get[sc(360)](){return sc(364)}}function ac(){var t=["2539645JeGfbF","pluginName","1995882HhXixH","4JaTvSi","870843mmUzuu","RealTimeCollaborativeEditing","11eWXFvO","requires","2434764TcREqg","1DGoFfU","16kyoOMX","993866mqTWmB","8763290EDmUyY","3790926jmTJZA"];return(ac=function(){return t})()}function cc(t,e){const n=fc();return(cc=function(t,e){return n[t-=273]})(t,e)}const uc=cc;!function(t,e){const n=cc,r=t();for(;;)try{if(130007===-parseInt(n(341))/1+parseInt(n(319))/2+parseInt(n(296))/3*(-parseInt(n(372))/4)+-parseInt(n(338))/5*(parseInt(n(318))/6)+-parseInt(n(323))/7+parseInt(n(293))/8*(parseInt(n(327))/9)+parseInt(n(328))/10)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(fc);class dc extends r.ContextPlugin{static get[uc(295)](){return[pr,uc(314),yr,hr.Users]}static get[uc(366)](){return uc(312)}constructor(t){const e=uc;super(t),this[e(277)]=new Map}async[uc(348)](){const t=uc,e=this[t(274)],n=e[t(326)][t(311)](t(314));if(e[t(326)][t(311)](pr)[t(299)](this),n[t(334)]={addCommentThread:async({channelId:e,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=t,u=await this[c(358)](e)[c(321)]({commentThreadId:n,comments:r[c(305)]((t=>function(t,e,n){const r=c;return{commentThreadId:n,commentId:t[r(300)],userId:t[r(292)],content:t[r(280)],documentId:e,createdAt:t[r(335)],attributes:t[r(290)]||{}}}(t,e,n))),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(325)](hc);return{threadId:u[c(337)],comments:u[c(371)]}},getCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(358)](e)[r(331)](n)[r(325)](hc);return await this[r(275)]([s]),{threadId:s[r(337)],comments:s[r(371)][r(305)](mc),context:s[r(274)],resolvedAt:s[r(276)],resolvedBy:s[r(345)],attributes:s[r(290)]||{}}},updateCommentThread:async({channelId:e,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[t(358)](e)[t(303)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[t(325)](pc)[t(325)](hc),resolveCommentThread:async({channelId:e,threadId:n})=>{const r=t,s=await this[r(358)](e)[r(355)](n)[r(325)](pc)[r(325)](hc);return{threadId:s[r(337)],resolvedAt:s[r(276)],resolvedBy:s[r(345)]}},reopenCommentThread:async({channelId:e,threadId:n})=>this[t(358)](e)[t(347)](n)[t(325)](pc)[t(325)](hc),removeCommentThread:({channelId:e,threadId:n})=>this[t(358)](e)[t(333)](n)[t(325)](pc)[t(325)](hc),addComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(358)](e)[t(351)](n,r,s,o)[t(325)](hc),updateComment:({channelId:e,threadId:n,commentId:r,content:s,attributes:o})=>this[t(358)](e)[t(288)](n,r,s,o)[t(325)](pc)[t(325)](hc),removeComment:({channelId:e,threadId:n,commentId:r})=>this[t(358)](e)[t(273)](n,r)[t(325)](pc)[t(325)](hc)},e instanceof r.Context){const n=e[t(294)][t(311)](t(313)),r=e[t(326)][t(311)](yr);await this[t(298)](n);const s=await this[t(277)][t(311)](n)[t(315)]();this[t(352)](r,t(301)+n,((e,{session:s})=>{const o=t;s.id===r[o(310)]&&(e[o(368)](),this[o(274)][o(326)][o(311)](o(286))[o(361)](s[o(369)],n))})),r[t(342)](n,s)}}async[uc(298)](t){const e=uc;if(this[e(277)][e(291)](t))throw new s.CKEditorError(e(362),null,{channelId:t});const n=this[e(274)][e(326)][e(311)](e(314)),r=new(dc[e(304)])(t);this[e(277)][e(282)](t,r),this[e(352)](r,e(370),((t,r)=>{const s=e,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:u,resolvedBy:d,comments:l}=r;n[s(331)](o)||n[s(321)]({threadId:o,channelId:i,comments:l?l[s(305)](mc):[],context:a,attributes:c,resolvedAt:u,resolvedBy:d,isFromAdapter:!0})})),this[e(352)](r,e(317),((t,{commentThreadId:r,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=e;n[c(331)](r)&&n[c(303)]({threadId:r,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})})),this[e(352)](r,e(320),((t,{commentThreadId:r,resolvedBy:s,resolvedAt:o})=>{const i=e,a=n[i(331)](r);a&&a[i(363)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})})),this[e(352)](r,e(353),((t,{commentThreadId:r})=>{const s=e,o=n[s(331)](r);o&&o[s(367)]({isFromAdapter:!0})})),this[e(352)](r,e(346),((t,{commentThreadId:r})=>{const s=e,o=n[s(331)](r);o&&o[s(324)]({isFromAdapter:!0})})),this[e(352)](r,e(289),((t,r)=>{const s=e,o=r[s(337)],i=n[s(331)](o);i&&i[s(351)]({...mc(r),isFromAdapter:!0})})),this[e(352)](r,e(343),((t,{commentThreadId:r,commentId:s,content:o,attributes:i})=>{const a=e,c=n[a(331)](r);if(c){const t=c[a(336)](s);t&&t[a(279)]({content:o,attributes:i,isFromAdapter:!0})}})),this[e(352)](r,e(350),((t,{commentThreadId:r,commentId:s})=>{const o=e,i=n[o(331)](r);if(i){const t=i[o(336)](s);t&&t[o(324)]({isFromAdapter:!0})}})),await this[e(309)](t)}[uc(357)](){const t=uc;if(this[t(274)]instanceof r.Context){const e=this[t(274)][t(294)][t(311)](t(313));this[t(360)](e)}}[uc(360)](t){const e=uc;if(!this[e(277)][e(291)](t))throw new s.CKEditorError(e(359),null,{channelId:t});this[e(358)](t)[e(329)](),this[e(277)][e(287)](t)}async[uc(302)](){const t=uc;for(const e of this[t(277)][t(283)]())await this[t(309)](e);if(this[t(274)]instanceof r.Context){const e=this[t(274)][t(294)][t(311)](t(313)),n=this[t(274)][t(326)][t(311)](yr);n[t(365)](e);const r=await this[t(277)][t(311)](e)[t(315)]();n[t(342)](e,r)}}async[uc(309)](t){const e=uc,{connection:n}=this[e(274)][e(326)][e(311)](pr),r=this[e(274)][e(326)][e(311)](e(314)),s=this[e(277)][e(311)](t),o=await s[e(332)](n);await this[e(275)](o);const i=new Set(Array[e(354)](r[e(364)]({channelId:t}),(t=>t.id)));for(const t of o)t[e(339)]||i[e(287)](t[e(337)]);for(const t of i)r[e(331)](t)[e(324)]({isFromAdapter:!0});for(const n of o){let s=r[e(331)](n[e(337)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:u,unlinkedAt:d,deletedAt:l}=n;if(l)continue;s||(s=r[e(321)]({channelId:t,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:u,unlinkedAt:d,isFromAdapter:!0}));const p=new Set(Array[e(354)](s[e(371)],(t=>t.id)));for(const t of n[e(371)])p[e(287)](t[e(300)]);for(const t of p)s[e(336)](t)[e(324)]({isFromAdapter:!0});for(const t of n[e(371)]){const n=s[e(336)](t[e(300)]);n?n[e(280)]!==t[e(280)]&&n[e(279)]({content:t[e(280)],isFromAdapter:!0}):s[e(351)](Object[e(306)](mc(t),{isFromAdapter:!0}))}}}[uc(358)](t){const e=uc;if(!this[e(277)][e(291)](t))throw new s.CKEditorError(e(297),null,{channelId:t});return this[e(277)][e(311)](t)}async[uc(275)](t){const e=uc,n=this[e(274)][e(326)][e(311)](hr.Users),{connection:r}=this[e(274)][e(326)][e(311)](pr),s=new Set;for(const{resolvedBy:r,comments:o}of t){r&&!n[e(278)](r)&&s[e(330)](r);for(const{userId:t}of o)n[e(278)](t)||s[e(330)](t)}if(0===s[e(340)])return;const o=await zt[e(344)](r,Array[e(354)](s));for(const t of o)n[e(278)](t.id)||n[e(284)](t)}}dc[uc(304)]=ar;const lc=dc;async function pc(t){const e=uc;if(e(308)!==t[e(322)])throw t}function hc(t){const e=uc;if((n=t)[e(356)][e(349)](e(285))||n[e(356)][e(349)](e(281))||n[e(356)][e(349)](e(307)))return new Promise((()=>{}));var n;throw t}function fc(){const t=["445950vwzNOL","commentThreadResolved","addCommentThread","code","1784041pPLwmH","remove","catch","plugins","39051CTDiAL","4742260KiejyY","disconnect","add","getCommentThread","connect","removeCommentThread","adapter","createdAt","getComment","commentThreadId","761395knBAsy","deletedAt","size","162564CFXpND","register","commentUpdated","getMany","resolvedBy","commentThreadRemoved","reopenCommentThread","init","startsWith","commentRemoved","addComment","listenTo","commentThreadReopened","from","resolveCommentThread","message","destroy","_getService","cloudservicescommentsadapter-disconnect-not-exist","_terminateService","setPermissions","cloudservicescommentsadapter-connect-already-connected","resolve","getCommentThreads","unregister","pluginName","reopen","off","permissions","commentThreadAdded","comments","320SwDGSL","removeComment","context","_fetchMissingUsersForThreads","resolvedAt","_services","getUser","update","content","cloud-services-internal-error: Not connected.","set","keys","addUser","cloud-services-internal-error: Comments Service is not connected.","Permissions","delete","updateComment","commentAdded","attributes","has","authorId","384gthOPh","config","requires","7716iJRlEF","cloudservicescommentsadapter-service-not-exist","_setUpService","addToReconnectionStack","commentId","sessionAdd:","reconnect","updateCommentThread","CommentsService","map","assign","cloud-services-internal-error: Request timeout.","404","_connectService","mySessionId","get","CloudServicesCommentsAdapter","collaboration.channelId","CommentsRepository","getConnectedSessions","userId","commentThreadUpdated","6UmScKz"];return(fc=function(){return t})()}function mc(t){const e=uc;return{threadId:t[e(337)],commentId:t[e(300)],content:t[e(280)],createdAt:t[e(335)],authorId:t[e(316)],attributes:t[e(290)]||{}}}const yc=gc;function gc(t,e){const n=wc();return(gc=function(t,e){return n[t-=461]})(t,e)}!function(t,e){const n=gc,r=t();for(;;)try{if(832499===-parseInt(n(472))/1+parseInt(n(468))/2+-parseInt(n(519))/3+-parseInt(n(511))/4+-parseInt(n(480))/5+parseInt(n(479))/6*(parseInt(n(475))/7)+parseInt(n(464))/8*(parseInt(n(465))/9))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(wc);class bc extends r.Plugin{static get[yc(512)](){return[lc,yc(508),pr]}constructor(t){const e=yc;super(t);const n=this[e(513)][e(474)][e(491)](e(476));this[e(492)]=new Map,this[e(509)]=new(bc[e(466)])(n)}[yc(470)](){const t=yc,e=this[t(513)][t(489)][t(491)](pr),n=this[t(513)][t(489)][t(491)](t(508));return n[t(477)]={getSuggestion:async e=>{const n=t;await this[n(498)]();const r=await this[n(509)][n(491)](e)[n(469)](Oc);return await this[n(501)]([r]),r},addSuggestion:async({id:e,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=t;await this[i(498)]();const a={id:e,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(509)][i(506)](e,n,r,s,o)[i(469)]((t=>{if(Ic(t))return new Promise((t=>{const n=gc;this[n(492)][n(515)](e,{resolve:t,suggestionData:a})}));throw t}));return this[i(492)][i(490)](e),c},updateSuggestion:async(e,n)=>{const r=t;if(await this[r(498)](),r(461)!==n[r(518)])return this[r(509)][r(486)](e,n)[r(469)](Oc)}},this[t(499)](this[t(509)],t(488),((e,r)=>{const s=t;n[s(496)](r.id)&&(n[s(516)](r.id)[s(467)]=r[s(467)])})),this[t(509)][t(505)](e[t(517)])[t(484)]((r=>(e[t(473)](this),this[t(501)](r)[t(484)]((()=>{const e=t;for(const t of r)n[e(495)](t)[e(507)]=!0})))))}async[yc(493)](){const t=yc,e=this[t(513)][t(489)][t(491)](t(508)),{connection:n}=this[t(513)][t(489)][t(491)](pr),r=await this[t(509)][t(505)](n);await this[t(501)](r);for(const{suggestionData:e,resolve:n}of this[t(492)][t(483)]()){let s=r[t(462)]((t=>t.id===e.id));s||(s=await this[t(509)][t(506)](e.id,e[t(478)],e[t(504)],e[t(497)])),n(s)}for(const n of r)e[t(496)](n.id)||e[t(495)](n)}async[yc(498)](){const t=yc;this[t(509)][t(487)]||await new Promise((e=>{const n=t;this[n(499)](this[n(509)],n(494),(t=>{t[n(481)](),e()}))}))}async[yc(501)](t){const e=yc,n=this[e(513)][e(489)][e(491)](hr.Users),{connection:r}=this[e(513)][e(489)][e(491)](pr),s=new Set;for(const{authorId:r}of t)n[e(471)](r)||s[e(506)](r);if(0===s[e(485)])return;const o=await zt[e(503)](r,Array[e(482)](s));for(const t of o)n[e(471)](t.id)||n[e(463)](t)}}function Oc(t){if(Ic(t))return new Promise((()=>{}));throw t}function wc(){const t=["type","1514928IHiLCk","5114755dZzxyY","off","from","values","then","size","update","isConnected","suggestionUpdated","plugins","delete","get","_bufferedRequests","reconnect","connected","addSuggestionData","hasSuggestion","originalSuggestionId","_waitForServiceReady","listenTo","cloud-services-internal-error: Request timeout.","_fetchMissingUsersForThreads","startsWith","getMany","data","connect","add","_saved","TrackChangesEditing","_trackChangesService","cloud-services-internal-error: Not connected.","1563024XjWYxA","requires","editor","message","set","getSuggestion","connection","state","3176448jIAfGA","open","find","addUser","24smRczD","10461771VoKNmG","TrackChangesService","attributes","1130282DjNqmp","catch","init","getUser","1504840iXjZmR","addToReconnectionStack","config","21rTUyEm","collaboration.channelId","adapter"];return(wc=function(){return t})()}function Ic(t){const e=yc;return t[e(514)][e(502)](e(510))||t[e(514)][e(502)](e(500))}function vc(t,e){const n=Pc();return(vc=function(t,e){return n[t-=312]})(t,e)}bc[yc(466)]=hn;const Sc=vc;!function(t,e){const n=vc,r=t();for(;;)try{if(455482===-parseInt(n(334))/1+-parseInt(n(324))/2+parseInt(n(338))/3*(parseInt(n(331))/4)+parseInt(n(326))/5+-parseInt(n(315))/6*(parseInt(n(317))/7)+parseInt(n(313))/8+-parseInt(n(340))/9)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Pc);class Ac extends r.Plugin{static get[Sc(321)](){return[Sc(325),lc,ic,pr]}static get[Sc(337)](){return Sc(342)}[Sc(316)](){const t=Sc,e=this[t(320)][t(341)][t(339)](pr),n=this[t(320)][t(341)][t(339)](t(329)),r=this[t(320)][t(341)][t(339)](lc);return this[t(320)][t(323)][t(343)](t(312),(()=>{const r=t;this[r(336)](e,r(314),((t,e,s)=>{const o=r;n[o(335)]=o(327)!==s}))})),this[t(336)](e,t(314),((e,n,r)=>{const s=t;this[s(320)][s(341)][s(339)](s(322))[s(332)](s(327)!==r)})),r[t(333)](this[t(320)][t(319)][t(339)](t(330)))}[Sc(328)](){const t=Sc;this[t(320)][t(341)][t(339)](lc)[t(318)](this[t(320)][t(319)][t(339)](t(330))),super[t(328)]()}}function Pc(){const t=["CommentsEditing","collaboration.channelId","20gSYyEH","switchReadOnly","_setUpService","164327iHQCZj","isThreadsLoadingPaused","listenTo","pluginName","426516FGxWSB","get","4451481TyLOVV","plugins","RealTimeCollaborativeComments","once","ready","7011360dFByIC","change:state","6pCyfFW","init","1246217HqWVFv","_terminateService","config","editor","requires","CommentsRepository","data","913858ROMgrs","Comments","810490uIkVAb","connected","destroy"];return(Pc=function(){return t})()}var _c=Tc;function Tc(t,e){var n=Cc();return(Tc=function(t,e){return n[t-=348]})(t,e)}!function(t,e){for(var n=Tc,r=t();;)try{if(400636===parseInt(n(354))/1+-parseInt(n(355))/2*(parseInt(n(351))/3)+-parseInt(n(348))/4+parseInt(n(360))/5+parseInt(n(359))/6*(parseInt(n(353))/7)+parseInt(n(361))/8*(parseInt(n(358))/9)+-parseInt(n(350))/10)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Cc);class kc extends r.Plugin{static get[_c(356)](){return[Ac,bc,_c(349)]}static get[_c(357)](){return _c(352)}}function Cc(){var t=["requires","pluginName","9nbrXRi","12XJBuvK","1053065nWtwwt","1153872OpxrXj","28840nPJybN","TrackChanges","3152340jfuQFt","198300OZtpcl","RealTimeCollaborativeTrackChanges","1961778yOsuzE","204325MAuilB","12Zcevwo"];return(Cc=function(){return t})()}const Ec=jc;function jc(t,e){const n=Nc();return(jc=function(t,e){return n[t-=234]})(t,e)}!function(t,e){const n=jc,r=t();for(;;)try{if(587880===-parseInt(n(298))/1+-parseInt(n(312))/2*(parseInt(n(326))/3)+parseInt(n(307))/4*(-parseInt(n(280))/5)+parseInt(n(245))/6*(-parseInt(n(287))/7)+-parseInt(n(240))/8+parseInt(n(242))/9+parseInt(n(284))/10*(parseInt(n(237))/11))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Nc);class Rc extends r.Plugin{static get[Ec(244)](){return[pr,tc,Ec(264),yr,hr.Users]}constructor(t){const e=Ec;super(t);const n=this[e(257)][e(336)][e(316)](e(265));this[e(314)]=null,this[e(288)]=this[e(257)][e(255)][e(316)](e(264)),this[e(330)]=new(Rc[e(303)])(n)}async[Ec(279)](){const t=Ec,e=this[t(257)][t(255)][t(316)](tc),n=e[t(306)],r=this[t(257)][t(255)][t(316)](pr);this[t(288)][t(236)]({history:n,getLatestVersion:()=>this[t(291)](),getCurrentRevisionId:()=>e[t(276)]});const o=this[t(257)][t(336)][t(316)](t(263))||s.version,i=await qe[t(275)](r[t(256)],o);this[t(288)][t(274)]={getRevision:async({revisionId:e})=>(await this[t(283)](),await this[t(330)][t(273)](e)),updateRevisions:async e=>{const n=t;await this[n(283)]();const r=this[n(288)][n(293)];if(i&&1===e[n(267)]&&e[0].id===r.id)return e;for(const t of e)t.id===r.id&&(t[n(301)]=t[n(343)]===t[n(335)]);return this[n(330)][n(332)](e,this[n(314)])[n(304)]((t=>(this[n(314)]=t,e)))[n(341)]((t=>{const r=n;if(xc(t)||r(338)===t[r(334)]&&void 0!==t[r(296)][r(325)]){for(const t of e)!this[r(288)][r(302)][r(273)](t.id)||this[r(288)][r(300)](t.id,t,!1);if(xc(t))throw t;return e}throw t}))}},this[t(317)](this[t(330)],t(345),((e,{revisionsData:n,requestId:r})=>{const s=t;Math[s(294)](...n[s(344)]((t=>t[s(335)])))>this[s(239)]()-1?this[s(291)]()[s(304)]((()=>{this[s(268)](n,r)})):this[s(268)](n,r)}));const{revisions:a,requestId:c}=await this[t(330)][t(271)](r[t(256)]);r[t(270)](this),this[t(314)]=c,await this[t(266)](a);for(const e of a)this[t(288)][t(262)](e);this[t(317)](e,t(260),((n,r,s)=>{const o=t;s&&(this[o(243)]=e[o(321)],n[o(250)]())})),this[t(288)][t(285)](t(241)).to(r,t(322),(e=>e===Ne[t(249)]))}async[Ec(313)](){const t=Ec,e=this[t(257)][t(255)][t(316)](pr),n=this[t(257)][t(255)][t(316)](tc),r=async()=>{const r=t,s=this[r(288)][r(293)],o=s.id,i=o!==n[r(276)];if(i){const t=n[r(321)]-this[r(243)],e=this[r(239)]();if(this[r(288)][r(310)][r(327)](),s[r(335)]+t!==e){const n=s[r(343)]+t,o=this[r(257)][r(255)][r(316)](hr.Users),i=this[r(288)][r(247)]({revision:s,from:n,to:e});i.id=s.id;const a=i[r(253)][r(344)]((t=>o[r(337)](t)));s[r(248)]({...i,authors:a},!0),this[r(288)][r(300)](s.id,i,!0)}this[r(288)][r(234)]=e,s[r(335)]===s[r(343)]&&!this[r(288)][r(254)][r(269)](o)&&this[r(288)][r(302)][r(324)][r(315)](o),this[r(288)][r(246)](e)}const{revisions:a,requestId:c}=await this[r(330)][r(313)](e[r(256)],this[r(314)]);i&&a[r(267)]>0?n[r(331)]():(await this[r(266)](a),this[r(268)](a,c),this[r(288)][r(340)]())};return n[t(295)]?r():new Promise(((e,s)=>{const o=t;n[o(282)](o(260),(()=>{const t=o;r()[t(304)](e)[t(341)](s)}))}))}[Ec(292)](){super[Ec(292)]()}async[Ec(283)](){const t=Ec;this[t(330)][t(333)]||await new Promise((e=>{const n=t;this[n(317)](this[n(330)],n(251),(t=>{t[n(250)](),e()}))}))}[Ec(239)](){const t=Ec,e=this[t(257)][t(255)][t(316)](tc)[t(306)][t(342)]()[t(319)]();for(const n of e)if(t(323)!==n[t(259)]||n[t(297)])return n[t(318)]+1}[Ec(291)](){const t=Ec,e=this[t(257)][t(255)][t(316)](tc);return new Promise((n=>{const r=t;e[r(235)]?e[r(282)](r(311),(()=>{n(this[r(239)]())})):n(this[r(239)]())}))}[Ec(268)](t,e){const n=Ec,r=this[n(288)][n(302)];this[n(314)]=e;for(const e of t){const t=r[n(273)](e.id);if(t){if((e[n(343)]||e[n(335)])&&(e[n(281)]=null),t===this[n(288)][n(293)]){const r=Math[n(294)](t[n(335)],e[n(335)]),s=Math[n(294)](t[n(343)],e[n(343)]);let o;t[n(335)]===e[n(335)]&&t[n(343)]===e[n(343)]?(o=!0,this[n(238)](e)):e[n(335)]===r&&e[n(343)]===s?o=!1:(t[n(335)]===r&&t[n(343)]===s||this[n(305)]({revision:t,from:s,to:r}),o=!0),o&&(delete e[n(343)],delete e[n(335)],delete e[n(281)],delete e[n(328)],delete e[n(253)])}this[n(288)][n(289)](e),this[n(238)](e)}else this[n(288)][n(262)](e)}const s=r[n(309)]();s[n(319)]();for(let t=0;t<s[n(267)]-1;t++){const e=s[t],r=s[t+1];if(e[n(343)]<r[n(335)]){const t=r[n(335)],s=Math[n(294)](t,e[n(335)]);this[n(305)]({revision:e,from:t,to:s})}}}[Ec(305)]({revision:t,from:e,to:n}={}){const r=Ec,s=this[r(257)][r(255)][r(316)](hr.Users),o=this[r(288)][r(247)]({revision:t,from:e,to:n});o[r(320)]=o[r(253)][r(344)]((t=>s[r(337)](t))),t[r(248)](o)}[Ec(238)](t){const e=Ec,n={};n.id=t.id;for(const r of Object[e(339)](t))"id"!==r&&(n[r]=void 0);this[e(288)][e(300)](n.id,n,!0)}async[Ec(266)](t){const e=Ec,n=this[e(257)][e(255)][e(316)](hr.Users),{connection:r}=this[e(257)][e(255)][e(316)](pr),s=new Set;for(const n of t){for(const t of n[e(253)])i(t);n[e(272)]&&i(n[e(272)])}if(0===s[e(252)])return;const o=await zt[e(329)](r,Array[e(258)](s));for(const t of o)n[e(337)](t.id)||n[e(299)](t);function i(t){const r=e;n[r(337)](t)||s[r(261)](t)}}}Rc[Ec(303)]=Xe;const Dc=Rc;function Nc(){const t=["_createCurrentRevision","buildRevisionData","_update","CONNECTED","off","connected","size","authorsIds","_bufferedUpdates","plugins","connection","editor","from","type","change:_isConnected","add","addRevisionData","cloudServices.bundleVersion","RevisionTracker","collaboration.channelId","_fetchMissingUsers","length","_handleRevisionsUpdate","has","addToReconnectionStack","connect","creatorId","getRevision","adapter","isBundleUploaded","sessionId","cloud-services-internal-error: Request timeout.","startsWith","init","5665bxBChG","diffData","once","_waitForServiceReady","170JiEEMP","bind","cloud-services-internal-error: Revision History Service is not connected.","559678aDHUHs","_revisionTracker","setRevisionData","message","_getLatestVersion","destroy","currentRevision","max","_isConnected","data","affectsData","837769bcUYNo","addUser","_bufferUpdate","isEmptyCurrent","repository","RevisionHistoryService","then","_fixRevision","serverHistory","1636DEnupY","cloud-services-internal-error: Not connected.","getRevisions","_revisionDataBuilder","change:_isPendingUpdate","2KlFohj","reconnect","_lastRequestId","remove","get","listenTo","baseVersion","reverse","authors","_offset","state","marker","_revisions","wrongRequestId","271389PJPLIX","reInit","createdAt","getMany","_revisionHistoryService","_handleReconnectionError","updateRevisions","isConnected","code","toVersion","config","getUser","400","keys","sendBufferedUpdates","catch","getOperations","fromVersion","map","revisionsUpdated","_startingVersion","_isPendingUpdate","setSource","1312883VULvVI","_preventResendingRevisionData","_getLatestVersionFromServerOperations","7060880DwUvVq","isEnabled","8217648vwCXVd","_oldOffset","requires","6uOopzl"];return(Nc=function(){return t})()}function xc(t){const e=Ec;return t[e(290)][e(278)](e(286))||t[e(290)][e(278)](e(308))||t[e(290)][e(278)](e(277))}var Vc=Mc;function Mc(t,e){var n=Bc();return(Mc=function(t,e){return n[t-=265]})(t,e)}function Bc(){var t=["544YaAJjd","1699830wlwyFA","pluginName","13434JvVNGl","195423RMSJJV","253765REyIiQ","2429820IyIjrD","RealTimeCollaborativeRevisionHistory","4qJPopU","40AEDZmI","RevisionHistory","requires","69318ILZaam","18294298UVpZCL","1183wVaVdM"];return(Bc=function(){return t})()}!function(t,e){for(var n=Mc,r=t();;)try{if(333542===parseInt(n(276))/1*(-parseInt(n(279))/2)+parseInt(n(275))/3*(-parseInt(n(265))/4)+-parseInt(n(277))/5+parseInt(n(274))/6*(-parseInt(n(270))/7)+parseInt(n(271))/8*(parseInt(n(268))/9)+parseInt(n(272))/10+parseInt(n(269))/11)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Bc);class Uc extends r.Plugin{static get[Vc(267)](){return[Vc(266),Dc,ic]}static get[Vc(273)](){return Vc(278)}}var Jc=Function.prototype,qc=Object.prototype,Lc=Jc.toString,Yc=qc.hasOwnProperty,Gc=Lc.call(Object);const zc=function(t){if(!fo(t)||"[object Object]"!=Os(t))return!1;var e=fi(t);if(null===e)return!0;var n=Yc.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Lc.call(n)==Gc};const Hc=function(t){return fo(t)&&1===t.nodeType&&!zc(t)};function Fc(){const t=["bindTemplate","85071547JHOqqd","ck-presence-list__counter","15264uDWNWH","66QbIosu","CONNECTED_USERS","148168FuYfTV","usersCount","10020ngETjC","454268frApCJ","1477506nONiHB","999481ipeLhc","65maNwda","ck-presence-list__counter--hidden","setTemplate","div","set","5586656fWZHSi","isHidden","3FyZNJr"];return(Fc=function(){return t})()}function Kc(t,e){const n=Fc();return(Kc=function(t,e){return n[t-=315]})(t,e)}!function(t,e){const n=Kc,r=t();for(;;)try{if(885647===-parseInt(n(330))/1+-parseInt(n(326))/2*(-parseInt(n(319))/3)+parseInt(n(329))/4*(-parseInt(n(332))/5)+parseInt(n(324))/6*(-parseInt(n(331))/7)+-parseInt(n(317))/8+parseInt(n(323))/9*(-parseInt(n(328))/10)+parseInt(n(321))/11)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Fc);class Wc extends o.View{constructor(t){const e=Kc;super(t);const n=this[e(320)];this[e(316)](e(327),0),this[e(316)](e(318),!0),this[e(334)]({tag:e(315),attributes:{class:["ck",e(322),n.if(e(318),e(333))]},children:[{text:n.to(e(327),(n=>Tr(t,e(325),n)))}]})}}function $c(t,e){const n=Qc();return($c=function(t,e){return n[t-=328]})(t,e)}function Qc(){const t=["div","999105yZYddF","items","6373471IPATUl","createCollection","18UNaGaC","70XQxNER","fire","166851lqsjKG","1044032oXBSoE","ck-presence-list__list","873514XdrWEK","96yqSyBQ","538879hbwVBu","setTemplate","748525htOxzC","1lsyeVS","740tzhZOY","4SpsaEo","bindTemplate","execute"];return(Qc=function(){return t})()}!function(t,e){const n=$c,r=t();for(;;)try{if(718038===parseInt(n(343))/1*(parseInt(n(338))/2)+parseInt(n(328))/3*(-parseInt(n(345))/4)+-parseInt(n(342))/5*(-parseInt(n(332))/6)+parseInt(n(333))/7*(-parseInt(n(336))/8)+parseInt(n(335))/9*(parseInt(n(344))/10)+parseInt(n(340))/11*(-parseInt(n(339))/12)+parseInt(n(330))/13)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Qc);class Xc extends o.View{constructor(t){const e=$c;super(t),this[e(329)]=this[e(331)]();const n=this[e(346)];this[e(341)]({tag:e(348),attributes:{class:["ck",e(337)]},children:this[e(329)],on:{click:n.to((()=>this[e(334)](e(347))))}})}}var Zc=__webpack_require__(106),tu={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Or()(Zc.A,tu);Zc.A.locals;function eu(t,e){const n=nu();return(eu=function(t,e){return n[t-=311]})(t,e)}function nu(){const t=["ck-reset","148JaUIUa","169883InrklH","ck-rounded-corners","12WNPtcZ","change","3797268GMPANj","bindTemplate","isCollapsed","ck-presence-list--collapsed","first","items","ck-presence-list","listenTo","locale","set","44BdoThX","3310IRgyPh","416011kiELxN","12159Bwptry","3139184osgISo","counterView","1691535VBQmco","div","tooltipPosition","2XkhyIm","22431wpTalA","inlineListView","setTemplate"];return(nu=function(){return t})()}!function(t,e){const n=eu,r=t();for(;;)try{if(228544===-parseInt(n(326))/1*(parseInt(n(333))/2)+parseInt(n(334))/3*(-parseInt(n(338))/4)+-parseInt(n(330))/5+-parseInt(n(312))/6*(-parseInt(n(339))/7)+parseInt(n(328))/8+parseInt(n(327))/9*(-parseInt(n(325))/10)+-parseInt(n(324))/11*(-parseInt(n(314))/12))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(nu);class ru extends o.View{constructor(t){const e=eu;super(t);const n=this[e(315)];this[e(323)](e(316),!0),this[e(329)]=new Wc(this[e(322)]),this[e(335)]=new Xc(t),this[e(321)](this[e(335)][e(319)],e(313),(()=>{const t=e;for(const e of this[t(335)][t(319)])e[t(332)]="s";this[t(335)][t(319)][t(318)]&&(this[t(335)][t(319)][t(318)][t(332)]="se")})),this[e(336)]({tag:e(331),attributes:{class:["ck",e(320),e(337),e(311),n.if(e(316),e(317))]},children:[this[e(329)],this[e(335)]]})}}function su(t,e){var n=ou();return(su=function(t,e){return n[t-=143]})(t,e)}function ou(){var t=["div","981295mrteHb","4861178oqAsiY","27000YRbvci","2VBImMO","46346212ashUHs","createCollection","291670wFWORa","setTemplate","42ZGSfcZ","ck-presence-list__dropdown-list","3QfLzoC","3576qkeMNj","ck-presence-list__dropdown-list-wrapper","13033690mGHari","items","4390828LrAqnR"];return(ou=function(){return t})()}!function(t,e){for(var n=su,r=t();;)try{if(858905===parseInt(n(143))/1*(-parseInt(n(157))/2)+-parseInt(n(147))/3*(parseInt(n(152))/4)+-parseInt(n(154))/5*(-parseInt(n(145))/6)+-parseInt(n(155))/7+parseInt(n(148))/8*(-parseInt(n(156))/9)+-parseInt(n(150))/10+parseInt(n(158))/11)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(ou);class iu extends o.View{constructor(t){var e=su;super(t),this[e(151)]=this[e(159)](),this[e(144)]({tag:e(153),attributes:{class:["ck",e(146)]},children:[{tag:e(153),attributes:{class:["ck",e(149)]},children:this[e(151)]}]})}}function au(){const t=["name","24524BLiZKa","334182ugOVfw","792572dsxBCO","ck-user__full-name","tag","7CxiUDL","1193382KdJFox","ck-presence-list__marker","getBackgroundColorClass","button","userView","span","166580kZRVDF","60192SmYeLH","36pwAECV","ck-presence-list__dropdown-list-item","207NCQOZc","div","setTemplate","execute","27OSQesQ","fire","12938PpnkfR","bindTemplate","true","235jqTUpm","color"];return(au=function(){return t})()}function cu(t,e){const n=au();return(cu=function(t,e){return n[t-=221]})(t,e)}!function(t,e){const n=cu,r=t();for(;;)try{if(213151===parseInt(n(231))/1*(parseInt(n(233))/2)+parseInt(n(245))/3+parseInt(n(239))/4*(parseInt(n(236))/5)+parseInt(n(240))/6*(-parseInt(n(244))/7)+parseInt(n(224))/8+-parseInt(n(227))/9*(parseInt(n(223))/10)+parseInt(n(241))/11*(-parseInt(n(225))/12))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(au);class uu extends o.View{constructor(t,e,n){const r=cu;super(t);const s=this[r(234)];this[r(221)]=new hr.UserView(t,e);const o={tag:r(228),attributes:{class:["ck",r(226)]},children:[this[r(221)],{tag:r(222),attributes:{class:["ck",r(242)]},children:[{text:e[r(238)]}]},{tag:r(222),attributes:{class:["ck",r(246),e[r(237)][r(247)]()],"aria-hidden":r(235)}}]};n&&(o[r(243)]=r(248),o.on={click:s.to((()=>this[r(232)](r(230))))}),this[r(229)](o)}}function du(){const t=["getBackgroundColorClass","hasTooltip","tooltipPosition","true","8ObWwWj","266481onrBvt","color","execute","div","name","ck-presence-list__list-item__tooltip","45Eqkavb","userView","set","tag","ck-presence-list__list-item","8387970jHDQIC","bindTemplate","markerView","2161420dfMQjj","button","ck-presence-list__marker","112359zOuOzr","2561004JcgriM","fire","7tfcdyQ","48456mHRIcA","setTemplate","43056350VyNFuZ","span"];return(du=function(){return t})()}function lu(t,e){const n=du();return(lu=function(t,e){return n[t-=232]})(t,e)}!function(t,e){const n=lu,r=t();for(;;)try{if(752689===parseInt(n(258))/1*(-parseInt(n(243))/2)+parseInt(n(239))/3+-parseInt(n(240))/4+-parseInt(n(236))/5+-parseInt(n(233))/6*(parseInt(n(242))/7)+-parseInt(n(251))/8*(parseInt(n(252))/9)+parseInt(n(245))/10)break;r.push(r.shift())}catch(t){r.push(r.shift())}}(du);class pu extends o.View{constructor(t,e,n){const r=lu;super(t);const s=this[r(234)];this[r(260)](r(248),!0),this[r(260)](r(249),""),this[r(259)]=new hr.UserView(t,e),this[r(235)]=new hu(t,e);const o={tag:r(255),attributes:{class:["ck",r(232)],"data-cke-tooltip-text":this[r(259)][r(256)],"data-cke-tooltip-position":s.to(r(249)),"data-cke-tooltip-disabled":s.to(r(248),(t=>!t)),"data-cke-tooltip-class":r(257)},children:[this[r(259)],this[r(235)]]};n&&(o[r(261)]=r(237),o.on={click:s.to((()=>this[r(241)](r(254))))}),this[r(244)](o)}}class hu extends o.View{constructor(t,e){const n=lu;super(t),this[n(244)]({tag:n(246),attributes:{class:["ck",n(238),e[n(253)][n(247)]()],"aria-hidden":n(250)}})}}const fu=gu;function mu(){const t=["presenceList.collapseAt","allConnectedUsers","length","presenceList","context","execute","items","isCollapsed","_bodyCollection","locale","56gCHjmr","631156kNSImD","pin","isVisible","class","define","presencelist-missing-container","reverse","769045nqwRrb","displayMe","render","24370HwirMn","isHidden","hideDropdown","onClick","listenTo","bindTo","appendChild","plugins","_calculateNewUserPosition","balloonPanelView","add","_allConnectedUsers","remove","_createView","_handleUserRemove","1229417lKDYRb","inlineListView","_handleUserAdd","content","showDropdown","number","using","ck ck-presence-list__balloon","390JfHtGE","bind","from","226596yVEcCg","presenceList.container","config","isMe","get","set","presencelist-collapseat-invalid-format","usersCount","detachFromDom","element","view","requires","counterView","3681EDqaQd","destroy","currentDisplayedUsers","last","init","hasTooltip","presenceList.displayMe","isRendered","50110RasFMB","unpin","presenceDropdownView","attachToDom","4291296bbhRVa"];return(mu=function(){return t})()}!function(t,e){const n=gu,r=t();for(;;)try{if(940990===-parseInt(n(524))/1+-parseInt(n(498))/2*(-parseInt(n(521))/3)+-parseInt(n(488))/4+-parseInt(n(495))/5+parseInt(n(476))/6+-parseInt(n(513))/7*(-parseInt(n(487))/8)+-parseInt(n(537))/9*(parseInt(n(545))/10))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(mu);const yu={collapseAt:6,displayMe:!0};function gu(t,e){const n=mu();return(gu=function(t,e){return n[t-=476]})(t,e)}class bu extends r.ContextPlugin{constructor(t){const e=gu;super(t),this[e(481)][e(526)][e(492)](e(480),yu);const n=t[e(526)][e(528)](e(477));if(e(518)!=typeof n)throw new s.CKEditorError(e(530),this);if(n<1)throw new s.CKEditorError(e(530),this);this[e(509)]=this[e(481)][e(505)][e(528)](yr)[e(478)],this[e(529)](e(531),0),this[e(539)]=new s.Collection,this[e(507)]=new o.BalloonPanelView,this[e(507)][e(491)]=e(520),this[e(534)]=this[e(511)](),this[e(547)]=void 0}static get[fu(535)](){return[yr]}[fu(541)](){const t=fu;for(const e of this[t(509)])this[t(515)](e);this[t(502)](this[t(509)],t(508),((e,n)=>{this[t(515)](n)})),this[t(502)](this[t(509)],t(510),((e,n)=>{this[t(512)](n)}))}[fu(511)](){const t=fu,e=this[t(481)],n=new ru(this[t(481)][t(486)]),r=this[t(507)];if(!Hc(e[t(526)][t(528)](t(525))))throw new s.CKEditorError(t(493),this);return n[t(536)][t(522)](t(531)).to(this),n[t(522)](t(484)).to(this,t(531),(r=>{const s=t,{collapseAt:o,displayMe:i}=e[s(526)][s(528)](s(480)),a=r>=o;return n[s(536)][s(499)]=!(1==r&&i||a),a||this[s(500)](),a})),n[t(514)][t(483)][t(503)](this[t(539)])[t(519)]((r=>{const s=t,o=e[s(526)][s(528)](s(480)),i=new pu(e[s(486)],r,!!o[s(501)]);return i[s(522)](s(542)).to(n,s(484),(t=>!t)),o[s(501)]&&this[s(502)](i,s(482),(()=>{const t=s;this[t(534)][t(484)]||o[t(501)](r,i[t(533)])})),i})),this[t(502)](n[t(514)],t(482),(()=>{const e=t;this[e(547)]?this[e(500)]():this[e(534)][e(484)]&&this[e(517)]()})),n[t(497)](),r[t(497)](),(0,o.clickOutsideHandler)({emitter:n,activator:()=>r[t(490)],contextElements:[r[t(533)],n[t(514)][t(533)]],callback:()=>this[t(500)]()}),e[t(526)][t(528)](t(525))[t(504)](n[t(533)]),this[t(485)]=new o.BodyCollection(this[t(481)][t(486)]),this[t(485)][t(548)](),this[t(485)][t(508)](r),n}[fu(515)](t){const e=fu;if(!this[e(481)][e(526)][e(528)](e(543))&&t[e(527)])return;const n=this[e(481)][e(526)][e(528)](e(477))-1;this[e(531)]++,this[e(539)][e(479)]==n&&this[e(539)][e(510)](0);const r=this[e(506)](t);this[e(539)][e(508)](t,r)}[fu(512)](t){const e=fu;if(this[e(531)]--,this[e(539)][e(528)](t.id)&&(this[e(539)][e(510)](t.id),this[e(539)][e(479)]<this[e(531)]))for(const t of Array[e(523)](this[e(509)])[e(494)]())if(!this[e(539)][e(528)](t.id))return void this[e(539)][e(508)](t,0)}[fu(506)](t){const e=fu;return Boolean(this[e(539)][e(540)]&&this[e(539)][e(540)][e(527)])&&!t[e(527)]?this[e(539)][e(479)]-1:this[e(539)][e(479)]}[fu(517)](){const t=fu;if(this[t(547)])return;this[t(547)]=new iu(this[t(481)][t(486)]);const e=this[t(481)][t(526)][t(528)](t(480));this[t(547)][t(483)][t(503)](this[t(509)])[t(519)]((n=>{const r=t;if(!e[r(496)]&&n[r(527)])return null;const s=new uu(this[r(481)][r(486)],n,!!e[r(501)]);return e[r(501)]&&this[r(502)](s,r(482),(()=>{const t=r;e[t(501)](n,s[t(533)])})),s})),this[t(507)][t(516)][t(508)](this[t(547)]),this[t(507)][t(489)]({target:this[t(534)][t(514)][t(533)]})}[fu(500)](){const t=fu;this[t(547)]&&(this[t(507)][t(546)](),this[t(507)][t(516)][t(510)](this[t(547)]),this[t(547)][t(538)](),this[t(547)]=void 0)}[fu(538)](){const t=fu;super[t(538)](),this[t(534)]&&this[t(534)][t(544)]&&this[t(534)][t(538)](),this[t(485)]&&this[t(485)][t(532)]()}}var Ou=wu;function wu(t,e){var n=vu();return(wu=function(t,e){return n[t-=266]})(t,e)}!function(t,e){for(var n=wu,r=t();;)try{if(218840===-parseInt(n(275))/1*(-parseInt(n(273))/2)+parseInt(n(280))/3+parseInt(n(272))/4+-parseInt(n(279))/5*(parseInt(n(270))/6)+parseInt(n(269))/7*(-parseInt(n(277))/8)+parseInt(n(276))/9*(parseInt(n(274))/10)+parseInt(n(271))/11*(parseInt(n(278))/12))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(vu);class Iu extends r.ContextPlugin{static get[Ou(267)](){return[yr,bu]}static get[Ou(268)](){return Ou(266)}}function vu(){var t=["requires","pluginName","7pqeJNr","6DTuMvt","2761CnOTue","972308vEDqMs","232732gJkWHw","341470PDvUWZ","1wgehBb","63NXwduU","3392200GvAsNa","9768sKiiWP","1421520zQgjhd","373149aQhrqP","PresenceList"];return(vu=function(){return t})()}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;(0,s.ObservableMixin)();(0,s.EmitterMixin)();r.ContextPlugin;r.ContextPlugin;function Su(){var t=["47184tJoKdl","1603082CZkVSc","54643550Buyebs","358435WFlVdt","1670802FbFEwe","5437569BvlSYJ","18Hlyune","9HOTSNX","3345JXlqkO","4988vaNVjW"];return(Su=function(){return t})()}function Au(t,e){var n=Su();return(Au=function(t,e){return n[t-=177]})(t,e)}function Pu(){var t=["2022ZerNbB","296238ahByUI","110360rrUmSj","1947040YInjTE","404456GaGiJU","701715eFoHrO","126emQtXF","362421gasrvJ","849pLQNCM"];return(Pu=function(){return t})()}function _u(t,e){var n=Pu();return(_u=function(t,e){return n[t-=234]})(t,e)}!function(t,e){for(var n=Au,r=t();;)try{if(935657===-parseInt(n(182))/1+-parseInt(n(180))/2+-parseInt(n(184))/3+parseInt(n(178))/4*(-parseInt(n(177))/5)+parseInt(n(185))/6*(-parseInt(n(183))/7)+-parseInt(n(179))/8+parseInt(n(186))/9*(parseInt(n(181))/10))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Su),function(t,e){for(var n=_u,r=t();;)try{if(201524===parseInt(n(234))/1+-parseInt(n(236))/2*(-parseInt(n(235))/3)+-parseInt(n(240))/4+-parseInt(n(239))/5+-parseInt(n(237))/6+-parseInt(n(241))/7+parseInt(n(238))/8*(parseInt(n(242))/9))break;r.push(r.shift())}catch(t){r.push(r.shift())}}(Pu)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
|
|
5
|
+
*/(()=>{var __webpack_modules__={310:e=>{"use strict";e.exports=function(e,t){var n=new Array(arguments.length-1),r=0,s=2,o=!0;for(;s<arguments.length;)n[r++]=arguments[s++];return new Promise((function(s,i){n[r]=function(e){if(o)if(o=!1,e)i(e);else{for(var t=new Array(arguments.length-1),n=0;n<t.length;)t[n++]=arguments[n];s.apply(null,t)}};try{e.apply(t||null,n)}catch(e){o&&(o=!1,i(e))}}))}},662:(e,t)=>{"use strict";var n=t;n.length=function(e){var t=e.length;if(!t)return 0;for(var n=0;--t%4>1&&"="===e.charAt(t);)++n;return Math.ceil(3*e.length)/4-n};for(var r=new Array(64),s=new Array(123),o=0;o<64;)s[r[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;n.encode=function(e,t,n){for(var s,o=null,i=[],a=0,c=0;t<n;){var d=e[t++];switch(c){case 0:i[a++]=r[d>>2],s=(3&d)<<4,c=1;break;case 1:i[a++]=r[s|d>>4],s=(15&d)<<2,c=2;break;case 2:i[a++]=r[s|d>>6],i[a++]=r[63&d],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,i)),a=0)}return c&&(i[a++]=r[s],i[a++]=61,1===c&&(i[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))};var i="invalid encoding";n.decode=function(e,t,n){for(var r,o=n,a=0,c=0;c<e.length;){var d=e.charCodeAt(c++);if(61===d&&a>1)break;if(void 0===(d=s[d]))throw Error(i);switch(a){case 0:r=d,a=1;break;case 1:t[n++]=r<<2|(48&d)>>4,r=d,a=2;break;case 2:t[n++]=(15&r)<<4|(60&d)>>2,r=d,a=3;break;case 3:t[n++]=(3&r)<<6|d,a=0}}if(1===a)throw Error(i);return n-o},n.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},707:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:n||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var n=this._listeners[e],r=0;r<n.length;)n[r].fn===t?n.splice(r,1):++r;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var n=[],r=1;r<arguments.length;)n.push(arguments[r++]);for(r=0;r<t.length;)t[r].fn.apply(t[r++].ctx,n)}return this}},365:e=>{"use strict";function t(e){return"undefined"!=typeof Float32Array?function(){var t=new Float32Array([-0]),n=new Uint8Array(t.buffer),r=128===n[3];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3]}function o(e,r,s){t[0]=e,r[s]=n[3],r[s+1]=n[2],r[s+2]=n[1],r[s+3]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],t[0]}function a(e,r){return n[3]=e[r],n[2]=e[r+1],n[1]=e[r+2],n[0]=e[r+3],t[0]}e.writeFloatLE=r?s:o,e.writeFloatBE=r?o:s,e.readFloatLE=r?i:a,e.readFloatBE=r?a:i}():function(){function t(e,t,n,r){var s=t<0?1:0;if(s&&(t=-t),0===t)e(1/t>0?0:2147483648,n,r);else if(isNaN(t))e(2143289344,n,r);else if(t>34028234663852886e22)e((s<<31|2139095040)>>>0,n,r);else if(t<11754943508222875e-54)e((s<<31|Math.round(t/1401298464324817e-60))>>>0,n,r);else{var o=Math.floor(Math.log(t)/Math.LN2);e((s<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,n,r)}}function i(e,t,n){var r=e(t,n),s=2*(r>>31)+1,o=r>>>23&255,i=8388607&r;return 255===o?i?NaN:s*(1/0):0===o?1401298464324817e-60*s*i:s*Math.pow(2,o-150)*(i+8388608)}e.writeFloatLE=t.bind(null,n),e.writeFloatBE=t.bind(null,r),e.readFloatLE=i.bind(null,s),e.readFloatBE=i.bind(null,o)}(),"undefined"!=typeof Float64Array?function(){var t=new Float64Array([-0]),n=new Uint8Array(t.buffer),r=128===n[7];function s(e,r,s){t[0]=e,r[s]=n[0],r[s+1]=n[1],r[s+2]=n[2],r[s+3]=n[3],r[s+4]=n[4],r[s+5]=n[5],r[s+6]=n[6],r[s+7]=n[7]}function o(e,r,s){t[0]=e,r[s]=n[7],r[s+1]=n[6],r[s+2]=n[5],r[s+3]=n[4],r[s+4]=n[3],r[s+5]=n[2],r[s+6]=n[1],r[s+7]=n[0]}function i(e,r){return n[0]=e[r],n[1]=e[r+1],n[2]=e[r+2],n[3]=e[r+3],n[4]=e[r+4],n[5]=e[r+5],n[6]=e[r+6],n[7]=e[r+7],t[0]}function a(e,r){return n[7]=e[r],n[6]=e[r+1],n[5]=e[r+2],n[4]=e[r+3],n[3]=e[r+4],n[2]=e[r+5],n[1]=e[r+6],n[0]=e[r+7],t[0]}e.writeDoubleLE=r?s:o,e.writeDoubleBE=r?o:s,e.readDoubleLE=r?i:a,e.readDoubleBE=r?a:i}():function(){function t(e,t,n,r,s,o){var i=r<0?1:0;if(i&&(r=-r),0===r)e(0,s,o+t),e(1/r>0?0:2147483648,s,o+n);else if(isNaN(r))e(0,s,o+t),e(2146959360,s,o+n);else if(r>17976931348623157e292)e(0,s,o+t),e((i<<31|2146435072)>>>0,s,o+n);else{var a;if(r<22250738585072014e-324)e((a=r/5e-324)>>>0,s,o+t),e((i<<31|a/4294967296)>>>0,s,o+n);else{var c=Math.floor(Math.log(r)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=r*Math.pow(2,-c))>>>0,s,o+t),e((i<<31|c+1023<<20|1048576*a&1048575)>>>0,s,o+n)}}}function i(e,t,n,r,s){var o=e(r,s+t),i=e(r,s+n),a=2*(i>>31)+1,c=i>>>20&2047,d=4294967296*(1048575&i)+o;return 2047===c?d?NaN:a*(1/0):0===c?5e-324*a*d:a*Math.pow(2,c-1075)*(d+4503599627370496)}e.writeDoubleLE=t.bind(null,n,0,4),e.writeDoubleBE=t.bind(null,r,4,0),e.readDoubleLE=i.bind(null,s,0,4),e.readDoubleBE=i.bind(null,o,4,0)}(),e}function n(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}function r(e,t,n){t[n]=e>>>24,t[n+1]=e>>>16&255,t[n+2]=e>>>8&255,t[n+3]=255&e}function s(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},230:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},319:e=>{"use strict";e.exports=function(e,t,n){var r=n||8192,s=r>>>1,o=null,i=r;return function(n){if(n<1||n>s)return e(n);i+n>r&&(o=e(r),i=0);var a=t.call(o,i,i+=n);return 7&i&&(i=1+(7|i)),a}}},742:(e,t)=>{"use strict";var n=t;n.length=function(e){for(var t=0,n=0,r=0;r<e.length;++r)(n=e.charCodeAt(r))<128?t+=1:n<2048?t+=2:55296==(64512&n)&&56320==(64512&e.charCodeAt(r+1))?(++r,t+=4):t+=3;return t},n.read=function(e,t,n){if(n-t<1)return"";for(var r,s=null,o=[],i=0;t<n;)(r=e[t++])<128?o[i++]=r:r>191&&r<224?o[i++]=(31&r)<<6|63&e[t++]:r>239&&r<365?(r=((7&r)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[i++]=55296+(r>>10),o[i++]=56320+(1023&r)):o[i++]=(15&r)<<12|(63&e[t++])<<6|63&e[t++],i>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s?(i&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))},n.write=function(e,t,n){for(var r,s,o=n,i=0;i<e.length;++i)(r=e.charCodeAt(i))<128?t[n++]=r:r<2048?(t[n++]=r>>6|192,t[n++]=63&r|128):55296==(64512&r)&&56320==(64512&(s=e.charCodeAt(i+1)))?(r=65536+((1023&r)<<10)+(1023&s),++i,t[n++]=r>>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128);return n-o}},106:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(433),s=n.n(r)()((function(e){return e[1]}));s.push([e.id,".ck.ck-balloon-panel.ck-tooltip{z-index:calc(var(--ck-z-dialog) + 100)}:root{--ck-color-presence-list-dropdown-background:#fff;--ck-color-presence-list-dropdown-arrow-border:#ebebeb;--ck-presence-list-dropdown-list-max-width:250px;--ck-presence-list-dropdown-list-min-width:180px;--ck-presence-list-users-tooltip-max-width:120px;--ck-presence-list-users-tooltip-min-width:25px}.ck.ck-presence-list{align-items:center;display:flex;font-size:var(--ck-font-size-base);margin-right:var(--ck-spacing-standard);transition:margin-right .2s ease-in-out}.ck.ck-presence-list *{box-sizing:border-box}.ck.ck-presence-list__list{display:flex;justify-content:flex-end}.ck.ck-presence-list__counter{color:var(--ck-color-base-text);margin-right:var(--ck-spacing-large)}.ck.ck-presence-list__counter--hidden{display:none}.ck.ck-presence-list__list-item{background:none;border:0;color:inherit;font:inherit;margin-left:var(--ck-spacing-standard);outline:none;padding:0;position:relative}.ck.ck-presence-list__list-item:last-child{margin-left:0;order:-1}.ck.ck-tooltip.ck-presence-list__list-item__tooltip>.ck-tooltip__text{display:inline-block;max-width:var(--ck-presence-list-users-tooltip-max-width);overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__marker{display:block;height:3px;margin-top:3px;position:relative;width:100%}.ck-presence-list__balloon button.ck-presence-list__dropdown-list-item *,.ck-presence-list__list button.ck-presence-list__list-item *{cursor:pointer}.ck.ck-presence-list--collapsed .ck-presence-list__list{min-width:calc(var(--ck-user-avatar-size)*2)}.ck.ck-presence-list--collapsed .ck-presence-list__list *{cursor:pointer;transition:all .4s ease-in-out}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item{margin-left:calc(var(--ck-user-avatar-size)*-1 + 7px)}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:last-child{order:unset}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(2){opacity:.75}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(3){opacity:.55}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(4){opacity:.35}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(5){opacity:.15}.ck.ck-presence-list--collapsed .ck.ck-presence-list__list-item:nth-last-child(n+6){display:none}.ck.ck-presence-list__balloon{--ck-color-panel-border:var(--ck-color-presence-list-dropdown-arrow-border);--ck-color-panel-background:var(--ck-color-presence-list-dropdown-background);animation:fadeIn .3s ease-in-out;background-color:var(--ck-color-presence-list-dropdown-background);border:0;opacity:1}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-wrapper{border-radius:var(--ck-border-radius);max-height:80vh;max-width:var(--ck-presence-list-dropdown-list-max-width);min-width:var(--ck-presence-list-dropdown-list-min-width);overflow-x:hidden;overflow-y:auto}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item{align-items:center;background:none;border:0;color:inherit;display:flex;font:inherit;outline:none;padding:var(--ck-spacing-standard);position:relative}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:first-of-type .ck-presence-list__marker{border-top-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list-item:last-of-type .ck-presence-list__marker{border-bottom-left-radius:var(--ck-border-radius)}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck-user__full-name{color:var(--ck-color-base-text);margin-left:var(--ck-spacing-standard);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck.ck-presence-list__balloon .ck.ck-presence-list__dropdown-list .ck.ck-presence-list__marker{height:100%;left:0;margin:0;position:absolute;width:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const o=s},535:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(433),s=n.n(r)()((function(e){return e[1]}));s.push([e.id,".ck .ck-user__marker-dot{border-radius:50%;cursor:default;display:block;height:var(--ck-user-dot-size);left:50%;position:absolute;top:calc((var(--ck-user-dot-size)/2)*-1);transform:translate(-50%,-50%);width:var(--ck-user-dot-size)}.ck .ck-user__marker-tooltip{color:#fff;display:none;font-family:Georgia,sans-serif;font-size:var(--ck-font-size-base);font-style:normal;font-weight:400;left:0;line-height:1;opacity:0;padding:var(--ck-spacing-small);position:absolute;top:-20px;transition:opacity .2s linear,transform .3s ease-in-out;white-space:nowrap;z-index:99999}.ck .ck-user__marker-line{bottom:0;height:100%;position:absolute;width:0}.ck .ck-user__marker{cursor:default;display:inline;position:relative}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-dot{width:0}.ck .ck-user__marker.ck-user__marker_hovered .ck-user__marker-tooltip{animation:fadeInLeft .3s ease-in-out;display:block;opacity:1}.ck .ck-placeholder .ck-user__marker{display:none}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}",""]);const o=s},433:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var s={};if(r)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(s[i]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);r&&s[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},199:(e,t,n)=>{"use strict";e.exports=n(995)},995:(e,t,n)=>{"use strict";var r=t;function s(){r.util._configure(),r.Writer._configure(r.BufferWriter),r.Reader._configure(r.BufferReader)}r.build="minimal",r.Writer=n(6),r.BufferWriter=n(623),r.Reader=n(366),r.BufferReader=n(895),r.util=n(737),r.rpc=n(178),r.roots=n(156),r.configure=s,s()},366:(e,t,n)=>{"use strict";e.exports=c;var r,s=n(737),o=s.LongBits,i=s.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var d,u="undefined"!=typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},l=function(){return s.Buffer?function(e){return(c.create=function(e){return s.Buffer.isBuffer(e)?new r(e):u(e)})(e)}:u};function p(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function h(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function f(){if(this.pos+8>this.len)throw a(this,8);return new o(h(this.buf,this.pos+=4),h(this.buf,this.pos+=4))}c.create=l(),c.prototype._slice=s.Array.prototype.subarray||s.Array.prototype.slice,c.prototype.uint32=(d=4294967295,function(){if(d=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return d;if(d=(d|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return d;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return d}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return h(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|h(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=s.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=s.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw a(this,e);if(this.pos+=e,Array.isArray(this.buf))return this.buf.slice(t,n);if(t===n){var r=s.Buffer;return r?r.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,t,n)},c.prototype.string=function(){var e=this.bytes();return i.read(e,0,e.length)},c.prototype.skip=function(e){if("number"==typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){r=e,c.create=l(),r._configure();var t=s.Long?"toLong":"toNumber";s.merge(c.prototype,{int64:function(){return p.call(this)[t](!1)},uint64:function(){return p.call(this)[t](!0)},sint64:function(){return p.call(this).zzDecode()[t](!1)},fixed64:function(){return f.call(this)[t](!0)},sfixed64:function(){return f.call(this)[t](!1)}})}},895:(e,t,n)=>{"use strict";e.exports=o;var r=n(366);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(e){r.call(this,e)}o._configure=function(){s.Buffer&&(o.prototype._slice=s.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},156:e=>{"use strict";e.exports={}},178:(e,t,n)=>{"use strict";t.Service=n(418)},418:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t,n){if("function"!=typeof e)throw TypeError("rpcImpl must be a function");r.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(n)}(s.prototype=Object.create(r.EventEmitter.prototype)).constructor=s,s.prototype.rpcCall=function e(t,n,s,o,i){if(!o)throw TypeError("request must be specified");var a=this;if(!i)return r.asPromise(e,a,t,n,s,o);if(a.rpcImpl)try{return a.rpcImpl(t,n[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,n){if(e)return a.emit("error",e,t),i(e);if(null!==n){if(!(n instanceof s))try{n=s[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(e){return a.emit("error",e,t),i(e)}return a.emit("data",n,t),i(null,n)}a.end(!0)}))}catch(e){return a.emit("error",e,t),void setTimeout((function(){i(e)}),0)}else setTimeout((function(){i(Error("already ended"))}),0)},s.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},130:(e,t,n)=>{"use strict";e.exports=s;var r=n(737);function s(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=s.zero=new s(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var i=s.zeroHash="\0\0\0\0\0\0\0\0";s.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var n=e>>>0,r=(e-n)/4294967296>>>0;return t&&(r=~r>>>0,n=~n>>>0,++n>4294967295&&(n=0,++r>4294967295&&(r=0))),new s(n,r)},s.from=function(e){if("number"==typeof e)return s.fromNumber(e);if(r.isString(e)){if(!r.Long)return s.fromNumber(parseInt(e,10));e=r.Long.fromString(e)}return e.low||e.high?new s(e.low>>>0,e.high>>>0):o},s.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,n=~this.hi>>>0;return t||(n=n+1>>>0),-(t+4294967296*n)}return this.lo+4294967296*this.hi},s.prototype.toLong=function(e){return r.Long?new r.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;s.fromHash=function(e){return e===i?o:new s((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},s.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},s.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},s.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},s.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}},737:function(e,t,n){"use strict";var r=t;function s(e,t,n){for(var r=Object.keys(t),s=0;s<r.length;++s)void 0!==e[r[s]]&&n||(e[r[s]]=t[r[s]]);return e}function o(e){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),n&&s(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}r.asPromise=n(310),r.base64=n(662),r.EventEmitter=n(707),r.float=n(365),r.inquire=n(230),r.utf8=n(742),r.pool=n(319),r.LongBits=n(130),r.isNode=Boolean(void 0!==n.g&&n.g&&n.g.process&&n.g.process.versions&&n.g.process.versions.node),r.global=r.isNode&&n.g||"undefined"!=typeof window&&window||"undefined"!=typeof self&&self||this,r.emptyArray=Object.freeze?Object.freeze([]):[],r.emptyObject=Object.freeze?Object.freeze({}):{},r.isInteger=Number.isInteger||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},r.isString=function(e){return"string"==typeof e||e instanceof String},r.isObject=function(e){return e&&"object"==typeof e},r.isset=r.isSet=function(e,t){var n=e[t];return!(null==n||!e.hasOwnProperty(t))&&("object"!=typeof n||(Array.isArray(n)?n.length:Object.keys(n).length)>0)},r.Buffer=function(){try{var e=r.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(e){return null}}(),r._Buffer_from=null,r._Buffer_allocUnsafe=null,r.newBuffer=function(e){return"number"==typeof e?r.Buffer?r._Buffer_allocUnsafe(e):new r.Array(e):r.Buffer?r._Buffer_from(e):"undefined"==typeof Uint8Array?e:new Uint8Array(e)},r.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,r.Long=r.global.dcodeIO&&r.global.dcodeIO.Long||r.global.Long||r.inquire("long"),r.key2Re=/^true|false|0|1$/,r.key32Re=/^-?(?:0|[1-9][0-9]*)$/,r.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,r.longToHash=function(e){return e?r.LongBits.from(e).toHash():r.LongBits.zeroHash},r.longFromHash=function(e,t){var n=r.LongBits.fromHash(e);return r.Long?r.Long.fromBits(n.lo,n.hi,t):n.toNumber(Boolean(t))},r.merge=s,r.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},r.newError=o,r.ProtocolError=o("ProtocolError"),r.oneOfGetter=function(e){for(var t={},n=0;n<e.length;++n)t[e[n]]=1;return function(){for(var e=Object.keys(this),n=e.length-1;n>-1;--n)if(1===t[e[n]]&&void 0!==this[e[n]]&&null!==this[e[n]])return e[n]}},r.oneOfSetter=function(e){return function(t){for(var n=0;n<e.length;++n)e[n]!==t&&delete this[e[n]]}},r.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},r._configure=function(){var e=r.Buffer;e?(r._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,n){return new e(t,n)},r._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):r._Buffer_from=r._Buffer_allocUnsafe=null}},6:(e,t,n)=>{"use strict";e.exports=l;var r,s=n(737),o=s.LongBits,i=s.base64,a=s.utf8;function c(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}function d(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function l(){this.len=0,this.head=new c(d,0,0),this.tail=this.head,this.states=null}var p=function(){return s.Buffer?function(){return(l.create=function(){return new r})()}:function(){return new l}};function h(e,t,n){t[n]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function m(e,t,n){for(;e.hi;)t[n++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[n++]=127&e.lo|128,e.lo=e.lo>>>7;t[n++]=e.lo}function y(e,t,n){t[n]=255&e,t[n+1]=e>>>8&255,t[n+2]=e>>>16&255,t[n+3]=e>>>24}l.create=p(),l.alloc=function(e){return new s.Array(e)},s.Array!==Array&&(l.alloc=s.pool(l.alloc,s.Array.prototype.subarray)),l.prototype._push=function(e,t,n){return this.tail=this.tail.next=new c(e,t,n),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,n){for(;e>127;)t[n++]=127&e|128,e>>>=7;t[n]=e},l.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},l.prototype.int32=function(e){return e<0?this._push(m,10,o.fromNumber(e)):this.uint32(e)},l.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},l.prototype.uint64=function(e){var t=o.from(e);return this._push(m,t.length(),t)},l.prototype.int64=l.prototype.uint64,l.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(m,t.length(),t)},l.prototype.bool=function(e){return this._push(h,1,e?1:0)},l.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},l.prototype.sfixed32=l.prototype.fixed32,l.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},l.prototype.sfixed64=l.prototype.fixed64,l.prototype.float=function(e){return this._push(s.float.writeFloatLE,4,e)},l.prototype.double=function(e){return this._push(s.float.writeDoubleLE,8,e)};var g=s.Array.prototype.set?function(e,t,n){t.set(e,n)}:function(e,t,n){for(var r=0;r<e.length;++r)t[n+r]=e[r]};l.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(h,1,0);if(s.isString(e)){var n=l.alloc(t=i.length(e));i.decode(e,n,0),e=n}return this.uint32(t)._push(g,t,e)},l.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(h,1,0)},l.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},l.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},l.prototype.ldelim=function(){var e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=t,this.len+=n),this},l.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t},l._configure=function(e){r=e,l.create=p(),r._configure()}},623:(e,t,n)=>{"use strict";e.exports=o;var r=n(6);(o.prototype=Object.create(r.prototype)).constructor=o;var s=n(737);function o(){r.call(this)}function i(e,t,n){e.length<40?s.utf8.write(e,t,n):t.utf8Write?t.utf8Write(e,n):t.write(e,n)}o._configure=function(){o.alloc=s._Buffer_allocUnsafe,o.writeBytesBuffer=s.Buffer&&s.Buffer.prototype instanceof Uint8Array&&"set"===s.Buffer.prototype.set.name?function(e,t,n){t.set(e,n)}:function(e,t,n){if(e.copy)e.copy(t,n,0,e.length);else for(var r=0;r<e.length;)t[n++]=e[r++]}},o.prototype.bytes=function(e){s.isString(e)&&(e=s._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=s.Buffer.byteLength(e);return this.uint32(t),t&&this._push(i,t,e),this},o._configure()},553:(e,t)=>{"use strict";var n=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){try{return encodeURIComponent(e)}catch(e){return null}}t.stringify=function(e,t){t=t||"";var r,o,i=[];for(o in"string"!=typeof t&&(t="?"),e)if(n.call(e,o)){if((r=e[o])||null!=r&&!isNaN(r)||(r=""),o=s(o),r=s(r),null===o||null===r)continue;i.push(o+"="+r)}return i.length?t+i.join("&"):""},t.parse=function(e){for(var t,n=/([^=?#&]+)=?([^&]*)/g,s={};t=n.exec(e);){var o=r(t[1]),i=r(t[2]);null===o||null===i||o in s||(s[o]=i)}return s}},696:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},673:(e,t,n)=>{"use strict";var r,s=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function a(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},r=[],s=0;s<e.length;s++){var o=e[s],c=t.base?o[0]+t.base:o[0],d=n[c]||0,u="".concat(c," ").concat(d);n[c]=d+1;var l=a(u),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==l?(i[l].references++,i[l].updater(p)):i.push({identifier:u,updater:y(p,t),references:1}),r.push(u)}return r}function d(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var s=n.nc;s&&(r.nonce=s)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=o(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var u,l=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function p(e,t,n,r){var s=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=l(t,s);else{var o=document.createTextNode(s),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function h(e,t,n){var r=n.css,s=n.media,o=n.sourceMap;if(s?e.setAttribute("media",s):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var f=null,m=0;function y(e,t){var n,r,s;if(t.singleton){var o=m++;n=f||(f=d(t)),r=p.bind(null,n,o,!1),s=p.bind(null,n,o,!0)}else n=d(t),r=h.bind(null,n,t),s=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else s()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=s());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var s=a(n[r]);i[s].references--}for(var o=c(e,t),d=0;d<n.length;d++){var u=a(n[d]);0===i[u].references&&(i[u].updater(),i.splice(u,1))}n=o}}}},835:(e,t,n)=>{"use strict";var r=n(696),s=n(553),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,i=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,c=/:\d+$/,d=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,u=/^[a-zA-Z]:/;function l(e){return(e||"").toString().replace(o,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:{}).location||{},s={},o=typeof(e=e||r);if("blob:"===e.protocol)s=new g(unescape(e.pathname),{});else if("string"===o)for(t in s=new g(e,{}),h)delete s[t];else if("object"===o){for(t in e)t in h||(s[t]=e[t]);void 0===s.slashes&&(s.slashes=a.test(e.href))}return s}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function y(e,t){e=(e=l(e)).replace(i,""),t=t||{};var n,r=d.exec(e),s=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],c=0;return o?a?(n=r[2]+r[3]+r[4],c=r[2].length+r[3].length):(n=r[2]+r[4],c=r[2].length):a?(n=r[3]+r[4],c=r[3].length):n=r[4],"file:"===s?c>=2&&(n=n.slice(2)):m(s)?n=r[4]:s?o&&(n=n.slice(2)):c>=2&&m(t.protocol)&&(n=r[4]),{protocol:s,slashes:o||m(s),slashesCount:c,rest:n}}function g(e,t,n){if(e=(e=l(e)).replace(i,""),!(this instanceof g))return new g(e,t,n);var o,a,c,d,h,b,O=p.slice(),w=typeof t,I=this,v=0;for("object"!==w&&"string"!==w&&(n=t,t=null),n&&"function"!=typeof n&&(n=s.parse),o=!(a=y(e||"",t=f(t))).protocol&&!a.slashes,I.slashes=a.slashes||o&&t.slashes,I.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||u.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(I.protocol)))&&(O[3]=[/(.*)/,"pathname"]);v<O.length;v++)"function"!=typeof(d=O[v])?(c=d[0],b=d[1],c!=c?I[b]=e:"string"==typeof c?~(h="@"===c?e.lastIndexOf(c):e.indexOf(c))&&("number"==typeof d[2]?(I[b]=e.slice(0,h),e=e.slice(h+d[2])):(I[b]=e.slice(h),e=e.slice(0,h))):(h=c.exec(e))&&(I[b]=h[1],e=e.slice(0,h.index)),I[b]=I[b]||o&&d[3]&&t[b]||"",d[4]&&(I[b]=I[b].toLowerCase())):e=d(e,I);n&&(I.query=n(I.query)),o&&t.slashes&&"/"!==I.pathname.charAt(0)&&(""!==I.pathname||""!==t.pathname)&&(I.pathname=function(e,t){if(""===e)return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),r=n.length,s=n[r-1],o=!1,i=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),i++):i&&(0===r&&(o=!0),n.splice(r,1),i--);return o&&n.unshift(""),"."!==s&&".."!==s||n.push(""),n.join("/")}(I.pathname,t.pathname)),"/"!==I.pathname.charAt(0)&&m(I.protocol)&&(I.pathname="/"+I.pathname),r(I.port,I.protocol)||(I.host=I.hostname,I.port=""),I.username=I.password="",I.auth&&(~(h=I.auth.indexOf(":"))?(I.username=I.auth.slice(0,h),I.username=encodeURIComponent(decodeURIComponent(I.username)),I.password=I.auth.slice(h+1),I.password=encodeURIComponent(decodeURIComponent(I.password))):I.username=encodeURIComponent(decodeURIComponent(I.auth)),I.auth=I.password?I.username+":"+I.password:I.username),I.origin="file:"!==I.protocol&&m(I.protocol)&&I.host?I.protocol+"//"+I.host:"null",I.href=I.toString()}g.prototype={set:function(e,t,n){var o=this;switch(e){case"query":"string"==typeof t&&t.length&&(t=(n||s.parse)(t)),o[e]=t;break;case"port":o[e]=t,r(t,o.protocol)?t&&(o.host=o.hostname+":"+t):(o.host=o.hostname,o[e]="");break;case"hostname":o[e]=t,o.port&&(t+=":"+o.port),o.host=t;break;case"host":o[e]=t,c.test(t)?(t=t.split(":"),o.port=t.pop(),o.hostname=t.join(":")):(o.hostname=t,o.port="");break;case"protocol":o.protocol=t.toLowerCase(),o.slashes=!n;break;case"pathname":case"hash":if(t){var i="pathname"===e?"/":"#";o[e]=t.charAt(0)!==i?i+t:t}else o[e]=t;break;case"username":case"password":o[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(o.username=t.slice(0,a),o.username=encodeURIComponent(decodeURIComponent(o.username)),o.password=t.slice(a+1),o.password=encodeURIComponent(decodeURIComponent(o.password))):o.username=encodeURIComponent(decodeURIComponent(t))}for(var d=0;d<p.length;d++){var u=p[d];u[4]&&(o[u[1]]=o[u[1]].toLowerCase())}return o.auth=o.password?o.username+":"+o.password:o.username,o.origin="file:"!==o.protocol&&m(o.protocol)&&o.host?o.protocol+"//"+o.host:"null",o.href=o.toString(),o},toString:function(e){e&&"function"==typeof e||(e=s.stringify);var t,n=this,r=n.host,o=n.protocol;o&&":"!==o.charAt(o.length-1)&&(o+=":");var i=o+(n.protocol&&n.slashes||m(n.protocol)?"//":"");return n.username?(i+=n.username,n.password&&(i+=":"+n.password),i+="@"):n.password?(i+=":"+n.password,i+="@"):"file:"!==n.protocol&&m(n.protocol)&&!r&&"/"!==n.pathname&&(i+="@"),(":"===r[r.length-1]||c.test(n.hostname)&&!n.port)&&(r+=":"),i+=r+n.pathname,(t="object"==typeof n.query?e(n.query):n.query)&&(i+="?"!==t.charAt(0)?"?"+t:t),n.hash&&(i+=n.hash),i}},g.extractProtocol=y,g.location=f,g.trimLeft=l,g.qs=s,e.exports=g},211:(e,t,n)=>{e.exports=n(312)("./src/collaboration-core.js")},782:(e,t,n)=>{e.exports=n(237)("./src/core.js")},783:(e,t,n)=>{e.exports=n(237)("./src/engine.js")},311:(e,t,n)=>{e.exports=n(237)("./src/ui.js")},584:(e,t,n)=>{e.exports=n(237)("./src/utils.js")},312:e=>{"use strict";e.exports=CKEditor5.collaborationDll},237:e=>{"use strict";e.exports=CKEditor5.dll}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{CloudServicesCommentsAdapter:()=>cc,CloudServicesRevisionHistoryAdapter:()=>Ec,CloudServicesTrackChangesAdapter:()=>mc,PresenceList:()=>yd,RealTimeCollaborationClient:()=>Qa,RealTimeCollaborativeComments:()=>Ic,RealTimeCollaborativeEditing:()=>rc,RealTimeCollaborativeRevisionHistory:()=>xc,RealTimeCollaborativeTrackChanges:()=>Pc});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{Decoder:()=>he,Encoder:()=>le,PacketType:()=>ue,protocol:()=>de});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{XM:()=>kt,Nz:()=>_t});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{AttributeOperation:()=>Cr,Element:()=>Jr,InsertOperation:()=>Er,MarkerOperation:()=>jr,MergeOperation:()=>Rr,MoveOperation:()=>Dr,Position:()=>Br,Range:()=>Ur,RenameOperation:()=>Nr,RootAttributeOperation:()=>xr,RootOperation:()=>Vr,SplitOperation:()=>Mr,default:()=>kr});var r=__webpack_require__(782),s=__webpack_require__(584),o=__webpack_require__(311),i=__webpack_require__(783);const a=Object.create(null);a.open="0",a.close="1",a.ping="2",a.pong="3",a.message="4",a.upgrade="5",a.noop="6";const c=Object.create(null);Object.keys(a).forEach((e=>{c[a[e]]=e}));const d={type:"error",data:"parser error"},u="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),l="function"==typeof ArrayBuffer,p=(e,t)=>{const n=new FileReader;return n.onload=function(){const e=n.result.split(",")[1];t("b"+(e||""))},n.readAsDataURL(e)},h=({type:e,data:t},n,r)=>{return u&&t instanceof Blob?n?r(t):p(t,r):l&&(t instanceof ArrayBuffer||(s=t,"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(s):s&&s.buffer instanceof ArrayBuffer))?n?r(t):p(new Blob([t]),r):r(a[e]+(t||""));var s},f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",m="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let e=0;e<64;e++)m[f.charCodeAt(e)]=e;const y="function"==typeof ArrayBuffer,g=(e,t)=>{if(y){const n=(e=>{let t,n,r,s,o,i=.75*e.length,a=e.length,c=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);const d=new ArrayBuffer(i),u=new Uint8Array(d);for(t=0;t<a;t+=4)n=m[e.charCodeAt(t)],r=m[e.charCodeAt(t+1)],s=m[e.charCodeAt(t+2)],o=m[e.charCodeAt(t+3)],u[c++]=n<<2|r>>4,u[c++]=(15&r)<<4|s>>2,u[c++]=(3&s)<<6|63&o;return d})(e);return b(n,t)}return{base64:!0,data:e}},b=(e,t)=>"blob"===t&&e instanceof ArrayBuffer?new Blob([e]):e,O=(e,t)=>{if("string"!=typeof e)return{type:"message",data:b(e,t)};const n=e.charAt(0);if("b"===n)return{type:"message",data:g(e.substring(1),t)};return c[n]?e.length>1?{type:c[n],data:e.substring(1)}:{type:c[n]}:d},w=String.fromCharCode(30);function I(e){if(e)return function(e){for(var t in I.prototype)e[t]=I.prototype[t];return e}(e)}I.prototype.on=I.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},I.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},I.prototype.off=I.prototype.removeListener=I.prototype.removeAllListeners=I.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var s=0;s<r.length;s++)if((n=r[s])===t||n.fn===t){r.splice(s,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},I.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var s=(n=n.slice(0)).length;r<s;++r)n[r].apply(this,t)}return this},I.prototype.emitReserved=I.prototype.emit,I.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},I.prototype.hasListeners=function(e){return!!this.listeners(e).length};const v="undefined"!=typeof self?self:"undefined"!=typeof window?window:Function("return this")();function S(e,...t){return t.reduce(((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t)),{})}const A=v.setTimeout,P=v.clearTimeout;function T(e,t){t.useNativeTimers?(e.setTimeoutFn=A.bind(v),e.clearTimeoutFn=P.bind(v)):(e.setTimeoutFn=v.setTimeout.bind(v),e.clearTimeoutFn=v.clearTimeout.bind(v))}class _ extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}}class k extends I{constructor(e){super(),this.writable=!1,T(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,n){return super.emitReserved("error",new _(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState&&this.write(e)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=O(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}}const C="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),E={};let j,R=0,D=0;function N(e){let t="";do{t=C[e%64]+t,e=Math.floor(e/64)}while(e>0);return t}function x(){const e=N(+new Date);return e!==j?(R=0,j=e):e+"."+N(R++)}for(;D<64;D++)E[C[D]]=D;function V(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}let M=!1;try{M="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(e){}const B=M;function U(e){const t=e.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!t||B))return new XMLHttpRequest}catch(e){}if(!t)try{return new(v[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}function J(){}const q=null!=new U({xdomain:!1}).responseType;class G extends I{constructor(e,t){super(),T(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.async=!1!==t.async,this.data=void 0!==t.data?t.data:null,this.create()}create(){const e=S(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd,e.xscheme=!!this.opts.xs;const t=this.xhr=new U(e);try{t.open(this.method,this.uri,this.async);try{if(this.opts.extraHeaders){t.setDisableHeaderCheck&&t.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&t.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{t.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{t.setRequestHeader("Accept","*/*")}catch(e){}"withCredentials"in t&&(t.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(t.timeout=this.opts.requestTimeout),t.onreadystatechange=()=>{4===t.readyState&&(200===t.status||1223===t.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof t.status?t.status:0)}),0))},t.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=G.requestsCount++,G.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=J,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete G.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(G.requestsCount=0,G.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",L);else if("function"==typeof addEventListener){addEventListener("onpagehide"in v?"pagehide":"unload",L,!1)}function L(){for(let e in G.requests)G.requests.hasOwnProperty(e)&&G.requests[e].abort()}const Y="function"==typeof Promise&&"function"==typeof Promise.resolve?e=>Promise.resolve().then(e):(e,t)=>t(e,0),z=v.WebSocket||v.MozWebSocket,H="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();const F={websocket:class extends k{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,n=H?{}:S(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=H?new z(e,t,n):t?new z(e,t):new z(e)}catch(e){return this.emitReserved("error",e)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){const n=e[t],r=t===e.length-1;h(n,this.supportsBinary,(e=>{try{this.ws.send(e)}catch(e){}r&&Y((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){let e=this.query||{};const t=this.opts.secure?"wss":"ws";let n="";this.opts.port&&("wss"===t&&443!==Number(this.opts.port)||"ws"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port),this.opts.timestampRequests&&(e[this.opts.timestampParam]=x()),this.supportsBinary||(e.b64=1);const r=V(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}check(){return!!z}},polling:class extends k{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let n=location.port;n||(n=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||n!==e.port,this.xs=e.secure!==t}const t=e&&e.forceBase64;this.supportsBinary=q&&!t}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(e++,this.once("pollComplete",(function(){--e||t()}))),this.writable||(e++,this.once("drain",(function(){--e||t()})))}else t()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){((e,t)=>{const n=e.split(w),r=[];for(let e=0;e<n.length;e++){const s=O(n[e],t);if(r.push(s),"error"===s.type)break}return r})(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){const e=()=>{this.write([{type:"close"}])};"open"===this.readyState?e():this.once("open",e)}write(e){this.writable=!1,((e,t)=>{const n=e.length,r=new Array(n);let s=0;e.forEach(((e,o)=>{h(e,!1,(e=>{r[o]=e,++s===n&&t(r.join(w))}))}))})(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){let e=this.query||{};const t=this.opts.secure?"https":"http";let n="";!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=x()),this.supportsBinary||e.sid||(e.b64=1),this.opts.port&&("https"===t&&443!==Number(this.opts.port)||"http"===t&&80!==Number(this.opts.port))&&(n=":"+this.opts.port);const r=V(e);return t+"://"+(-1!==this.opts.hostname.indexOf(":")?"["+this.opts.hostname+"]":this.opts.hostname)+n+this.opts.path+(r.length?"?"+r:"")}request(e={}){return Object.assign(e,{xd:this.xd,xs:this.xs},this.opts),new G(this.uri(),e)}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}},K=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,W=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Q(e){const t=e,n=e.indexOf("["),r=e.indexOf("]");-1!=n&&-1!=r&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let s=K.exec(e||""),o={},i=14;for(;i--;)o[W[i]]=s[i]||"";return-1!=n&&-1!=r&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=function(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||r.splice(0,1);"/"==t.slice(-1)&&r.splice(r.length-1,1);return r}(0,o.path),o.queryKey=function(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,r){t&&(n[t]=r)})),n}(0,o.query),o}class X extends I{constructor(e,t={}){super(),this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=Q(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=Q(t.host).host),T(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!0},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(e){let t={},n=e.split("&");for(let e=0,r=n.length;e<r;e++){let r=n[e].split("=");t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts.transportOptions[e],this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port});return new F[e](n)}open(){let e;if(this.opts.rememberUpgrade&&X.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){let t=this.createTransport(e),n=!1;X.priorWebsocketSuccess=!1;const r=()=>{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",(e=>{if(!n)if("pong"===e.type&&"probe"===e.data){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;X.priorWebsocketSuccess="websocket"===t.name,this.transport.pause((()=>{n||"closed"!==this.readyState&&(d(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{const e=new Error("probe error");e.transport=t.name,this.emitReserved("upgradeError",e)}})))};function s(){n||(n=!0,d(),t.close(),t=null)}const o=e=>{const n=new Error("probe error: "+e);n.transport=t.name,s(),this.emitReserved("upgradeError",n)};function i(){o("transport closed")}function a(){o("socket closed")}function c(e){t&&e.name!==t.name&&s()}const d=()=>{t.removeListener("open",r),t.removeListener("error",o),t.removeListener("close",i),this.off("close",a),this.off("upgrading",c)};t.once("open",r),t.once("error",o),t.once("close",i),this.once("close",a),this.once("upgrading",c),t.open()}onOpen(){if(this.readyState="open",X.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.resetPingTimeout(),this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let n=0;n<this.writeBuffer.length;n++){const r=this.writeBuffer[n].data;if(r&&(e+="string"==typeof(t=r)?function(e){let t=0,n=0;for(let r=0,s=e.length;r<s;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}(t):Math.ceil(1.33*(t.byteLength||t.size))),n>0&&e>this.maxPayload)return this.writeBuffer.slice(0,n);e+=2}var t;return this.writeBuffer}write(e,t,n){return this.sendPacket("message",e,t,n),this}send(e,t,n){return this.sendPacket("message",e,t,n),this}sendPacket(e,t,n,r){if("function"==typeof t&&(r=t,t=void 0),"function"==typeof n&&(r=n,n=null),"closing"===this.readyState||"closed"===this.readyState)return;(n=n||{}).compress=!1!==n.compress;const s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),r&&this.once("flush",r),this.flush()}close(){const e=()=>{this.onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?n():e()})):this.upgrading?n():e()),this}onError(e){X.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let n=0;const r=e.length;for(;n<r;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}}X.protocol=4;X.protocol;const $="function"==typeof ArrayBuffer,Z=Object.prototype.toString,ee="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Z.call(Blob),te="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Z.call(File);function ne(e){return $&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||ee&&e instanceof Blob||te&&e instanceof File}function re(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(re(e[t]))return!0;return!1}if(ne(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return re(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&re(e[t]))return!0;return!1}function se(e){const t=[],n=e.data,r=e;return r.data=oe(n,t),r.attachments=t.length,{packet:r,buffers:t}}function oe(e,t){if(!e)return e;if(ne(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=oe(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=oe(e[r],t));return n}return e}function ie(e,t){return e.data=ae(e.data,t),delete e.attachments,e}function ae(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=ae(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=ae(e[n],t));return e}const ce=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],de=5;var ue;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(ue||(ue={}));class le{constructor(e){this.replacer=e}encode(e){return e.type!==ue.EVENT&&e.type!==ue.ACK||!re(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===ue.EVENT?ue.BINARY_EVENT:ue.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==ue.BINARY_EVENT&&e.type!==ue.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=se(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}function pe(e){return"[object Object]"===Object.prototype.toString.call(e)}class he extends I{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===ue.BINARY_EVENT;n||t.type===ue.BINARY_ACK?(t.type=n?ue.EVENT:ue.ACK,this.reconstructor=new fe(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!ne(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===ue[n.type])throw new Error("unknown packet type "+n.type);if(n.type===ue.BINARY_EVENT||n.type===ue.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const s=e.substring(r,t);if(s!=Number(s)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!he.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case ue.CONNECT:return pe(t);case ue.DISCONNECT:return void 0===t;case ue.CONNECT_ERROR:return"string"==typeof t||pe(t);case ue.EVENT:case ue.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===ce.indexOf(t[0]));case ue.ACK:case ue.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class fe{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=ie(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}function me(e,t,n){return e.on(t,n),function(){e.off(t,n)}}const ye=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class ge extends I{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const e=this.io;this.subs=[me(e,"open",this.onopen.bind(this)),me(e,"packet",this.onpacket.bind(this)),me(e,"error",this.onerror.bind(this)),me(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(ye.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;const n={type:ue.EVENT,data:t,options:{}};if(n.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}const r=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!r||!this.connected)||(this.connected?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){var n;const r=null!==(n=this.flags.timeout)&&void 0!==n?n:this._opts.ackTimeout;if(void 0===r)return void(this.acks[e]=t);const s=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,new Error("operation has timed out"))}),r);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(s),t.apply(this,[null,...e])}}emitWithAck(e,...t){const n=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((r,s)=>{t.push(((e,t)=>n?e?s(e):r(t):r(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...r)=>{if(n!==this._queue[0])return;return null!==e?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue()})),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||0===this._queue.length)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:ue.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case ue.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ue.EVENT:case ue.BINARY_EVENT:this.onevent(e);break;case ue.ACK:case ue.BINARY_ACK:this.onack(e);break;case ue.DISCONNECT:this.ondisconnect();break;case ue.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];null!=e.id&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...r){n||(n=!0,t.packet({type:ue.ACK,id:e,data:r}))}}onack(e){const t=this.acks[e.id];"function"==typeof t&&(t.apply(this,e.data),delete this.acks[e.id])}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:ue.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){const t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const t=this._anyOutgoingListeners.slice();for(const n of t)n.apply(this,e.data)}}}function be(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}be.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=1&Math.floor(10*t)?e+n:e-n}return 0|Math.min(e,this.max)},be.prototype.reset=function(){this.attempts=0},be.prototype.setMin=function(e){this.ms=e},be.prototype.setMax=function(e){this.max=e},be.prototype.setJitter=function(e){this.jitter=e};class Oe extends I{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(n=t,t=void 0),(n=n||{}).path=n.path||"/socket.io",this.opts=n,T(this,n),this.reconnection(!1!==n.reconnection),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=n.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new be({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==n.timeout?2e4:n.timeout),this._readyState="closed",this.uri=t;const s=n.parser||e;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=!1!==n.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new X(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const r=me(t,"open",(function(){n.onopen(),e&&e()})),s=me(t,"error",(t=>{n.cleanup(),n._readyState="closed",this.emitReserved("error",t),e?e(t):n.maybeReconnectOnOpen()}));if(!1!==this._timeout){const e=this._timeout;0===e&&r();const n=this.setTimeoutFn((()=>{r(),t.close(),t.emit("error",new Error("timeout"))}),e);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}return this.subs.push(r),this.subs.push(s),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(me(e,"ping",this.onping.bind(this)),me(e,"data",this.ondata.bind(this)),me(e,"error",this.onerror.bind(this)),me(e,"close",this.onclose.bind(this)),me(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){Y((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new ge(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return}this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn((()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):e.onreconnect()})))}),t);this.opts.autoUnref&&n.unref(),this.subs.push((function(){clearTimeout(n)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const we={};function Ie(e,t){"object"==typeof e&&(t=e,e=void 0);const n=function(e,t="",n){let r=e;n=n||"undefined"!=typeof location&&location,null==e&&(e=n.protocol+"//"+n.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=void 0!==n?n.protocol+"//"+e:"https://"+e),r=Q(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const s=-1!==r.host.indexOf(":")?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+s+":"+r.port+t,r.href=r.protocol+"://"+s+(n&&n.port===r.port?"":":"+r.port),r}(e,(t=t||{}).path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=we[s]&&o in we[s].nsps;let a;return t.forceNew||t["force new connection"]||!1===t.multiplex||i?a=new Oe(r,t):(we[s]||(we[s]=new Oe(r,t)),a=we[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(Ie,{Manager:Oe,Socket:ge,io:Ie,connect:Ie});var ve=__webpack_require__(835);class Se{constructor(...e){}}class Ae extends Se{constructor(...e){super()}static fromJSON(e){throw new TypeError("Must be implemented in a child class!")}}Ae.TYPE="1000";class Pe extends Ae{constructor(e,t,n){super(),this.type=e,this.socketId=t,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(e){return new Pe(e.type,e.socketId,e.data)}}Pe.DESCRIPTOR_NAME="ChannelMessage",Pe.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}};var Te=__webpack_require__(199);const _e=Te.Reader,ke=Te.Writer,Ce=Te.util,Ee=Te.roots.default||(Te.roots.default={}),je=(Ee.OperationMetadataDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.userId="",e.prototype.type="",e.prototype.createdAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(10).string(e.userId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(18).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.OperationMetadataDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.userId=e.string();break;case 2:r.type=e.string();break;case 3:r.createdAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.userId&&e.hasOwnProperty("userId")&&!Ce.isString(e.userId)?"userId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.OperationMetadataDescriptor)return e;let t=new Ee.OperationMetadataDescriptor;return null!=e.userId&&(t.userId=String(e.userId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.userId="",n.type="",n.createdAt=""),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/OperationMetadataDescriptor"},e})(),Ee.CollaborativeEditingConnectMessage=(()=>{function e(e){if(this.buffers=[],this.types=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.bundleVersion="",e.prototype.buffers=Ce.emptyArray,e.prototype.types=Ce.emptyArray,e.prototype.lastOperationId="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.buffers&&e.buffers.length)for(let n=0;n<e.buffers.length;++n)t.uint32(26).bytes(e.buffers[n]);if(null!=e.types&&e.types.length){t.uint32(34).fork();for(let n=0;n<e.types.length;++n)t.uint32(e.types[n]);t.ldelim()}return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(42).string(e.lastOperationId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CollaborativeEditingConnectMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.bundleVersion=e.string();break;case 3:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(e.bytes());break;case 4:if(r.types&&r.types.length||(r.types=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.types.push(e.uint32())}else r.types.push(e.uint32());break;case 5:r.lastOperationId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id))return"id: string expected";if(null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!Ce.isString(e.bundleVersion))return"bundleVersion: string expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(let t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||Ce.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(let t=0;t<e.types.length;++t)if(!Ce.isInteger(e.types[t]))return"types: integer[] expected"}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!Ce.isString(e.lastOperationId)?"lastOperationId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CollaborativeEditingConnectMessage)return e;let t=new Ee.CollaborativeEditingConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectMessage.buffers: array expected");t.buffers=[];for(let n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?Ce.base64.decode(e.buffers[n],t.buffers[n]=Ce.newBuffer(Ce.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectMessage.types: array expected");t.types=[];for(let n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[]),t.defaults&&(n.id="",n.bundleVersion="",n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),e.buffers&&e.buffers.length){n.buffers=[];for(let r=0;r<e.buffers.length;++r)n.buffers[r]=t.bytes===String?Ce.base64.encode(e.buffers[r],0,e.buffers[r].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[r]):e.buffers[r]}if(e.types&&e.types.length){n.types=[];for(let t=0;t<e.types.length;++t)n.types[t]=e.types[t]}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectMessage"},e})(),Ee.CollaborativeEditingReconnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.bundleVersion="",e.prototype.lastKnowVersion=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(18).string(e.bundleVersion),null!=e.lastKnowVersion&&Object.hasOwnProperty.call(e,"lastKnowVersion")&&t.uint32(24).uint32(e.lastKnowVersion),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CollaborativeEditingReconnectMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.bundleVersion=e.string();break;case 3:r.lastKnowVersion=e.uint32();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!Ce.isString(e.bundleVersion)?"bundleVersion: string expected":null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&!Ce.isInteger(e.lastKnowVersion)?"lastKnowVersion: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.CollaborativeEditingReconnectMessage)return e;let t=new Ee.CollaborativeEditingReconnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),null!=e.lastKnowVersion&&(t.lastKnowVersion=e.lastKnowVersion>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.bundleVersion="",n.lastKnowVersion=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),null!=e.lastKnowVersion&&e.hasOwnProperty("lastKnowVersion")&&(n.lastKnowVersion=e.lastKnowVersion),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingReconnectMessage"},e})(),Ee.CollaborativeEditingUpdateMessage=(()=>{function e(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.baseVersion=0,e.prototype.buffers=Ce.emptyArray,e.prototype.types=Ce.emptyArray,e.prototype.metadata=Ce.emptyArray,e.prototype.lastOperationId="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.baseVersion&&Object.hasOwnProperty.call(e,"baseVersion")&&t.uint32(16).uint32(e.baseVersion),null!=e.buffers&&e.buffers.length)for(let n=0;n<e.buffers.length;++n)t.uint32(26).bytes(e.buffers[n]);if(null!=e.types&&e.types.length){t.uint32(34).fork();for(let n=0;n<e.types.length;++n)t.uint32(e.types[n]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(let n=0;n<e.metadata.length;++n)Ee.OperationMetadataDescriptor.encode(e.metadata[n],t.uint32(50).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(58).string(e.lastOperationId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CollaborativeEditingUpdateMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.baseVersion=e.uint32();break;case 3:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(e.bytes());break;case 4:if(r.types&&r.types.length||(r.types=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.types.push(e.uint32())}else r.types.push(e.uint32());break;case 6:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Ee.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 7:r.lastOperationId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id))return"id: string expected";if(null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&!Ce.isInteger(e.baseVersion))return"baseVersion: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(let t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||Ce.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(let t=0;t<e.types.length;++t)if(!Ce.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(let t=0;t<e.metadata.length;++t){let n=Ee.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!Ce.isString(e.lastOperationId)?"lastOperationId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CollaborativeEditingUpdateMessage)return e;let t=new Ee.CollaborativeEditingUpdateMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.baseVersion&&(t.baseVersion=e.baseVersion>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingUpdateMessage.buffers: array expected");t.buffers=[];for(let n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?Ce.base64.decode(e.buffers[n],t.buffers[n]=Ce.newBuffer(Ce.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingUpdateMessage.types: array expected");t.types=[];for(let n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingUpdateMessage.metadata: array expected");t.metadata=[];for(let n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingUpdateMessage.metadata: object expected");t.metadata[n]=Ee.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.id="",n.baseVersion=0,n.lastOperationId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.baseVersion&&e.hasOwnProperty("baseVersion")&&(n.baseVersion=e.baseVersion),e.buffers&&e.buffers.length){n.buffers=[];for(let r=0;r<e.buffers.length;++r)n.buffers[r]=t.bytes===String?Ce.base64.encode(e.buffers[r],0,e.buffers[r].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[r]):e.buffers[r]}if(e.types&&e.types.length){n.types=[];for(let t=0;t<e.types.length;++t)n.types[t]=e.types[t]}if(e.metadata&&e.metadata.length){n.metadata=[];for(let r=0;r<e.metadata.length;++r)n.metadata[r]=Ee.OperationMetadataDescriptor.toObject(e.metadata[r],t)}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingUpdateMessage"},e})(),Ee.GetDocumentDetailsMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.prototype.environmentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.environmentId&&Object.hasOwnProperty.call(e,"environmentId")&&t.uint32(18).string(e.environmentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetDocumentDetailsMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.documentId=e.string();break;case 2:r.environmentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.environmentId&&e.hasOwnProperty("environmentId")&&!Ce.isString(e.environmentId)?"environmentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.GetDocumentDetailsMessage)return e;let t=new Ee.GetDocumentDetailsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.environmentId&&(t.environmentId=String(e.environmentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId="",n.environmentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.environmentId&&e.hasOwnProperty("environmentId")&&(n.environmentId=e.environmentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsMessage"},e})(),Ee.CollaborativeEditingConnectResponse=(()=>{function e(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.channel="",e.prototype.offset=0,e.prototype.version=0,e.prototype.buffers=Ce.emptyArray,e.prototype.types=Ce.emptyArray,e.prototype.metadata=Ce.emptyArray,e.prototype.initData="",e.prototype.isInitialized=!1,e.prototype.sessionId="",e.prototype.lastOperationId="",e.prototype.sessionCreatedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.offset&&Object.hasOwnProperty.call(e,"offset")&&t.uint32(16).uint32(e.offset),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(24).uint32(e.version),null!=e.buffers&&e.buffers.length)for(let n=0;n<e.buffers.length;++n)t.uint32(34).bytes(e.buffers[n]);if(null!=e.types&&e.types.length){t.uint32(42).fork();for(let n=0;n<e.types.length;++n)t.uint32(e.types[n]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(let n=0;n<e.metadata.length;++n)Ee.OperationMetadataDescriptor.encode(e.metadata[n],t.uint32(58).fork()).ldelim();return null!=e.initData&&Object.hasOwnProperty.call(e,"initData")&&t.uint32(66).string(e.initData),null!=e.isInitialized&&Object.hasOwnProperty.call(e,"isInitialized")&&t.uint32(72).bool(e.isInitialized),null!=e.sessionId&&Object.hasOwnProperty.call(e,"sessionId")&&t.uint32(82).string(e.sessionId),null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(90).string(e.lastOperationId),null!=e.sessionCreatedAt&&Object.hasOwnProperty.call(e,"sessionCreatedAt")&&t.uint32(98).string(e.sessionCreatedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CollaborativeEditingConnectResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.channel=e.string();break;case 2:r.offset=e.uint32();break;case 3:r.version=e.uint32();break;case 4:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(e.bytes());break;case 5:if(r.types&&r.types.length||(r.types=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.types.push(e.uint32())}else r.types.push(e.uint32());break;case 7:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Ee.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 8:r.initData=e.string();break;case 9:r.isInitialized=e.bool();break;case 10:r.sessionId=e.string();break;case 11:r.lastOperationId=e.string();break;case 12:r.sessionCreatedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!Ce.isString(e.channel))return"channel: string expected";if(null!=e.offset&&e.hasOwnProperty("offset")&&!Ce.isInteger(e.offset))return"offset: integer expected";if(null!=e.version&&e.hasOwnProperty("version")&&!Ce.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(let t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||Ce.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(let t=0;t<e.types.length;++t)if(!Ce.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(let t=0;t<e.metadata.length;++t){let n=Ee.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.initData&&e.hasOwnProperty("initData")&&!Ce.isString(e.initData)?"initData: string expected":null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&"boolean"!=typeof e.isInitialized?"isInitialized: boolean expected":null!=e.sessionId&&e.hasOwnProperty("sessionId")&&!Ce.isString(e.sessionId)?"sessionId: string expected":null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!Ce.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&!Ce.isString(e.sessionCreatedAt)?"sessionCreatedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CollaborativeEditingConnectResponse)return e;let t=new Ee.CollaborativeEditingConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.offset&&(t.offset=e.offset>>>0),null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingConnectResponse.buffers: array expected");t.buffers=[];for(let n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?Ce.base64.decode(e.buffers[n],t.buffers[n]=Ce.newBuffer(Ce.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingConnectResponse.types: array expected");t.types=[];for(let n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingConnectResponse.metadata: array expected");t.metadata=[];for(let n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingConnectResponse.metadata: object expected");t.metadata[n]=Ee.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.initData&&(t.initData=String(e.initData)),null!=e.isInitialized&&(t.isInitialized=Boolean(e.isInitialized)),null!=e.sessionId&&(t.sessionId=String(e.sessionId)),null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.sessionCreatedAt&&(t.sessionCreatedAt=String(e.sessionCreatedAt)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.channel="",n.offset=0,n.version=0,n.initData="",n.isInitialized=!1,n.sessionId="",n.lastOperationId="",n.sessionCreatedAt=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.offset&&e.hasOwnProperty("offset")&&(n.offset=e.offset),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(let r=0;r<e.buffers.length;++r)n.buffers[r]=t.bytes===String?Ce.base64.encode(e.buffers[r],0,e.buffers[r].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[r]):e.buffers[r]}if(e.types&&e.types.length){n.types=[];for(let t=0;t<e.types.length;++t)n.types[t]=e.types[t]}if(e.metadata&&e.metadata.length){n.metadata=[];for(let r=0;r<e.metadata.length;++r)n.metadata[r]=Ee.OperationMetadataDescriptor.toObject(e.metadata[r],t)}return null!=e.initData&&e.hasOwnProperty("initData")&&(n.initData=e.initData),null!=e.isInitialized&&e.hasOwnProperty("isInitialized")&&(n.isInitialized=e.isInitialized),null!=e.sessionId&&e.hasOwnProperty("sessionId")&&(n.sessionId=e.sessionId),null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.sessionCreatedAt&&e.hasOwnProperty("sessionCreatedAt")&&(n.sessionCreatedAt=e.sessionCreatedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingConnectResponse"},e})(),Ee.CollaborativeEditingResponse=(()=>{function e(e){if(this.buffers=[],this.types=[],this.metadata=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.version=0,e.prototype.buffers=Ce.emptyArray,e.prototype.types=Ce.emptyArray,e.prototype.metadata=Ce.emptyArray,e.prototype.lastOperationId="",e.prototype.lastOperationAcceptedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.version&&Object.hasOwnProperty.call(e,"version")&&t.uint32(8).uint32(e.version),null!=e.buffers&&e.buffers.length)for(let n=0;n<e.buffers.length;++n)t.uint32(18).bytes(e.buffers[n]);if(null!=e.types&&e.types.length){t.uint32(26).fork();for(let n=0;n<e.types.length;++n)t.uint32(e.types[n]);t.ldelim()}if(null!=e.metadata&&e.metadata.length)for(let n=0;n<e.metadata.length;++n)Ee.OperationMetadataDescriptor.encode(e.metadata[n],t.uint32(42).fork()).ldelim();return null!=e.lastOperationId&&Object.hasOwnProperty.call(e,"lastOperationId")&&t.uint32(50).string(e.lastOperationId),null!=e.lastOperationAcceptedAt&&Object.hasOwnProperty.call(e,"lastOperationAcceptedAt")&&t.uint32(58).string(e.lastOperationAcceptedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CollaborativeEditingResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.version=e.uint32();break;case 2:r.buffers&&r.buffers.length||(r.buffers=[]),r.buffers.push(e.bytes());break;case 3:if(r.types&&r.types.length||(r.types=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.types.push(e.uint32())}else r.types.push(e.uint32());break;case 5:r.metadata&&r.metadata.length||(r.metadata=[]),r.metadata.push(Ee.OperationMetadataDescriptor.decode(e,e.uint32()));break;case 6:r.lastOperationId=e.string();break;case 7:r.lastOperationAcceptedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.version&&e.hasOwnProperty("version")&&!Ce.isInteger(e.version))return"version: integer expected";if(null!=e.buffers&&e.hasOwnProperty("buffers")){if(!Array.isArray(e.buffers))return"buffers: array expected";for(let t=0;t<e.buffers.length;++t)if(!(e.buffers[t]&&"number"==typeof e.buffers[t].length||Ce.isString(e.buffers[t])))return"buffers: buffer[] expected"}if(null!=e.types&&e.hasOwnProperty("types")){if(!Array.isArray(e.types))return"types: array expected";for(let t=0;t<e.types.length;++t)if(!Ce.isInteger(e.types[t]))return"types: integer[] expected"}if(null!=e.metadata&&e.hasOwnProperty("metadata")){if(!Array.isArray(e.metadata))return"metadata: array expected";for(let t=0;t<e.metadata.length;++t){let n=Ee.OperationMetadataDescriptor.verify(e.metadata[t]);if(n)return"metadata."+n}}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&!Ce.isString(e.lastOperationId)?"lastOperationId: string expected":null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&!Ce.isString(e.lastOperationAcceptedAt)?"lastOperationAcceptedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CollaborativeEditingResponse)return e;let t=new Ee.CollaborativeEditingResponse;if(null!=e.version&&(t.version=e.version>>>0),e.buffers){if(!Array.isArray(e.buffers))throw TypeError(".CollaborativeEditingResponse.buffers: array expected");t.buffers=[];for(let n=0;n<e.buffers.length;++n)"string"==typeof e.buffers[n]?Ce.base64.decode(e.buffers[n],t.buffers[n]=Ce.newBuffer(Ce.base64.length(e.buffers[n])),0):e.buffers[n].length>=0&&(t.buffers[n]=e.buffers[n])}if(e.types){if(!Array.isArray(e.types))throw TypeError(".CollaborativeEditingResponse.types: array expected");t.types=[];for(let n=0;n<e.types.length;++n)t.types[n]=e.types[n]>>>0}if(e.metadata){if(!Array.isArray(e.metadata))throw TypeError(".CollaborativeEditingResponse.metadata: array expected");t.metadata=[];for(let n=0;n<e.metadata.length;++n){if("object"!=typeof e.metadata[n])throw TypeError(".CollaborativeEditingResponse.metadata: object expected");t.metadata[n]=Ee.OperationMetadataDescriptor.fromObject(e.metadata[n])}}return null!=e.lastOperationId&&(t.lastOperationId=String(e.lastOperationId)),null!=e.lastOperationAcceptedAt&&(t.lastOperationAcceptedAt=String(e.lastOperationAcceptedAt)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.buffers=[],n.types=[],n.metadata=[]),t.defaults&&(n.version=0,n.lastOperationId="",n.lastOperationAcceptedAt=""),null!=e.version&&e.hasOwnProperty("version")&&(n.version=e.version),e.buffers&&e.buffers.length){n.buffers=[];for(let r=0;r<e.buffers.length;++r)n.buffers[r]=t.bytes===String?Ce.base64.encode(e.buffers[r],0,e.buffers[r].length):t.bytes===Array?Array.prototype.slice.call(e.buffers[r]):e.buffers[r]}if(e.types&&e.types.length){n.types=[];for(let t=0;t<e.types.length;++t)n.types[t]=e.types[t]}if(e.metadata&&e.metadata.length){n.metadata=[];for(let r=0;r<e.metadata.length;++r)n.metadata[r]=Ee.OperationMetadataDescriptor.toObject(e.metadata[r],t)}return null!=e.lastOperationId&&e.hasOwnProperty("lastOperationId")&&(n.lastOperationId=e.lastOperationId),null!=e.lastOperationAcceptedAt&&e.hasOwnProperty("lastOperationAcceptedAt")&&(n.lastOperationAcceptedAt=e.lastOperationAcceptedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CollaborativeEditingResponse"},e})(),Ee.GetDocumentDetailsResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.lastDocumentSessionId="",e.prototype.lastDocumentSessionOperationId="",e.prototype.currentDocumentSessionId="",e.prototype.currentDocumentSessionVersion=0,e.prototype.currentDocumentSessionOperationId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.lastDocumentSessionId&&Object.hasOwnProperty.call(e,"lastDocumentSessionId")&&t.uint32(10).string(e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"lastDocumentSessionOperationId")&&t.uint32(18).string(e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&Object.hasOwnProperty.call(e,"currentDocumentSessionId")&&t.uint32(26).string(e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&Object.hasOwnProperty.call(e,"currentDocumentSessionVersion")&&t.uint32(32).uint32(e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&Object.hasOwnProperty.call(e,"currentDocumentSessionOperationId")&&t.uint32(42).string(e.currentDocumentSessionOperationId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetDocumentDetailsResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.lastDocumentSessionId=e.string();break;case 2:r.lastDocumentSessionOperationId=e.string();break;case 3:r.currentDocumentSessionId=e.string();break;case 4:r.currentDocumentSessionVersion=e.uint32();break;case 5:r.currentDocumentSessionOperationId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&!Ce.isString(e.lastDocumentSessionId)?"lastDocumentSessionId: string expected":null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&!Ce.isString(e.lastDocumentSessionOperationId)?"lastDocumentSessionOperationId: string expected":null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&!Ce.isString(e.currentDocumentSessionId)?"currentDocumentSessionId: string expected":null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&!Ce.isInteger(e.currentDocumentSessionVersion)?"currentDocumentSessionVersion: integer expected":null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&!Ce.isString(e.currentDocumentSessionOperationId)?"currentDocumentSessionOperationId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.GetDocumentDetailsResponse)return e;let t=new Ee.GetDocumentDetailsResponse;return null!=e.lastDocumentSessionId&&(t.lastDocumentSessionId=String(e.lastDocumentSessionId)),null!=e.lastDocumentSessionOperationId&&(t.lastDocumentSessionOperationId=String(e.lastDocumentSessionOperationId)),null!=e.currentDocumentSessionId&&(t.currentDocumentSessionId=String(e.currentDocumentSessionId)),null!=e.currentDocumentSessionVersion&&(t.currentDocumentSessionVersion=e.currentDocumentSessionVersion>>>0),null!=e.currentDocumentSessionOperationId&&(t.currentDocumentSessionOperationId=String(e.currentDocumentSessionOperationId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.lastDocumentSessionId="",n.lastDocumentSessionOperationId="",n.currentDocumentSessionId="",n.currentDocumentSessionVersion=0,n.currentDocumentSessionOperationId=""),null!=e.lastDocumentSessionId&&e.hasOwnProperty("lastDocumentSessionId")&&(n.lastDocumentSessionId=e.lastDocumentSessionId),null!=e.lastDocumentSessionOperationId&&e.hasOwnProperty("lastDocumentSessionOperationId")&&(n.lastDocumentSessionOperationId=e.lastDocumentSessionOperationId),null!=e.currentDocumentSessionId&&e.hasOwnProperty("currentDocumentSessionId")&&(n.currentDocumentSessionId=e.currentDocumentSessionId),null!=e.currentDocumentSessionVersion&&e.hasOwnProperty("currentDocumentSessionVersion")&&(n.currentDocumentSessionVersion=e.currentDocumentSessionVersion),null!=e.currentDocumentSessionOperationId&&e.hasOwnProperty("currentDocumentSessionOperationId")&&(n.currentDocumentSessionOperationId=e.currentDocumentSessionOperationId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetDocumentDetailsResponse"},e})(),Ee.CommentDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentId="",e.prototype.commentThreadId="",e.prototype.userId="",e.prototype.content="",e.prototype.documentId="",e.prototype.createdAt="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(26).string(e.userId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(34).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(42).string(e.documentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentId=e.string();break;case 2:r.commentThreadId=e.string();break;case 3:r.userId=e.string();break;case 4:r.content=e.string();break;case 5:r.documentId=e.string();break;case 6:r.createdAt=e.string();break;case 7:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId)?"commentId: string expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.userId&&e.hasOwnProperty("userId")&&!Ce.isString(e.userId)?"userId: string expected":null!=e.content&&e.hasOwnProperty("content")&&!Ce.isString(e.content)?"content: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentDescriptor)return e;let t=new Ee.CommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentId="",n.commentThreadId="",n.userId="",n.content="",n.documentId="",n.createdAt="",n.attributes=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentDescriptor"},e})(),Ee.CommentsThreadDescriptor=(()=>{function e(e){if(this.comments=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.comments=Ce.emptyArray,e.prototype.resolvedAt="",e.prototype.resolvedBy="",e.prototype.context="",e.prototype.createdAt="",e.prototype.deletedAt="",e.prototype.attributes="",e.prototype.unlinkedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(let n=0;n<e.comments.length;++n)Ee.CommentDescriptor.encode(e.comments[n],t.uint32(18).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(42).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(58).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&t.uint32(74).string(e.unlinkedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsThreadDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Ee.CommentDescriptor.decode(e,e.uint32()));break;case 3:r.resolvedAt=e.string();break;case 4:r.resolvedBy=e.string();break;case 5:r.context=e.string();break;case 6:r.createdAt=e.string();break;case 7:r.deletedAt=e.string();break;case 8:r.attributes=e.string();break;case 9:r.unlinkedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(let t=0;t<e.comments.length;++t){let n=Ee.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!Ce.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!Ce.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!Ce.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!Ce.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!Ce.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsThreadDescriptor)return e;let t=new Ee.CommentsThreadDescriptor;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsThreadDescriptor.comments: array expected");t.comments=[];for(let n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsThreadDescriptor.comments: object expected");t.comments[n]=Ee.CommentDescriptor.fromObject(e.comments[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(let r=0;r<e.comments.length;++r)n.comments[r]=Ee.CommentDescriptor.toObject(e.comments[r],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsThreadDescriptor"},e})(),Ee.CommentThreadAddedCommentDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentId="",e.prototype.createdAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(10).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentThreadAddedCommentDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentId=e.string();break;case 2:r.createdAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentThreadAddedCommentDescriptor)return e;let t=new Ee.CommentThreadAddedCommentDescriptor;return null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentId="",n.createdAt=""),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentThreadAddedCommentDescriptor"},e})(),Ee.CommentsV2AddCommentMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.content="",e.prototype.documentId="",e.prototype.commentId="",e.prototype.createdAt="",e.prototype.userId="",e.prototype.attributes="",e.prototype.commentThread=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(18).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(34).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(42).string(e.createdAt),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(50).string(e.userId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&Ee.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(66).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2AddCommentMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.content=e.string();break;case 3:r.documentId=e.string();break;case 4:r.commentId=e.string();break;case 5:r.createdAt=e.string();break;case 6:r.userId=e.string();break;case 7:r.attributes=e.string();break;case 8:r.commentThread=Ee.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!Ce.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId))return"documentId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId))return"commentId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt))return"createdAt: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!Ce.isString(e.userId))return"userId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes))return"attributes: string expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){let t=Ee.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2AddCommentMessage)return e;let t=new Ee.CommentsV2AddCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2AddCommentMessage.commentThread: object expected");t.commentThread=Ee.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.content="",n.documentId="",n.commentId="",n.createdAt="",n.userId="",n.attributes="",n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=Ee.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentMessage"},e})(),Ee.CommentsV2AddCommentThreadMessage=(()=>{function e(e){if(this.comments=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.prototype.commentThreadId="",e.prototype.context="",e.prototype.createdAt="",e.prototype.resolvedAt="",e.prototype.resolvedBy="",e.prototype.attributes="",e.prototype.deletedAt="",e.prototype.comments=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(18).string(e.commentThreadId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(42).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(50).string(e.resolvedBy),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.comments&&e.comments.length)for(let n=0;n<e.comments.length;++n)Ee.CommentDescriptor.encode(e.comments[n],t.uint32(74).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2AddCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.documentId=e.string();break;case 2:r.commentThreadId=e.string();break;case 3:r.context=e.string();break;case 4:r.createdAt=e.string();break;case 5:r.resolvedAt=e.string();break;case 6:r.resolvedBy=e.string();break;case 7:r.attributes=e.string();break;case 8:r.deletedAt=e.string();break;case 9:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Ee.CommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId))return"documentId: string expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.context&&e.hasOwnProperty("context")&&!Ce.isString(e.context))return"context: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt))return"createdAt: string expected";if(null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!Ce.isString(e.resolvedAt))return"resolvedAt: string expected";if(null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!Ce.isString(e.resolvedBy))return"resolvedBy: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes))return"attributes: string expected";if(null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!Ce.isString(e.deletedAt))return"deletedAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(let t=0;t<e.comments.length;++t){let n=Ee.CommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2AddCommentThreadMessage)return e;let t=new Ee.CommentsV2AddCommentThreadMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadMessage.comments: array expected");t.comments=[];for(let n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadMessage.comments: object expected");t.comments[n]=Ee.CommentDescriptor.fromObject(e.comments[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.documentId="",n.commentThreadId="",n.context="",n.createdAt="",n.resolvedAt="",n.resolvedBy="",n.attributes="",n.deletedAt=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),e.comments&&e.comments.length){n.comments=[];for(let r=0;r<e.comments.length;++r)n.comments[r]=Ee.CommentDescriptor.toObject(e.comments[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadMessage"},e})(),Ee.CommentsV2ReopenCommentThreadMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2ReopenCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2ReopenCommentThreadMessage)return e;let t=new Ee.CommentsV2ReopenCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ReopenCommentThreadMessage"},e})(),Ee.CommentsV2ResolveCommentThreadMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.prototype.resolvedBy="",e.prototype.resolvedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(26).string(e.resolvedBy),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2ResolveCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;case 3:r.resolvedBy=e.string();break;case 4:r.resolvedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!Ce.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!Ce.isString(e.resolvedAt)?"resolvedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2ResolveCommentThreadMessage)return e;let t=new Ee.CommentsV2ResolveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedBy="",n.resolvedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadMessage"},e})(),Ee.CommentsV2UpdateCommentThreadMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.prototype.context="",e.prototype.attributes="",e.prototype.unlinkedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(26).string(e.context),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(34).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&t.uint32(42).string(e.unlinkedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2UpdateCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;case 3:r.context=e.string();break;case 4:r.attributes=e.string();break;case 5:r.unlinkedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.context&&e.hasOwnProperty("context")&&!Ce.isString(e.context)?"context: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!Ce.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2UpdateCommentThreadMessage)return e;let t=new Ee.CommentsV2UpdateCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.context&&(t.context=String(e.context)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.context="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentThreadMessage"},e})(),Ee.CommentsV2ConnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2ConnectMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.documentId=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2ConnectMessage)return e;let t=new Ee.CommentsV2ConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectMessage"},e})(),Ee.CommentsV2GetCommentThreadMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2GetCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2GetCommentThreadMessage)return e;let t=new Ee.CommentsV2GetCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadMessage"},e})(),Ee.CommentsV2GetDocumentThreadsMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2GetDocumentThreadsMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.documentId=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2GetDocumentThreadsMessage)return e;let t=new Ee.CommentsV2GetDocumentThreadsMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsMessage"},e})(),Ee.CommentsV2RemoveCommentMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.commentId="",e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(26).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2RemoveCommentMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.commentId=e.string();break;case 3:r.documentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId)?"commentId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2RemoveCommentMessage)return e;let t=new Ee.CommentsV2RemoveCommentMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentMessage"},e})(),Ee.CommentsV2RemoveCommentThreadMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2RemoveCommentThreadMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2RemoveCommentThreadMessage)return e;let t=new Ee.CommentsV2RemoveCommentThreadMessage;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2RemoveCommentThreadMessage"},e})(),Ee.CommentsV2UpdateCommentMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.commentId="",e.prototype.content="",e.prototype.documentId="",e.prototype.attributes="",e.prototype.isAttributesUpdated=!1,e.prototype.commentThread=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.content&&Object.hasOwnProperty.call(e,"content")&&t.uint32(26).string(e.content),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(34).string(e.documentId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(42).string(e.attributes),null!=e.isAttributesUpdated&&Object.hasOwnProperty.call(e,"isAttributesUpdated")&&t.uint32(48).bool(e.isAttributesUpdated),null!=e.commentThread&&Object.hasOwnProperty.call(e,"commentThread")&&Ee.CommentsThreadDescriptor.encode(e.commentThread,t.uint32(58).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2UpdateCommentMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.commentId=e.string();break;case 3:r.content=e.string();break;case 4:r.documentId=e.string();break;case 5:r.attributes=e.string();break;case 6:r.isAttributesUpdated=e.bool();break;case 7:r.commentThread=Ee.CommentsThreadDescriptor.decode(e,e.uint32());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId))return"commentId: string expected";if(null!=e.content&&e.hasOwnProperty("content")&&!Ce.isString(e.content))return"content: string expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId))return"documentId: string expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes))return"attributes: string expected";if(null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&"boolean"!=typeof e.isAttributesUpdated)return"isAttributesUpdated: boolean expected";if(null!=e.commentThread&&e.hasOwnProperty("commentThread")){let t=Ee.CommentsThreadDescriptor.verify(e.commentThread);if(t)return"commentThread."+t}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2UpdateCommentMessage)return e;let t=new Ee.CommentsV2UpdateCommentMessage;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.content&&(t.content=String(e.content)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.isAttributesUpdated&&(t.isAttributesUpdated=Boolean(e.isAttributesUpdated)),null!=e.commentThread){if("object"!=typeof e.commentThread)throw TypeError(".CommentsV2UpdateCommentMessage.commentThread: object expected");t.commentThread=Ee.CommentsThreadDescriptor.fromObject(e.commentThread)}return t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.content="",n.documentId="",n.attributes="",n.isAttributesUpdated=!1,n.commentThread=null),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.content&&e.hasOwnProperty("content")&&(n.content=e.content),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.isAttributesUpdated&&e.hasOwnProperty("isAttributesUpdated")&&(n.isAttributesUpdated=e.isAttributesUpdated),null!=e.commentThread&&e.hasOwnProperty("commentThread")&&(n.commentThread=Ee.CommentsThreadDescriptor.toObject(e.commentThread,t)),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2UpdateCommentMessage"},e})(),Ee.CommentsV2AddCommentResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.commentId="",e.prototype.createdAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.commentId&&Object.hasOwnProperty.call(e,"commentId")&&t.uint32(18).string(e.commentId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(26).string(e.createdAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2AddCommentResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.commentId=e.string();break;case 3:r.createdAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.commentId&&e.hasOwnProperty("commentId")&&!Ce.isString(e.commentId)?"commentId: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2AddCommentResponse)return e;let t=new Ee.CommentsV2AddCommentResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.commentId&&(t.commentId=String(e.commentId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.commentId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.commentId&&e.hasOwnProperty("commentId")&&(n.commentId=e.commentId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentResponse"},e})(),Ee.CommentsV2AddCommentThreadResponse=(()=>{function e(e){if(this.comments=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.createdAt="",e.prototype.comments=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(18).string(e.createdAt),null!=e.comments&&e.comments.length)for(let n=0;n<e.comments.length;++n)Ee.CommentThreadAddedCommentDescriptor.encode(e.comments[n],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2AddCommentThreadResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.createdAt=e.string();break;case 3:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(Ee.CommentThreadAddedCommentDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt))return"createdAt: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(let t=0;t<e.comments.length;++t){let n=Ee.CommentThreadAddedCommentDescriptor.verify(e.comments[t]);if(n)return"comments."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2AddCommentThreadResponse)return e;let t=new Ee.CommentsV2AddCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2AddCommentThreadResponse.comments: array expected");t.comments=[];for(let n=0;n<e.comments.length;++n){if("object"!=typeof e.comments[n])throw TypeError(".CommentsV2AddCommentThreadResponse.comments: object expected");t.comments[n]=Ee.CommentThreadAddedCommentDescriptor.fromObject(e.comments[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.comments=[]),t.defaults&&(n.commentThreadId="",n.createdAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),e.comments&&e.comments.length){n.comments=[];for(let r=0;r<e.comments.length;++r)n.comments[r]=Ee.CommentThreadAddedCommentDescriptor.toObject(e.comments[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2AddCommentThreadResponse"},e})(),Ee.CommentsV2ResolveCommentThreadResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.documentId="",e.prototype.resolvedAt="",e.prototype.resolvedBy="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(26).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(34).string(e.resolvedBy),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2ResolveCommentThreadResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.documentId=e.string();break;case 3:r.resolvedAt=e.string();break;case 4:r.resolvedBy=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId)?"commentThreadId: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!Ce.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!Ce.isString(e.resolvedBy)?"resolvedBy: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2ResolveCommentThreadResponse)return e;let t=new Ee.CommentsV2ResolveCommentThreadResponse;return null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.commentThreadId="",n.documentId="",n.resolvedAt="",n.resolvedBy=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ResolveCommentThreadResponse"},e})(),Ee.CommentsV2ConnectResponse=(()=>{function e(e){if(this.threads=[],this.threadsV2=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.channel="",e.prototype.threads=Ce.emptyArray,e.prototype.threadsV2=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.threads&&e.threads.length)for(let n=0;n<e.threads.length;++n)t.uint32(18).string(e.threads[n]);if(null!=e.threadsV2&&e.threadsV2.length)for(let n=0;n<e.threadsV2.length;++n)Ee.CommentsThreadDescriptor.encode(e.threadsV2[n],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2ConnectResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.channel=e.string();break;case 2:r.threads&&r.threads.length||(r.threads=[]),r.threads.push(e.string());break;case 3:r.threadsV2&&r.threadsV2.length||(r.threadsV2=[]),r.threadsV2.push(Ee.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!Ce.isString(e.channel))return"channel: string expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(let t=0;t<e.threads.length;++t)if(!Ce.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(let t=0;t<e.threadsV2.length;++t){let n=Ee.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2ConnectResponse)return e;let t=new Ee.CommentsV2ConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2ConnectResponse.threads: array expected");t.threads=[];for(let n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2ConnectResponse.threadsV2: array expected");t.threadsV2=[];for(let n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2ConnectResponse.threadsV2: object expected");t.threadsV2[n]=Ee.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.threads&&e.threads.length){n.threads=[];for(let t=0;t<e.threads.length;++t)n.threads[t]=e.threads[t]}if(e.threadsV2&&e.threadsV2.length){n.threadsV2=[];for(let r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=Ee.CommentsThreadDescriptor.toObject(e.threadsV2[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2ConnectResponse"},e})(),Ee.CommentsV2GetCommentThreadResponse=(()=>{function e(e){if(this.comments=[],this.commentsV2=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.commentThreadId="",e.prototype.comments=Ce.emptyArray,e.prototype.commentsV2=Ce.emptyArray,e.prototype.resolvedAt="",e.prototype.resolvedBy="",e.prototype.context="",e.prototype.createdAt="",e.prototype.deletedAt="",e.prototype.attributes="",e.prototype.unlinkedAt="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.commentThreadId&&Object.hasOwnProperty.call(e,"commentThreadId")&&t.uint32(10).string(e.commentThreadId),null!=e.comments&&e.comments.length)for(let n=0;n<e.comments.length;++n)t.uint32(18).string(e.comments[n]);if(null!=e.commentsV2&&e.commentsV2.length)for(let n=0;n<e.commentsV2.length;++n)Ee.CommentDescriptor.encode(e.commentsV2[n],t.uint32(26).fork()).ldelim();return null!=e.resolvedAt&&Object.hasOwnProperty.call(e,"resolvedAt")&&t.uint32(34).string(e.resolvedAt),null!=e.resolvedBy&&Object.hasOwnProperty.call(e,"resolvedBy")&&t.uint32(42).string(e.resolvedBy),null!=e.context&&Object.hasOwnProperty.call(e,"context")&&t.uint32(50).string(e.context),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(58).string(e.createdAt),null!=e.deletedAt&&Object.hasOwnProperty.call(e,"deletedAt")&&t.uint32(66).string(e.deletedAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(74).string(e.attributes),null!=e.unlinkedAt&&Object.hasOwnProperty.call(e,"unlinkedAt")&&t.uint32(82).string(e.unlinkedAt),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2GetCommentThreadResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.commentThreadId=e.string();break;case 2:r.comments&&r.comments.length||(r.comments=[]),r.comments.push(e.string());break;case 3:r.commentsV2&&r.commentsV2.length||(r.commentsV2=[]),r.commentsV2.push(Ee.CommentDescriptor.decode(e,e.uint32()));break;case 4:r.resolvedAt=e.string();break;case 5:r.resolvedBy=e.string();break;case 6:r.context=e.string();break;case 7:r.createdAt=e.string();break;case 8:r.deletedAt=e.string();break;case 9:r.attributes=e.string();break;case 10:r.unlinkedAt=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&!Ce.isString(e.commentThreadId))return"commentThreadId: string expected";if(null!=e.comments&&e.hasOwnProperty("comments")){if(!Array.isArray(e.comments))return"comments: array expected";for(let t=0;t<e.comments.length;++t)if(!Ce.isString(e.comments[t]))return"comments: string[] expected"}if(null!=e.commentsV2&&e.hasOwnProperty("commentsV2")){if(!Array.isArray(e.commentsV2))return"commentsV2: array expected";for(let t=0;t<e.commentsV2.length;++t){let n=Ee.CommentDescriptor.verify(e.commentsV2[t]);if(n)return"commentsV2."+n}}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&!Ce.isString(e.resolvedAt)?"resolvedAt: string expected":null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&!Ce.isString(e.resolvedBy)?"resolvedBy: string expected":null!=e.context&&e.hasOwnProperty("context")&&!Ce.isString(e.context)?"context: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&!Ce.isString(e.deletedAt)?"deletedAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&!Ce.isString(e.unlinkedAt)?"unlinkedAt: string expected":null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2GetCommentThreadResponse)return e;let t=new Ee.CommentsV2GetCommentThreadResponse;if(null!=e.commentThreadId&&(t.commentThreadId=String(e.commentThreadId)),e.comments){if(!Array.isArray(e.comments))throw TypeError(".CommentsV2GetCommentThreadResponse.comments: array expected");t.comments=[];for(let n=0;n<e.comments.length;++n)t.comments[n]=String(e.comments[n])}if(e.commentsV2){if(!Array.isArray(e.commentsV2))throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: array expected");t.commentsV2=[];for(let n=0;n<e.commentsV2.length;++n){if("object"!=typeof e.commentsV2[n])throw TypeError(".CommentsV2GetCommentThreadResponse.commentsV2: object expected");t.commentsV2[n]=Ee.CommentDescriptor.fromObject(e.commentsV2[n])}}return null!=e.resolvedAt&&(t.resolvedAt=String(e.resolvedAt)),null!=e.resolvedBy&&(t.resolvedBy=String(e.resolvedBy)),null!=e.context&&(t.context=String(e.context)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.deletedAt&&(t.deletedAt=String(e.deletedAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.unlinkedAt&&(t.unlinkedAt=String(e.unlinkedAt)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.comments=[],n.commentsV2=[]),t.defaults&&(n.commentThreadId="",n.resolvedAt="",n.resolvedBy="",n.context="",n.createdAt="",n.deletedAt="",n.attributes="",n.unlinkedAt=""),null!=e.commentThreadId&&e.hasOwnProperty("commentThreadId")&&(n.commentThreadId=e.commentThreadId),e.comments&&e.comments.length){n.comments=[];for(let t=0;t<e.comments.length;++t)n.comments[t]=e.comments[t]}if(e.commentsV2&&e.commentsV2.length){n.commentsV2=[];for(let r=0;r<e.commentsV2.length;++r)n.commentsV2[r]=Ee.CommentDescriptor.toObject(e.commentsV2[r],t)}return null!=e.resolvedAt&&e.hasOwnProperty("resolvedAt")&&(n.resolvedAt=e.resolvedAt),null!=e.resolvedBy&&e.hasOwnProperty("resolvedBy")&&(n.resolvedBy=e.resolvedBy),null!=e.context&&e.hasOwnProperty("context")&&(n.context=e.context),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.deletedAt&&e.hasOwnProperty("deletedAt")&&(n.deletedAt=e.deletedAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.unlinkedAt&&e.hasOwnProperty("unlinkedAt")&&(n.unlinkedAt=e.unlinkedAt),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetCommentThreadResponse"},e})(),Ee.CommentsV2GetDocumentThreadsResponse=(()=>{function e(e){if(this.threads=[],this.threadsV2=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.threads=Ce.emptyArray,e.prototype.threadsV2=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.threads&&e.threads.length)for(let n=0;n<e.threads.length;++n)t.uint32(10).string(e.threads[n]);if(null!=e.threadsV2&&e.threadsV2.length)for(let n=0;n<e.threadsV2.length;++n)Ee.CommentsThreadDescriptor.encode(e.threadsV2[n],t.uint32(18).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.CommentsV2GetDocumentThreadsResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.threads&&r.threads.length||(r.threads=[]),r.threads.push(e.string());break;case 2:r.threadsV2&&r.threadsV2.length||(r.threadsV2=[]),r.threadsV2.push(Ee.CommentsThreadDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.threads&&e.hasOwnProperty("threads")){if(!Array.isArray(e.threads))return"threads: array expected";for(let t=0;t<e.threads.length;++t)if(!Ce.isString(e.threads[t]))return"threads: string[] expected"}if(null!=e.threadsV2&&e.hasOwnProperty("threadsV2")){if(!Array.isArray(e.threadsV2))return"threadsV2: array expected";for(let t=0;t<e.threadsV2.length;++t){let n=Ee.CommentsThreadDescriptor.verify(e.threadsV2[t]);if(n)return"threadsV2."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.CommentsV2GetDocumentThreadsResponse)return e;let t=new Ee.CommentsV2GetDocumentThreadsResponse;if(e.threads){if(!Array.isArray(e.threads))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threads: array expected");t.threads=[];for(let n=0;n<e.threads.length;++n)t.threads[n]=String(e.threads[n])}if(e.threadsV2){if(!Array.isArray(e.threadsV2))throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: array expected");t.threadsV2=[];for(let n=0;n<e.threadsV2.length;++n){if("object"!=typeof e.threadsV2[n])throw TypeError(".CommentsV2GetDocumentThreadsResponse.threadsV2: object expected");t.threadsV2[n]=Ee.CommentsThreadDescriptor.fromObject(e.threadsV2[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.threads=[],n.threadsV2=[]),e.threads&&e.threads.length){n.threads=[];for(let t=0;t<e.threads.length;++t)n.threads[t]=e.threads[t]}if(e.threadsV2&&e.threadsV2.length){n.threadsV2=[];for(let r=0;r<e.threadsV2.length;++r)n.threadsV2[r]=Ee.CommentsThreadDescriptor.toObject(e.threadsV2[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/CommentsV2GetDocumentThreadsResponse"},e})(),Ee.KeyValueDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.key="",e.prototype.value="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(10).string(e.key),null!=e.value&&Object.hasOwnProperty.call(e,"value")&&t.uint32(18).string(e.value),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.KeyValueDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.key=e.string();break;case 2:r.value=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.key&&e.hasOwnProperty("key")&&!Ce.isString(e.key)?"key: string expected":null!=e.value&&e.hasOwnProperty("value")&&!Ce.isString(e.value)?"value: string expected":null},e.fromObject=function(e){if(e instanceof Ee.KeyValueDescriptor)return e;let t=new Ee.KeyValueDescriptor;return null!=e.key&&(t.key=String(e.key)),null!=e.value&&(t.value=String(e.value)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.key="",n.value=""),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.value&&e.hasOwnProperty("value")&&(n.value=e.value),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/KeyValueDescriptor"},e})(),Ee.IsEditorBundleUploadedMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.bundleVersion="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.bundleVersion&&Object.hasOwnProperty.call(e,"bundleVersion")&&t.uint32(10).string(e.bundleVersion),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.IsEditorBundleUploadedMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.bundleVersion=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&!Ce.isString(e.bundleVersion)?"bundleVersion: string expected":null},e.fromObject=function(e){if(e instanceof Ee.IsEditorBundleUploadedMessage)return e;let t=new Ee.IsEditorBundleUploadedMessage;return null!=e.bundleVersion&&(t.bundleVersion=String(e.bundleVersion)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.bundleVersion=""),null!=e.bundleVersion&&e.hasOwnProperty("bundleVersion")&&(n.bundleVersion=e.bundleVersion),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedMessage"},e})(),Ee.IsEditorBundleUploadedResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.isUploaded=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.isUploaded&&Object.hasOwnProperty.call(e,"isUploaded")&&t.uint32(8).bool(e.isUploaded),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.IsEditorBundleUploadedResponse;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.isUploaded=e.bool():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&"boolean"!=typeof e.isUploaded?"isUploaded: boolean expected":null},e.fromObject=function(e){if(e instanceof Ee.IsEditorBundleUploadedResponse)return e;let t=new Ee.IsEditorBundleUploadedResponse;return null!=e.isUploaded&&(t.isUploaded=Boolean(e.isUploaded)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.isUploaded=!1),null!=e.isUploaded&&e.hasOwnProperty("isUploaded")&&(n.isUploaded=e.isUploaded),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/IsEditorBundleUploadedResponse"},e})(),Ee.RevisionDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.revisionId="",e.prototype.name="",e.prototype.creatorId="",e.prototype.authorsIds="",e.prototype.diffData="",e.prototype.createdAt="",e.prototype.attributes="",e.prototype.toVersion=0,e.prototype.fromVersion=0,e.prototype.isEmptyCurrent=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.revisionId=e.string();break;case 2:r.name=e.string();break;case 3:r.creatorId=e.string();break;case 4:r.authorsIds=e.string();break;case 5:r.diffData=e.string();break;case 6:r.createdAt=e.string();break;case 7:r.attributes=e.string();break;case 8:r.toVersion=e.uint32();break;case 9:r.fromVersion=e.uint32();break;case 10:r.isEmptyCurrent=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!Ce.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!Ce.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!Ce.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!Ce.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!Ce.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!Ce.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!Ce.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionDescriptor)return e;let t=new Ee.RevisionDescriptor;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionDescriptor"},e})(),Ee.RevisionHistoryConnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryConnectMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.documentId=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryConnectMessage)return e;let t=new Ee.RevisionHistoryConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectMessage"},e})(),Ee.RevisionHistoryGetRevisionMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.prototype.revisionId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(18).string(e.revisionId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryGetRevisionMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.documentId=e.string();break;case 2:r.revisionId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!Ce.isString(e.revisionId)?"revisionId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryGetRevisionMessage)return e;let t=new Ee.RevisionHistoryGetRevisionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.revisionId&&(t.revisionId=String(e.revisionId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId="",n.revisionId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionMessage"},e})(),Ee.RevisionHistoryReconnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.prototype.requestId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryReconnectMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.documentId=e.string();break;case 2:r.requestId=e.uint32();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!Ce.isInteger(e.requestId)?"requestId: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryReconnectMessage)return e;let t=new Ee.RevisionHistoryReconnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryReconnectMessage"},e})(),Ee.RevisionHistoryUpdateRevisionsMessage=(()=>{function e(e){if(this.revisions=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.prototype.requestId=0,e.prototype.revisions=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(let n=0;n<e.revisions.length;++n)Ee.RevisionDescriptor.encode(e.revisions[n],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryUpdateRevisionsMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.documentId=e.string();break;case 2:r.requestId=e.uint32();break;case 3:r.revisions&&r.revisions.length||(r.revisions=[]),r.revisions.push(Ee.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId))return"documentId: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!Ce.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(let t=0;t<e.revisions.length;++t){let n=Ee.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryUpdateRevisionsMessage)return e;let t=new Ee.RevisionHistoryUpdateRevisionsMessage;if(null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: array expected");t.revisions=[];for(let n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryUpdateRevisionsMessage.revisions: object expected");t.revisions[n]=Ee.RevisionDescriptor.fromObject(e.revisions[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.documentId="",n.requestId=0),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(let r=0;r<e.revisions.length;++r)n.revisions[r]=Ee.RevisionDescriptor.toObject(e.revisions[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsMessage"},e})(),Ee.RevisionHistoryConnectResponse=(()=>{function e(e){if(this.revisions=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.channel="",e.prototype.requestId=0,e.prototype.revisions=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(16).uint32(e.requestId),null!=e.revisions&&e.revisions.length)for(let n=0;n<e.revisions.length;++n)Ee.RevisionDescriptor.encode(e.revisions[n],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryConnectResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.channel=e.string();break;case 2:r.requestId=e.uint32();break;case 3:r.revisions&&r.revisions.length||(r.revisions=[]),r.revisions.push(Ee.RevisionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!Ce.isString(e.channel))return"channel: string expected";if(null!=e.requestId&&e.hasOwnProperty("requestId")&&!Ce.isInteger(e.requestId))return"requestId: integer expected";if(null!=e.revisions&&e.hasOwnProperty("revisions")){if(!Array.isArray(e.revisions))return"revisions: array expected";for(let t=0;t<e.revisions.length;++t){let n=Ee.RevisionDescriptor.verify(e.revisions[t]);if(n)return"revisions."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryConnectResponse)return e;let t=new Ee.RevisionHistoryConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),null!=e.requestId&&(t.requestId=e.requestId>>>0),e.revisions){if(!Array.isArray(e.revisions))throw TypeError(".RevisionHistoryConnectResponse.revisions: array expected");t.revisions=[];for(let n=0;n<e.revisions.length;++n){if("object"!=typeof e.revisions[n])throw TypeError(".RevisionHistoryConnectResponse.revisions: object expected");t.revisions[n]=Ee.RevisionDescriptor.fromObject(e.revisions[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.revisions=[]),t.defaults&&(n.channel="",n.requestId=0),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),e.revisions&&e.revisions.length){n.revisions=[];for(let r=0;r<e.revisions.length;++r)n.revisions[r]=Ee.RevisionDescriptor.toObject(e.revisions[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryConnectResponse"},e})(),Ee.RevisionHistoryGetRevisionResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.revisionId="",e.prototype.name="",e.prototype.creatorId="",e.prototype.authorsIds="",e.prototype.diffData="",e.prototype.createdAt="",e.prototype.attributes="",e.prototype.toVersion=0,e.prototype.fromVersion=0,e.prototype.isEmptyCurrent=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.revisionId&&Object.hasOwnProperty.call(e,"revisionId")&&t.uint32(10).string(e.revisionId),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(18).string(e.name),null!=e.creatorId&&Object.hasOwnProperty.call(e,"creatorId")&&t.uint32(26).string(e.creatorId),null!=e.authorsIds&&Object.hasOwnProperty.call(e,"authorsIds")&&t.uint32(34).string(e.authorsIds),null!=e.diffData&&Object.hasOwnProperty.call(e,"diffData")&&t.uint32(42).string(e.diffData),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(50).string(e.createdAt),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(58).string(e.attributes),null!=e.toVersion&&Object.hasOwnProperty.call(e,"toVersion")&&t.uint32(64).uint32(e.toVersion),null!=e.fromVersion&&Object.hasOwnProperty.call(e,"fromVersion")&&t.uint32(72).uint32(e.fromVersion),null!=e.isEmptyCurrent&&Object.hasOwnProperty.call(e,"isEmptyCurrent")&&t.uint32(80).bool(e.isEmptyCurrent),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryGetRevisionResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.revisionId=e.string();break;case 2:r.name=e.string();break;case 3:r.creatorId=e.string();break;case 4:r.authorsIds=e.string();break;case 5:r.diffData=e.string();break;case 6:r.createdAt=e.string();break;case 7:r.attributes=e.string();break;case 8:r.toVersion=e.uint32();break;case 9:r.fromVersion=e.uint32();break;case 10:r.isEmptyCurrent=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.revisionId&&e.hasOwnProperty("revisionId")&&!Ce.isString(e.revisionId)?"revisionId: string expected":null!=e.name&&e.hasOwnProperty("name")&&!Ce.isString(e.name)?"name: string expected":null!=e.creatorId&&e.hasOwnProperty("creatorId")&&!Ce.isString(e.creatorId)?"creatorId: string expected":null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&!Ce.isString(e.authorsIds)?"authorsIds: string expected":null!=e.diffData&&e.hasOwnProperty("diffData")&&!Ce.isString(e.diffData)?"diffData: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null!=e.toVersion&&e.hasOwnProperty("toVersion")&&!Ce.isInteger(e.toVersion)?"toVersion: integer expected":null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&!Ce.isInteger(e.fromVersion)?"fromVersion: integer expected":null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&"boolean"!=typeof e.isEmptyCurrent?"isEmptyCurrent: boolean expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryGetRevisionResponse)return e;let t=new Ee.RevisionHistoryGetRevisionResponse;return null!=e.revisionId&&(t.revisionId=String(e.revisionId)),null!=e.name&&(t.name=String(e.name)),null!=e.creatorId&&(t.creatorId=String(e.creatorId)),null!=e.authorsIds&&(t.authorsIds=String(e.authorsIds)),null!=e.diffData&&(t.diffData=String(e.diffData)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.attributes&&(t.attributes=String(e.attributes)),null!=e.toVersion&&(t.toVersion=e.toVersion>>>0),null!=e.fromVersion&&(t.fromVersion=e.fromVersion>>>0),null!=e.isEmptyCurrent&&(t.isEmptyCurrent=Boolean(e.isEmptyCurrent)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.revisionId="",n.name="",n.creatorId="",n.authorsIds="",n.diffData="",n.createdAt="",n.attributes="",n.toVersion=0,n.fromVersion=0,n.isEmptyCurrent=!1),null!=e.revisionId&&e.hasOwnProperty("revisionId")&&(n.revisionId=e.revisionId),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.creatorId&&e.hasOwnProperty("creatorId")&&(n.creatorId=e.creatorId),null!=e.authorsIds&&e.hasOwnProperty("authorsIds")&&(n.authorsIds=e.authorsIds),null!=e.diffData&&e.hasOwnProperty("diffData")&&(n.diffData=e.diffData),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),null!=e.toVersion&&e.hasOwnProperty("toVersion")&&(n.toVersion=e.toVersion),null!=e.fromVersion&&e.hasOwnProperty("fromVersion")&&(n.fromVersion=e.fromVersion),null!=e.isEmptyCurrent&&e.hasOwnProperty("isEmptyCurrent")&&(n.isEmptyCurrent=e.isEmptyCurrent),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryGetRevisionResponse"},e})(),Ee.RevisionHistoryUpdateRevisionsResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.requestId=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.requestId&&Object.hasOwnProperty.call(e,"requestId")&&t.uint32(8).uint32(e.requestId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.RevisionHistoryUpdateRevisionsResponse;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.requestId=e.uint32():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.requestId&&e.hasOwnProperty("requestId")&&!Ce.isInteger(e.requestId)?"requestId: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.RevisionHistoryUpdateRevisionsResponse)return e;let t=new Ee.RevisionHistoryUpdateRevisionsResponse;return null!=e.requestId&&(t.requestId=e.requestId>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.requestId=0),null!=e.requestId&&e.hasOwnProperty("requestId")&&(n.requestId=e.requestId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RevisionHistoryUpdateRevisionsResponse"},e})(),Ee.SessionsSocketDescriptor=(()=>{function e(e){if(this.permissions=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.session="",e.prototype.user="",e.prototype.role="",e.prototype.permissions=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.session&&Object.hasOwnProperty.call(e,"session")&&t.uint32(10).string(e.session),null!=e.user&&Object.hasOwnProperty.call(e,"user")&&t.uint32(18).string(e.user),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(let n=0;n<e.permissions.length;++n)t.uint32(34).string(e.permissions[n]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SessionsSocketDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.session=e.string();break;case 2:r.user=e.string();break;case 3:r.role=e.string();break;case 4:r.permissions&&r.permissions.length||(r.permissions=[]),r.permissions.push(e.string());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.session&&e.hasOwnProperty("session")&&!Ce.isString(e.session))return"session: string expected";if(null!=e.user&&e.hasOwnProperty("user")&&!Ce.isString(e.user))return"user: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!Ce.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(let t=0;t<e.permissions.length;++t)if(!Ce.isString(e.permissions[t]))return"permissions: string[] expected"}return null},e.fromObject=function(e){if(e instanceof Ee.SessionsSocketDescriptor)return e;let t=new Ee.SessionsSocketDescriptor;if(null!=e.session&&(t.session=String(e.session)),null!=e.user&&(t.user=String(e.user)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SessionsSocketDescriptor.permissions: array expected");t.permissions=[];for(let n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.session="",n.user="",n.role=""),null!=e.session&&e.hasOwnProperty("session")&&(n.session=e.session),null!=e.user&&e.hasOwnProperty("user")&&(n.user=e.user),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(let t=0;t<e.permissions.length;++t)n.permissions[t]=e.permissions[t]}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsSocketDescriptor"},e})(),Ee.SessionsConnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.sessionType=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.sessionType&&Object.hasOwnProperty.call(e,"sessionType")&&t.uint32(16).uint32(e.sessionType),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SessionsConnectMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.sessionType=e.uint32();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.sessionType&&e.hasOwnProperty("sessionType")&&!Ce.isInteger(e.sessionType)?"sessionType: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.SessionsConnectMessage)return e;let t=new Ee.SessionsConnectMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.sessionType&&(t.sessionType=e.sessionType>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.sessionType=0),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.sessionType&&e.hasOwnProperty("sessionType")&&(n.sessionType=e.sessionType),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectMessage"},e})(),Ee.SocketConnectMessage=(()=>{function e(e){if(this.permissions=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.userId="",e.prototype.role="",e.prototype.permissions=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.userId&&Object.hasOwnProperty.call(e,"userId")&&t.uint32(18).string(e.userId),null!=e.role&&Object.hasOwnProperty.call(e,"role")&&t.uint32(26).string(e.role),null!=e.permissions&&e.permissions.length)for(let n=0;n<e.permissions.length;++n)t.uint32(34).string(e.permissions[n]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SocketConnectMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.userId=e.string();break;case 3:r.role=e.string();break;case 4:r.permissions&&r.permissions.length||(r.permissions=[]),r.permissions.push(e.string());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id))return"id: string expected";if(null!=e.userId&&e.hasOwnProperty("userId")&&!Ce.isString(e.userId))return"userId: string expected";if(null!=e.role&&e.hasOwnProperty("role")&&!Ce.isString(e.role))return"role: string expected";if(null!=e.permissions&&e.hasOwnProperty("permissions")){if(!Array.isArray(e.permissions))return"permissions: array expected";for(let t=0;t<e.permissions.length;++t)if(!Ce.isString(e.permissions[t]))return"permissions: string[] expected"}return null},e.fromObject=function(e){if(e instanceof Ee.SocketConnectMessage)return e;let t=new Ee.SocketConnectMessage;if(null!=e.id&&(t.id=String(e.id)),null!=e.userId&&(t.userId=String(e.userId)),null!=e.role&&(t.role=String(e.role)),e.permissions){if(!Array.isArray(e.permissions))throw TypeError(".SocketConnectMessage.permissions: array expected");t.permissions=[];for(let n=0;n<e.permissions.length;++n)t.permissions[n]=String(e.permissions[n])}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.permissions=[]),t.defaults&&(n.id="",n.userId="",n.role=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.userId&&e.hasOwnProperty("userId")&&(n.userId=e.userId),null!=e.role&&e.hasOwnProperty("role")&&(n.role=e.role),e.permissions&&e.permissions.length){n.permissions=[];for(let t=0;t<e.permissions.length;++t)n.permissions[t]=e.permissions[t]}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketConnectMessage"},e})(),Ee.SocketDisconnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SocketDisconnectMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.id=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null},e.fromObject=function(e){if(e instanceof Ee.SocketDisconnectMessage)return e;let t=new Ee.SocketDisconnectMessage;return null!=e.id&&(t.id=String(e.id)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SocketDisconnectMessage"},e})(),Ee.SessionsConnectResponse=(()=>{function e(e){if(this.sockets=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.channel="",e.prototype.sockets=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.sockets&&e.sockets.length)for(let n=0;n<e.sockets.length;++n)Ee.SessionsSocketDescriptor.encode(e.sockets[n],t.uint32(18).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SessionsConnectResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.channel=e.string();break;case 2:r.sockets&&r.sockets.length||(r.sockets=[]),r.sockets.push(Ee.SessionsSocketDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!Ce.isString(e.channel))return"channel: string expected";if(null!=e.sockets&&e.hasOwnProperty("sockets")){if(!Array.isArray(e.sockets))return"sockets: array expected";for(let t=0;t<e.sockets.length;++t){let n=Ee.SessionsSocketDescriptor.verify(e.sockets[t]);if(n)return"sockets."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.SessionsConnectResponse)return e;let t=new Ee.SessionsConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.sockets){if(!Array.isArray(e.sockets))throw TypeError(".SessionsConnectResponse.sockets: array expected");t.sockets=[];for(let n=0;n<e.sockets.length;++n){if("object"!=typeof e.sockets[n])throw TypeError(".SessionsConnectResponse.sockets: object expected");t.sockets[n]=Ee.SessionsSocketDescriptor.fromObject(e.sockets[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.sockets=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.sockets&&e.sockets.length){n.sockets=[];for(let r=0;r<e.sockets.length;++r)n.sockets[r]=Ee.SessionsSocketDescriptor.toObject(e.sockets[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SessionsConnectResponse"},e})(),Ee.SuggestionDescriptor=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.authorId="",e.prototype.type="",e.prototype.createdAt="",e.prototype.data="",e.prototype.hasComments=!1,e.prototype.state="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.SuggestionDescriptor;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.authorId=e.string();break;case 3:r.type=e.string();break;case 4:r.createdAt=e.string();break;case 5:r.data=e.string();break;case 6:r.hasComments=e.bool();break;case 7:r.state=e.string();break;case 8:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!Ce.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!Ce.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.SuggestionDescriptor)return e;let t=new Ee.SuggestionDescriptor;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SuggestionDescriptor"},e})(),Ee.TrackChangesAddSuggestionMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.documentId="",e.prototype.type="",e.prototype.data="",e.prototype.originalSuggestionId="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).string(e.data),null!=e.originalSuggestionId&&Object.hasOwnProperty.call(e,"originalSuggestionId")&&t.uint32(42).string(e.originalSuggestionId),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesAddSuggestionMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.documentId=e.string();break;case 3:r.type=e.string();break;case 4:r.data=e.string();break;case 5:r.originalSuggestionId=e.string();break;case 6:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isString(e.type)?"type: string expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&!Ce.isString(e.originalSuggestionId)?"originalSuggestionId: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesAddSuggestionMessage)return e;let t=new Ee.TrackChangesAddSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.type&&(t.type=String(e.type)),null!=e.data&&(t.data=String(e.data)),null!=e.originalSuggestionId&&(t.originalSuggestionId=String(e.originalSuggestionId)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.documentId="",n.type="",n.data="",n.originalSuggestionId="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.originalSuggestionId&&e.hasOwnProperty("originalSuggestionId")&&(n.originalSuggestionId=e.originalSuggestionId),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionMessage"},e})(),Ee.TrackChangesBatchUpdateSuggestionsStateMessage=(()=>{function e(e){if(this.ids=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.ids=Ce.emptyArray,e.prototype.documentId="",e.prototype.state="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.ids&&e.ids.length)for(let n=0;n<e.ids.length;++n)t.uint32(10).string(e.ids[n]);return null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(26).string(e.state),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesBatchUpdateSuggestionsStateMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.ids&&r.ids.length||(r.ids=[]),r.ids.push(e.string());break;case 2:r.documentId=e.string();break;case 3:r.state=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(let t=0;t<e.ids.length;++t)if(!Ce.isString(e.ids[t]))return"ids: string[] expected"}return null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.state&&e.hasOwnProperty("state")&&!Ce.isString(e.state)?"state: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesBatchUpdateSuggestionsStateMessage)return e;let t=new Ee.TrackChangesBatchUpdateSuggestionsStateMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".TrackChangesBatchUpdateSuggestionsStateMessage.ids: array expected");t.ids=[];for(let n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.state&&(t.state=String(e.state)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.ids=[]),t.defaults&&(n.documentId="",n.state=""),e.ids&&e.ids.length){n.ids=[];for(let t=0;t<e.ids.length;++t)n.ids[t]=e.ids[t]}return null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesBatchUpdateSuggestionsStateMessage"},e})(),Ee.TrackChangesConnectMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesConnectMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.documentId=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesConnectMessage)return e;let t=new Ee.TrackChangesConnectMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectMessage"},e})(),Ee.TrackChangesGetAllSuggestionMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(10).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesGetAllSuggestionMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.documentId=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesGetAllSuggestionMessage)return e;let t=new Ee.TrackChangesGetAllSuggestionMessage;return null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.documentId=""),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionMessage"},e})(),Ee.TrackChangesGetSuggestionMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.documentId="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesGetSuggestionMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.documentId=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesGetSuggestionMessage)return e;let t=new Ee.TrackChangesGetSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.documentId=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionMessage"},e})(),Ee.TrackChangesUpdateSuggestionMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.documentId="",e.prototype.hasComments=!1,e.prototype.isHasCommentsModified=!1,e.prototype.state="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.documentId&&Object.hasOwnProperty.call(e,"documentId")&&t.uint32(18).string(e.documentId),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(24).bool(e.hasComments),null!=e.isHasCommentsModified&&Object.hasOwnProperty.call(e,"isHasCommentsModified")&&t.uint32(32).bool(e.isHasCommentsModified),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(42).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(50).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesUpdateSuggestionMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.documentId=e.string();break;case 3:r.hasComments=e.bool();break;case 4:r.isHasCommentsModified=e.bool();break;case 5:r.state=e.string();break;case 6:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.documentId&&e.hasOwnProperty("documentId")&&!Ce.isString(e.documentId)?"documentId: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&"boolean"!=typeof e.isHasCommentsModified?"isHasCommentsModified: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!Ce.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesUpdateSuggestionMessage)return e;let t=new Ee.TrackChangesUpdateSuggestionMessage;return null!=e.id&&(t.id=String(e.id)),null!=e.documentId&&(t.documentId=String(e.documentId)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.isHasCommentsModified&&(t.isHasCommentsModified=Boolean(e.isHasCommentsModified)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.documentId="",n.hasComments=!1,n.isHasCommentsModified=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.documentId&&e.hasOwnProperty("documentId")&&(n.documentId=e.documentId),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.isHasCommentsModified&&e.hasOwnProperty("isHasCommentsModified")&&(n.isHasCommentsModified=e.isHasCommentsModified),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesUpdateSuggestionMessage"},e})(),Ee.TrackChangesAddSuggestionResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.authorId="",e.prototype.type="",e.prototype.createdAt="",e.prototype.data="",e.prototype.hasComments=!1,e.prototype.state="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesAddSuggestionResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.authorId=e.string();break;case 3:r.type=e.string();break;case 4:r.createdAt=e.string();break;case 5:r.data=e.string();break;case 6:r.hasComments=e.bool();break;case 7:r.state=e.string();break;case 8:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!Ce.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!Ce.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesAddSuggestionResponse)return e;let t=new Ee.TrackChangesAddSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesAddSuggestionResponse"},e})(),Ee.TrackChangesConnectResponse=(()=>{function e(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.channel="",e.prototype.suggestions=Ce.emptyArray,e.prototype.suggestionsV2=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.channel&&Object.hasOwnProperty.call(e,"channel")&&t.uint32(10).string(e.channel),null!=e.suggestions&&e.suggestions.length)for(let n=0;n<e.suggestions.length;++n)t.uint32(18).string(e.suggestions[n]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(let n=0;n<e.suggestionsV2.length;++n)Ee.SuggestionDescriptor.encode(e.suggestionsV2[n],t.uint32(26).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesConnectResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.channel=e.string();break;case 2:r.suggestions&&r.suggestions.length||(r.suggestions=[]),r.suggestions.push(e.string());break;case 3:r.suggestionsV2&&r.suggestionsV2.length||(r.suggestionsV2=[]),r.suggestionsV2.push(Ee.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.channel&&e.hasOwnProperty("channel")&&!Ce.isString(e.channel))return"channel: string expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(let t=0;t<e.suggestions.length;++t)if(!Ce.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(let t=0;t<e.suggestionsV2.length;++t){let n=Ee.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesConnectResponse)return e;let t=new Ee.TrackChangesConnectResponse;if(null!=e.channel&&(t.channel=String(e.channel)),e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesConnectResponse.suggestions: array expected");t.suggestions=[];for(let n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesConnectResponse.suggestionsV2: array expected");t.suggestionsV2=[];for(let n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesConnectResponse.suggestionsV2: object expected");t.suggestionsV2[n]=Ee.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),t.defaults&&(n.channel=""),null!=e.channel&&e.hasOwnProperty("channel")&&(n.channel=e.channel),e.suggestions&&e.suggestions.length){n.suggestions=[];for(let t=0;t<e.suggestions.length;++t)n.suggestions[t]=e.suggestions[t]}if(e.suggestionsV2&&e.suggestionsV2.length){n.suggestionsV2=[];for(let r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=Ee.SuggestionDescriptor.toObject(e.suggestionsV2[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesConnectResponse"},e})(),Ee.TrackChangesGetAllSuggestionsResponse=(()=>{function e(e){if(this.suggestions=[],this.suggestionsV2=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.suggestions=Ce.emptyArray,e.prototype.suggestionsV2=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.suggestions&&e.suggestions.length)for(let n=0;n<e.suggestions.length;++n)t.uint32(10).string(e.suggestions[n]);if(null!=e.suggestionsV2&&e.suggestionsV2.length)for(let n=0;n<e.suggestionsV2.length;++n)Ee.SuggestionDescriptor.encode(e.suggestionsV2[n],t.uint32(18).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesGetAllSuggestionsResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.suggestions&&r.suggestions.length||(r.suggestions=[]),r.suggestions.push(e.string());break;case 2:r.suggestionsV2&&r.suggestionsV2.length||(r.suggestionsV2=[]),r.suggestionsV2.push(Ee.SuggestionDescriptor.decode(e,e.uint32()));break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.suggestions&&e.hasOwnProperty("suggestions")){if(!Array.isArray(e.suggestions))return"suggestions: array expected";for(let t=0;t<e.suggestions.length;++t)if(!Ce.isString(e.suggestions[t]))return"suggestions: string[] expected"}if(null!=e.suggestionsV2&&e.hasOwnProperty("suggestionsV2")){if(!Array.isArray(e.suggestionsV2))return"suggestionsV2: array expected";for(let t=0;t<e.suggestionsV2.length;++t){let n=Ee.SuggestionDescriptor.verify(e.suggestionsV2[t]);if(n)return"suggestionsV2."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesGetAllSuggestionsResponse)return e;let t=new Ee.TrackChangesGetAllSuggestionsResponse;if(e.suggestions){if(!Array.isArray(e.suggestions))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestions: array expected");t.suggestions=[];for(let n=0;n<e.suggestions.length;++n)t.suggestions[n]=String(e.suggestions[n])}if(e.suggestionsV2){if(!Array.isArray(e.suggestionsV2))throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: array expected");t.suggestionsV2=[];for(let n=0;n<e.suggestionsV2.length;++n){if("object"!=typeof e.suggestionsV2[n])throw TypeError(".TrackChangesGetAllSuggestionsResponse.suggestionsV2: object expected");t.suggestionsV2[n]=Ee.SuggestionDescriptor.fromObject(e.suggestionsV2[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.suggestions=[],n.suggestionsV2=[]),e.suggestions&&e.suggestions.length){n.suggestions=[];for(let t=0;t<e.suggestions.length;++t)n.suggestions[t]=e.suggestions[t]}if(e.suggestionsV2&&e.suggestionsV2.length){n.suggestionsV2=[];for(let r=0;r<e.suggestionsV2.length;++r)n.suggestionsV2[r]=Ee.SuggestionDescriptor.toObject(e.suggestionsV2[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetAllSuggestionsResponse"},e})(),Ee.TrackChangesGetSuggestionResponse=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.prototype.authorId="",e.prototype.type="",e.prototype.createdAt="",e.prototype.data="",e.prototype.hasComments=!1,e.prototype.state="",e.prototype.attributes="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),null!=e.authorId&&Object.hasOwnProperty.call(e,"authorId")&&t.uint32(18).string(e.authorId),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(26).string(e.type),null!=e.createdAt&&Object.hasOwnProperty.call(e,"createdAt")&&t.uint32(34).string(e.createdAt),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(42).string(e.data),null!=e.hasComments&&Object.hasOwnProperty.call(e,"hasComments")&&t.uint32(48).bool(e.hasComments),null!=e.state&&Object.hasOwnProperty.call(e,"state")&&t.uint32(58).string(e.state),null!=e.attributes&&Object.hasOwnProperty.call(e,"attributes")&&t.uint32(66).string(e.attributes),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.TrackChangesGetSuggestionResponse;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.id=e.string();break;case 2:r.authorId=e.string();break;case 3:r.type=e.string();break;case 4:r.createdAt=e.string();break;case 5:r.data=e.string();break;case 6:r.hasComments=e.bool();break;case 7:r.state=e.string();break;case 8:r.attributes=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null!=e.authorId&&e.hasOwnProperty("authorId")&&!Ce.isString(e.authorId)?"authorId: string expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isString(e.type)?"type: string expected":null!=e.createdAt&&e.hasOwnProperty("createdAt")&&!Ce.isString(e.createdAt)?"createdAt: string expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.hasComments&&e.hasOwnProperty("hasComments")&&"boolean"!=typeof e.hasComments?"hasComments: boolean expected":null!=e.state&&e.hasOwnProperty("state")&&!Ce.isString(e.state)?"state: string expected":null!=e.attributes&&e.hasOwnProperty("attributes")&&!Ce.isString(e.attributes)?"attributes: string expected":null},e.fromObject=function(e){if(e instanceof Ee.TrackChangesGetSuggestionResponse)return e;let t=new Ee.TrackChangesGetSuggestionResponse;return null!=e.id&&(t.id=String(e.id)),null!=e.authorId&&(t.authorId=String(e.authorId)),null!=e.type&&(t.type=String(e.type)),null!=e.createdAt&&(t.createdAt=String(e.createdAt)),null!=e.data&&(t.data=String(e.data)),null!=e.hasComments&&(t.hasComments=Boolean(e.hasComments)),null!=e.state&&(t.state=String(e.state)),null!=e.attributes&&(t.attributes=String(e.attributes)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id="",n.authorId="",n.type="",n.createdAt="",n.data="",n.hasComments=!1,n.state="",n.attributes=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.authorId&&e.hasOwnProperty("authorId")&&(n.authorId=e.authorId),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.createdAt&&e.hasOwnProperty("createdAt")&&(n.createdAt=e.createdAt),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.hasComments&&e.hasOwnProperty("hasComments")&&(n.hasComments=e.hasComments),null!=e.state&&e.hasOwnProperty("state")&&(n.state=e.state),null!=e.attributes&&e.hasOwnProperty("attributes")&&(n.attributes=e.attributes),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/TrackChangesGetSuggestionResponse"},e})(),Ee.UserDescriptor=(()=>{function e(e){if(this.attributes=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.attributes=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.attributes&&e.attributes.length)for(let n=0;n<e.attributes.length;++n)Ee.KeyValueDescriptor.encode(e.attributes[n],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.UserDescriptor;for(;e.pos<n;){let t=e.uint32();t>>>3==1?(r.attributes&&r.attributes.length||(r.attributes=[]),r.attributes.push(Ee.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(let t=0;t<e.attributes.length;++t){let n=Ee.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.UserDescriptor)return e;let t=new Ee.UserDescriptor;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".UserDescriptor.attributes: array expected");t.attributes=[];for(let n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".UserDescriptor.attributes: object expected");t.attributes[n]=Ee.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(let r=0;r<e.attributes.length;++r)n.attributes[r]=Ee.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/UserDescriptor"},e})(),Ee.GetManyUsersMessage=(()=>{function e(e){if(this.ids=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.ids=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.ids&&e.ids.length)for(let n=0;n<e.ids.length;++n)t.uint32(10).string(e.ids[n]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetManyUsersMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?(r.ids&&r.ids.length||(r.ids=[]),r.ids.push(e.string())):e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.ids&&e.hasOwnProperty("ids")){if(!Array.isArray(e.ids))return"ids: array expected";for(let t=0;t<e.ids.length;++t)if(!Ce.isString(e.ids[t]))return"ids: string[] expected"}return null},e.fromObject=function(e){if(e instanceof Ee.GetManyUsersMessage)return e;let t=new Ee.GetManyUsersMessage;if(e.ids){if(!Array.isArray(e.ids))throw TypeError(".GetManyUsersMessage.ids: array expected");t.ids=[];for(let n=0;n<e.ids.length;++n)t.ids[n]=String(e.ids[n])}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.ids=[]),e.ids&&e.ids.length){n.ids=[];for(let t=0;t<e.ids.length;++t)n.ids[t]=e.ids[t]}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersMessage"},e})(),Ee.GetUserMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.id="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(10).string(e.id),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetUserMessage;for(;e.pos<n;){let t=e.uint32();t>>>3==1?r.id=e.string():e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isString(e.id)?"id: string expected":null},e.fromObject=function(e){if(e instanceof Ee.GetUserMessage)return e;let t=new Ee.GetUserMessage;return null!=e.id&&(t.id=String(e.id)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.id=""),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserMessage"},e})(),Ee.GetManyUsersResponse=(()=>{function e(e){if(this.users=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.users=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.users&&e.users.length)for(let n=0;n<e.users.length;++n)Ee.UserDescriptor.encode(e.users[n],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetManyUsersResponse;for(;e.pos<n;){let t=e.uint32();t>>>3==1?(r.users&&r.users.length||(r.users=[]),r.users.push(Ee.UserDescriptor.decode(e,e.uint32()))):e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.users&&e.hasOwnProperty("users")){if(!Array.isArray(e.users))return"users: array expected";for(let t=0;t<e.users.length;++t){let n=Ee.UserDescriptor.verify(e.users[t]);if(n)return"users."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.GetManyUsersResponse)return e;let t=new Ee.GetManyUsersResponse;if(e.users){if(!Array.isArray(e.users))throw TypeError(".GetManyUsersResponse.users: array expected");t.users=[];for(let n=0;n<e.users.length;++n){if("object"!=typeof e.users[n])throw TypeError(".GetManyUsersResponse.users: object expected");t.users[n]=Ee.UserDescriptor.fromObject(e.users[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.users=[]),e.users&&e.users.length){n.users=[];for(let r=0;r<e.users.length;++r)n.users[r]=Ee.UserDescriptor.toObject(e.users[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetManyUsersResponse"},e})(),Ee.GetUserResponse=(()=>{function e(e){if(this.attributes=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.attributes=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.attributes&&e.attributes.length)for(let n=0;n<e.attributes.length;++n)Ee.KeyValueDescriptor.encode(e.attributes[n],t.uint32(10).fork()).ldelim();return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.GetUserResponse;for(;e.pos<n;){let t=e.uint32();t>>>3==1?(r.attributes&&r.attributes.length||(r.attributes=[]),r.attributes.push(Ee.KeyValueDescriptor.decode(e,e.uint32()))):e.skipType(7&t)}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.attributes&&e.hasOwnProperty("attributes")){if(!Array.isArray(e.attributes))return"attributes: array expected";for(let t=0;t<e.attributes.length;++t){let n=Ee.KeyValueDescriptor.verify(e.attributes[t]);if(n)return"attributes."+n}}return null},e.fromObject=function(e){if(e instanceof Ee.GetUserResponse)return e;let t=new Ee.GetUserResponse;if(e.attributes){if(!Array.isArray(e.attributes))throw TypeError(".GetUserResponse.attributes: array expected");t.attributes=[];for(let n=0;n<e.attributes.length;++n){if("object"!=typeof e.attributes[n])throw TypeError(".GetUserResponse.attributes: object expected");t.attributes[n]=Ee.KeyValueDescriptor.fromObject(e.attributes[n])}}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.attributes=[]),e.attributes&&e.attributes.length){n.attributes=[];for(let r=0;r<e.attributes.length;++r)n.attributes[r]=Ee.KeyValueDescriptor.toObject(e.attributes[r],t)}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/GetUserResponse"},e})(),Ee.ChannelMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.type=0,e.prototype.socketId="",e.prototype.data=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.socketId&&Object.hasOwnProperty.call(e,"socketId")&&t.uint32(18).string(e.socketId),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).bytes(e.data),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.ChannelMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.type=e.uint32();break;case 2:r.socketId=e.string();break;case 3:r.data=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isInteger(e.type)?"type: integer expected":null!=e.socketId&&e.hasOwnProperty("socketId")&&!Ce.isString(e.socketId)?"socketId: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||Ce.isString(e.data))?"data: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.ChannelMessage)return e;let t=new Ee.ChannelMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.socketId&&(t.socketId=String(e.socketId)),null!=e.data&&("string"==typeof e.data?Ce.base64.decode(e.data,t.data=Ce.newBuffer(Ce.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.type=0,n.socketId="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=Ce.newBuffer(n.data)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.socketId&&e.hasOwnProperty("socketId")&&(n.socketId=e.socketId),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?Ce.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ChannelMessage"},e})(),Ee.BytesBytesPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data=Ce.newBuffer([]),e.prototype.data1=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).bytes(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.BytesBytesPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.bytes();break;case 2:r.data1=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||Ce.isString(e.data))?"data: buffer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||Ce.isString(e.data1))?"data1: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.BytesBytesPacketDataMessage)return e;let t=new Ee.BytesBytesPacketDataMessage;return null!=e.data&&("string"==typeof e.data?Ce.base64.decode(e.data,t.data=Ce.newBuffer(Ce.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.data1&&("string"==typeof e.data1?Ce.base64.decode(e.data1,t.data1=Ce.newBuffer(Ce.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=Ce.newBuffer(n.data))),t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=Ce.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?Ce.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?Ce.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/BytesBytesPacketDataMessage"},e})(),Ee.NumberBytesPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data=0,e.prototype.data1=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.NumberBytesPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.uint32();break;case 2:r.data1=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||Ce.isString(e.data1))?"data1: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.NumberBytesPacketDataMessage)return e;let t=new Ee.NumberBytesPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&("string"==typeof e.data1?Ce.base64.decode(e.data1,t.data1=Ce.newBuffer(Ce.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data=0,t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=Ce.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?Ce.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberBytesPacketDataMessage"},e})(),Ee.NumberNumberPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data=0,e.prototype.data1=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.NumberNumberPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.uint32();break;case 2:r.data1=e.uint32();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isInteger(e.data1)?"data1: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.NumberNumberPacketDataMessage)return e;let t=new Ee.NumberNumberPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=e.data1>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data=0,n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberNumberPacketDataMessage"},e})(),Ee.NumberObjectPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data=0,e.prototype.data1="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.NumberObjectPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.uint32();break;case 2:r.data1=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isString(e.data1)?"data1: string expected":null},e.fromObject=function(e){if(e instanceof Ee.NumberObjectPacketDataMessage)return e;let t=new Ee.NumberObjectPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberObjectPacketDataMessage"},e})(),Ee.NumberStringPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data=0,e.prototype.data1="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(8).uint32(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.NumberStringPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.uint32();break;case 2:r.data1=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isInteger(e.data)?"data: integer expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isString(e.data1)?"data1: string expected":null},e.fromObject=function(e){if(e instanceof Ee.NumberStringPacketDataMessage)return e;let t=new Ee.NumberStringPacketDataMessage;return null!=e.data&&(t.data=e.data>>>0),null!=e.data1&&(t.data1=String(e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data=0,n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/NumberStringPacketDataMessage"},e})(),Ee.ObjectBufferPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.ObjectBufferPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||Ce.isString(e.data1))?"data1: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.ObjectBufferPacketDataMessage)return e;let t=new Ee.ObjectBufferPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?Ce.base64.decode(e.data1,t.data1=Ce.newBuffer(Ce.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=Ce.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?Ce.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectBufferPacketDataMessage"},e})(),Ee.ObjectObjectPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.ObjectObjectPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isString(e.data1)?"data1: string expected":null},e.fromObject=function(e){if(e instanceof Ee.ObjectObjectPacketDataMessage)return e;let t=new Ee.ObjectObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/ObjectObjectPacketDataMessage"},e})(),Ee.PacketMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.type=0,e.prototype.id=0,e.prototype.nsp="",e.prototype.data=Ce.newBuffer([]),e.prototype.options=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.type&&Object.hasOwnProperty.call(e,"type")&&t.uint32(8).uint32(e.type),null!=e.id&&Object.hasOwnProperty.call(e,"id")&&t.uint32(16).uint32(e.id),null!=e.nsp&&Object.hasOwnProperty.call(e,"nsp")&&t.uint32(26).string(e.nsp),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(34).bytes(e.data),null!=e.options&&Object.hasOwnProperty.call(e,"options")&&t.uint32(42).bytes(e.options),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.PacketMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.type=e.uint32();break;case 2:r.id=e.uint32();break;case 3:r.nsp=e.string();break;case 4:r.data=e.bytes();break;case 5:r.options=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.type&&e.hasOwnProperty("type")&&!Ce.isInteger(e.type)?"type: integer expected":null!=e.id&&e.hasOwnProperty("id")&&!Ce.isInteger(e.id)?"id: integer expected":null!=e.nsp&&e.hasOwnProperty("nsp")&&!Ce.isString(e.nsp)?"nsp: string expected":null!=e.data&&e.hasOwnProperty("data")&&!(e.data&&"number"==typeof e.data.length||Ce.isString(e.data))?"data: buffer expected":null!=e.options&&e.hasOwnProperty("options")&&!(e.options&&"number"==typeof e.options.length||Ce.isString(e.options))?"options: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.PacketMessage)return e;let t=new Ee.PacketMessage;return null!=e.type&&(t.type=e.type>>>0),null!=e.id&&(t.id=e.id>>>0),null!=e.nsp&&(t.nsp=String(e.nsp)),null!=e.data&&("string"==typeof e.data?Ce.base64.decode(e.data,t.data=Ce.newBuffer(Ce.base64.length(e.data)),0):e.data.length>=0&&(t.data=e.data)),null!=e.options&&("string"==typeof e.options?Ce.base64.decode(e.options,t.options=Ce.newBuffer(Ce.base64.length(e.options)),0):e.options.length>=0&&(t.options=e.options)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.type=0,n.id=0,n.nsp="",t.bytes===String?n.data="":(n.data=[],t.bytes!==Array&&(n.data=Ce.newBuffer(n.data))),t.bytes===String?n.options="":(n.options=[],t.bytes!==Array&&(n.options=Ce.newBuffer(n.options)))),null!=e.type&&e.hasOwnProperty("type")&&(n.type=e.type),null!=e.id&&e.hasOwnProperty("id")&&(n.id=e.id),null!=e.nsp&&e.hasOwnProperty("nsp")&&(n.nsp=e.nsp),null!=e.data&&e.hasOwnProperty("data")&&(n.data=t.bytes===String?Ce.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data),null!=e.options&&e.hasOwnProperty("options")&&(n.options=t.bytes===String?Ce.base64.encode(e.options,0,e.options.length):t.bytes===Array?Array.prototype.slice.call(e.options):e.options),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketMessage"},e})(),Ee.PacketOptionsMessage=(()=>{function e(e){if(this.rooms=[],this.except=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.flags="",e.prototype.rooms=Ce.emptyArray,e.prototype.except=Ce.emptyArray,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=ke.create()),null!=e.flags&&Object.hasOwnProperty.call(e,"flags")&&t.uint32(10).string(e.flags),null!=e.rooms&&e.rooms.length)for(let n=0;n<e.rooms.length;++n)t.uint32(18).string(e.rooms[n]);if(null!=e.except&&e.except.length)for(let n=0;n<e.except.length;++n)t.uint32(26).string(e.except[n]);return t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.PacketOptionsMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.flags=e.string();break;case 2:r.rooms&&r.rooms.length||(r.rooms=[]),r.rooms.push(e.string());break;case 3:r.except&&r.except.length||(r.except=[]),r.except.push(e.string());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.flags&&e.hasOwnProperty("flags")&&!Ce.isString(e.flags))return"flags: string expected";if(null!=e.rooms&&e.hasOwnProperty("rooms")){if(!Array.isArray(e.rooms))return"rooms: array expected";for(let t=0;t<e.rooms.length;++t)if(!Ce.isString(e.rooms[t]))return"rooms: string[] expected"}if(null!=e.except&&e.hasOwnProperty("except")){if(!Array.isArray(e.except))return"except: array expected";for(let t=0;t<e.except.length;++t)if(!Ce.isString(e.except[t]))return"except: string[] expected"}return null},e.fromObject=function(e){if(e instanceof Ee.PacketOptionsMessage)return e;let t=new Ee.PacketOptionsMessage;if(null!=e.flags&&(t.flags=String(e.flags)),e.rooms){if(!Array.isArray(e.rooms))throw TypeError(".PacketOptionsMessage.rooms: array expected");t.rooms=[];for(let n=0;n<e.rooms.length;++n)t.rooms[n]=String(e.rooms[n])}if(e.except){if(!Array.isArray(e.except))throw TypeError(".PacketOptionsMessage.except: array expected");t.except=[];for(let n=0;n<e.except.length;++n)t.except[n]=String(e.except[n])}return t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.rooms=[],n.except=[]),t.defaults&&(n.flags=""),null!=e.flags&&e.hasOwnProperty("flags")&&(n.flags=e.flags),e.rooms&&e.rooms.length){n.rooms=[];for(let t=0;t<e.rooms.length;++t)n.rooms[t]=e.rooms[t]}if(e.except&&e.except.length){n.except=[];for(let t=0;t<e.except.length;++t)n.except[t]=e.except[t]}return n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/PacketOptionsMessage"},e})(),Ee.StringBytesPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1=Ce.newBuffer([]),e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).bytes(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.StringBytesPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.bytes();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!(e.data1&&"number"==typeof e.data1.length||Ce.isString(e.data1))?"data1: buffer expected":null},e.fromObject=function(e){if(e instanceof Ee.StringBytesPacketDataMessage)return e;let t=new Ee.StringBytesPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&("string"==typeof e.data1?Ce.base64.decode(e.data1,t.data1=Ce.newBuffer(Ce.base64.length(e.data1)),0):e.data1.length>=0&&(t.data1=e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",t.bytes===String?n.data1="":(n.data1=[],t.bytes!==Array&&(n.data1=Ce.newBuffer(n.data1)))),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=t.bytes===String?Ce.base64.encode(e.data1,0,e.data1.length):t.bytes===Array?Array.prototype.slice.call(e.data1):e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringBytesPacketDataMessage"},e})(),Ee.StringNumberPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1=0,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(16).uint32(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.StringNumberPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.uint32();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isInteger(e.data1)?"data1: integer expected":null},e.fromObject=function(e){if(e instanceof Ee.StringNumberPacketDataMessage)return e;let t=new Ee.StringNumberPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=e.data1>>>0),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",n.data1=0),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringNumberPacketDataMessage"},e})(),Ee.StringObjectPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.StringObjectPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isString(e.data1)?"data1: string expected":null},e.fromObject=function(e){if(e instanceof Ee.StringObjectPacketDataMessage)return e;let t=new Ee.StringObjectPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringObjectPacketDataMessage"},e})(),Ee.StringStringPacketDataMessage=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.data="",e.prototype.data1="",e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=ke.create()),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(10).string(e.data),null!=e.data1&&Object.hasOwnProperty.call(e,"data1")&&t.uint32(18).string(e.data1),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof _e||(e=_e.create(e));let n=void 0===t?e.len:e.pos+t,r=new Ee.StringStringPacketDataMessage;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.data=e.string();break;case 2:r.data1=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof _e||(e=new _e(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.data&&e.hasOwnProperty("data")&&!Ce.isString(e.data)?"data: string expected":null!=e.data1&&e.hasOwnProperty("data1")&&!Ce.isString(e.data1)?"data1: string expected":null},e.fromObject=function(e){if(e instanceof Ee.StringStringPacketDataMessage)return e;let t=new Ee.StringStringPacketDataMessage;return null!=e.data&&(t.data=String(e.data)),null!=e.data1&&(t.data1=String(e.data1)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.data="",n.data1=""),null!=e.data&&e.hasOwnProperty("data")&&(n.data=e.data),null!=e.data1&&e.hasOwnProperty("data1")&&(n.data1=e.data1),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/StringStringPacketDataMessage"},e})(),Ee);class Re{static decode(e,t){const n=De(t).decode("undefined"==typeof window?e:new Uint8Array(e));return t.fromJSON({...n})}static encode(e){const t=De(e.constructor),n=e.toJSON(),r=t.verify(n);if(r)throw Error(r);return t.encode(t.create(n)).finish()}}function De(e){return je[e.DESCRIPTOR_NAME]}class Ne extends((0,s.EmitterMixin)()){constructor(e,t,n){super(),this._channelName=e,this._wsGateway=t,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(e,t=!1){let n="";return t&&(n+="all:"),n+="event",e&&(n+=":"+e),n}_subscribeToChannel(){this._socket.on(this._channelName,(e=>{const t=Re.decode(e,Pe);this.fire(this.getEventName(t.type,!0),t.data,t.socketId),t.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(t.type),t.data,t.socketId)}))}}const xe=Ne;class Ve extends Ae{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new Ve(e.id)}}Ve.TYPE="21",Ve.READABLE_TYPE_NAME="getUser",Ve.DESCRIPTOR_NAME="GetUserMessage",Ve.DESCRIPTOR={fields:{id:{type:"string",id:1}}};class Me extends Ae{constructor(e){super(),this.attributes=e}toJSON(){return{attributes:Object.keys(this.attributes).map((e=>({key:e,value:JSON.stringify(this.attributes[e])})))}}static fromJSON(e){const t=e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{});return new Me(t)}}Me.DESCRIPTOR_NAME="GetUserResponse",Me.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}};class Be extends Ae{constructor(e){super(),this.ids=e}toJSON(){return{ids:this.ids}}static fromJSON(e){return new Be(e.ids)}}Be.TYPE="22",Be.READABLE_TYPE_NAME="getManyUsers",Be.DESCRIPTOR_NAME="GetManyUsersMessage",Be.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}};class Ue extends Ae{constructor(e){super(),this.users=e}toJSON(){return{users:this.users.map(Je)}}static fromJSON(e){return new Ue(e.users.map(qe))}}function Je(e){return{attributes:Object.keys(e).map((t=>({key:t,value:JSON.stringify(e[t])})))}}function qe(e){return e.attributes.reduce(((e,t)=>(e[t.key]=t.value?JSON.parse(t.value):null,e)),{})}Ue.DESCRIPTOR_NAME="GetManyUsersResponse",Ue.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}};class Ge{constructor(e={}){this._attributes=new Map;for(const t of Object.keys(e))"id"!==t?(this._attributes.set(t,e[t]),Object.defineProperty(this,t,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(t)})):this.id=e.id}static fromData(e){return new Ge(e)}static async get(e,t){const n=new Ve(t);try{const t=await e._sendRequest(Ge._SERVICE,Ve.TYPE,Re.encode(n)),r=Re.decode(t,Me);return new Ge(r.attributes)}catch(e){return new Ge({id:t})}}static async getMany(e,t){const n=new Be(t);try{const t=await e._sendRequest(Ge._SERVICE,Be.TYPE,Re.encode(n));return Re.decode(t,Ue).users.map((e=>new Ge(e)))}catch(e){return t.map((e=>new Ge({id:e})))}}}Ge._SERVICE=2;const Le=Ge;class Ye extends Error{constructor(e,t,n=null,r={}){super("cloud-services-internal-error: "+e),this.context=t,this.code=n,this.data=r,this.name="CKEditorError"}static fromPublicError(e){return new Ye(function(e){let t="cloud-services-error: "+e.message;return e.data&&(t+="\nError data: "+JSON.stringify(e.data)),e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}class ze extends Error{constructor(e,t){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=e,this.code=t.code,this.traceId=t.traceId,this.data=t.data}static fromPublicError(e){return new ze(function(e){let t="cloud-services-server-error: "+e.message;return e.explanation&&(t+="\nExplanation: "+e.explanation),e.action&&(t+="\nAction: "+e.action),e.traceId&&(t+="\nTraceId: "+e.traceId),e.code&&(t+="\nCode: "+e.code),t}(e),e)}}const He="function"==typeof ArrayBuffer,Fe=Object.prototype.toString,Ke="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Fe.call(Blob),We="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===Fe.call(File);function Qe(e){return He&&(e instanceof ArrayBuffer||(e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer)(e))||Ke&&e instanceof Blob||We&&e instanceof File}function Xe(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(Xe(e[t]))return!0;return!1}if(Qe(e))return!0;if(e.toJSON&&"function"==typeof e.toJSON&&1===arguments.length)return Xe(e.toJSON(),!0);for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&Xe(e[t]))return!0;return!1}function $e(e){const t=[],n=e.data,r=e;return r.data=Ze(n,t),r.attachments=t.length,{packet:r,buffers:t}}function Ze(e,t){if(!e)return e;if(Qe(e)){const n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){const n=new Array(e.length);for(let r=0;r<e.length;r++)n[r]=Ze(e[r],t);return n}if("object"==typeof e&&!(e instanceof Date)){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=Ze(e[r],t));return n}return e}function et(e,t){return e.data=tt(e.data,t),delete e.attachments,e}function tt(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=tt(e[n],t);else if("object"==typeof e)for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=tt(e[n],t));return e}var nt;!function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(nt||(nt={}));class rt{constructor(e){this.replacer=e}encode(e){return e.type!==nt.EVENT&&e.type!==nt.ACK||!Xe(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===nt.EVENT?nt.BINARY_EVENT:nt.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}encodeAsString(e){let t=""+e.type;return e.type!==nt.BINARY_EVENT&&e.type!==nt.BINARY_ACK||(t+=e.attachments+"-"),e.nsp&&"/"!==e.nsp&&(t+=e.nsp+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){const t=$e(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}}class st extends I{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const n=t.type===nt.BINARY_EVENT;n||t.type===nt.BINARY_ACK?(t.type=n?nt.EVENT:nt.ACK,this.reconstructor=new ot(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!Qe(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const n={type:Number(e.charAt(0))};if(void 0===nt[n.type])throw new Error("unknown packet type "+n.type);if(n.type===nt.BINARY_EVENT||n.type===nt.BINARY_ACK){const r=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const s=e.substring(r,t);if(s!=Number(s)||"-"!==e.charAt(t))throw new Error("Illegal attachments");n.attachments=Number(s)}if("/"===e.charAt(t+1)){const r=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}n.nsp=e.substring(r,t)}else n.nsp="/";const r=e.charAt(t+1);if(""!==r&&Number(r)==r){const r=t+1;for(;++t;){const n=e.charAt(t);if(null==n||Number(n)!=n){--t;break}if(t===e.length)break}n.id=Number(e.substring(r,t+1))}if(e.charAt(++t)){const r=this.tryParse(e.substr(t));if(!st.isPayloadValid(n.type,r))throw new Error("invalid payload");n.data=r}return n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case nt.CONNECT:return"object"==typeof t;case nt.DISCONNECT:return void 0===t;case nt.CONNECT_ERROR:return"string"==typeof t||"object"==typeof t;case nt.EVENT:case nt.BINARY_EVENT:return Array.isArray(t)&&("string"==typeof t[0]||"number"==typeof t[0]);case nt.ACK:case nt.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class ot{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=et(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}class it extends Ae{constructor(e,t=[],n=[]){super(),this.flags=e,this.rooms=t,this.except=n}toJSON(){var e,t;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(e=this.rooms)||void 0===e?void 0:e.length)?this.rooms:void 0,except:(null===(t=this.except)||void 0===t?void 0:t.length)?this.except:void 0}}static fromJSON(e){return new it(e.flags&&JSON.parse(e.flags),e.rooms,e.except)}}it.TYPE=11,it.DESCRIPTOR_NAME="PacketOptionsMessage",it.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}};const at=!("undefined"==typeof process||!process.versions||!process.versions.node);var ct,dt;(dt=ct||(ct={}))[dt.BUFFER=1]="BUFFER",dt[dt.STRING=2]="STRING",dt[dt.NUMBER=3]="NUMBER",dt[dt.OBJECT=4]="OBJECT";class ut{static getPacketType(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*Math.pow(10,e.length-n-1);return t}static getType(e){if(ut.isBuffer(e))return ct.BUFFER;const t=typeof e;return"string"===t?ct.STRING:"number"===t?ct.NUMBER:ct.OBJECT}static isBuffer(e){return at&&Buffer.isBuffer(e)||e instanceof ArrayBuffer||e instanceof Uint8Array||this._isBufferView(e)}static _isBufferView(e){return"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer}}class lt extends Ae{static create(e,t){throw new TypeError("Must be implemented in a child class!")}}class pt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new pt(e.data,e.data1)}static create(e,t){return new pt(e,t)}}pt.TYPE=ut.getPacketType(ct.NUMBER,ct.BUFFER),pt.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",pt.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}};class ht extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ht(e.data,e.data1)}static create(e,t){return new ht(e,t)}}ht.TYPE=ut.getPacketType(ct.STRING,ct.BUFFER),ht.DESCRIPTOR_NAME="StringBytesPacketDataMessage",ht.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};class ft extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new ft(e.data,e.data1)}static create(e,t){return new ft(e,t)}}ft.TYPE=ut.getPacketType(ct.BUFFER,ct.BUFFER),ft.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",ft.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}};class mt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new mt(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new mt(e,t)}}mt.TYPE=ut.getPacketType(ct.STRING,ct.OBJECT),mt.DESCRIPTOR_NAME="StringObjectPacketDataMessage",mt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class yt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new yt(e.data,e.data1&&JSON.parse(e.data1))}static create(e,t){return new yt(e,t)}}yt.TYPE=ut.getPacketType(ct.NUMBER,ct.OBJECT),yt.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",yt.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};class gt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(e){return new gt(e.data&&JSON.parse(e.data),e.data1&&JSON.parse(e.data1))}static create(e,t){return new gt(e,t)}}gt.TYPE=ut.getPacketType(ct.OBJECT,ct.OBJECT),gt.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",gt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class bt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(e){return new bt(e.data&&JSON.parse(e.data),e.data1)}static create(e,t){return new bt(e,t)}}bt.TYPE=ut.getPacketType(ct.OBJECT,ct.BUFFER),bt.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",bt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}};class Ot extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new Ot(e.data,e.data1)}static create(e,t){return new Ot(e,t)}}Ot.TYPE=ut.getPacketType(ct.STRING,ct.STRING),Ot.DESCRIPTOR_NAME="StringStringPacketDataMessage",Ot.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}};class wt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new wt(e.data,e.data1)}static create(e,t){return new wt(e,t)}}wt.TYPE=ut.getPacketType(ct.STRING,ct.NUMBER),wt.DESCRIPTOR_NAME="StringNumberPacketDataMessage",wt.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}};class It extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new It(e.data,e.data1)}static create(e,t){return new It(e,t)}}It.TYPE=ut.getPacketType(ct.NUMBER,ct.NUMBER),It.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",It.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}};class vt extends lt{constructor(e,t){super(),this.data=e,this.data1=t}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(e){return new vt(e.data,e.data1)}static create(e,t){return new vt(e,t)}}vt.TYPE=ut.getPacketType(ct.NUMBER,ct.STRING),vt.DESCRIPTOR_NAME="NumberStringPacketDataMessage",vt.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}};const St=[pt,ht,ft,mt,yt,gt,bt,Ot,wt,It,vt].reduce(((e,t)=>(e[t.TYPE]=t,e)),{});class At extends Ae{constructor(e,t,n,r="/",s=new it){super(),this.type=e,this.data=t,this.id=n,this.nsp=r,this.options=s}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const e=Re.encode(this.options),t=Re.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:t,options:e}}static fromJSON(e){const t=Math.floor(e.type/10);return new At(e.type-10*t,Re.decode(e.data,St[t]),e.id,e.nsp,e.options?Re.decode(e.options,it):new it)}static create(e,t={}){var n;const r=ut.getPacketType(ut.getType(e.data[0]),ut.getType(null!==(n=e.data[1])&&void 0!==n?n:e.data[0]));return new At(e.type,St[r].create(e.data[0],e.data[1]),e.id,e.nsp,new it(t.flags,t.rooms,t.except))}}At.TYPE=10,At.DESCRIPTOR_NAME="PacketMessage",At.DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}};class Pt{encode(e,t,n,r="/",s={}){if(t.length>2)throw new Error("PacketParser supports only 2 elements in data");const o={type:e,data:t,id:n,nsp:r};return Re.encode(At.create(o,s))}decode(e){const t=Re.decode(e,At);return{packet:{id:t.id,type:t.type,data:t.packetData,nsp:t.nsp},options:{flags:t.options.flags,rooms:t.options.rooms,except:t.options.except}}}}const Tt=[nt.EVENT,nt.ACK,nt.BINARY_ACK,nt.BINARY_EVENT];class _t extends rt{constructor(e=new Pt){super(),this._packetParser=e}encode(e){if(Tt.includes(e.type))try{return[this._packetParser.encode(e.type,e.data,e.id,e.nsp)]}catch(e){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:e.message}})}return super.encode(e)}}class kt extends st{constructor(e=new Pt){super(),this._packetParser=e}add(e){if(!ut.isBuffer(e))return super.add(e);let t;try{t=this._packetParser.decode(e).packet}catch(t){return super.add(e)}super.emitReserved("decoded",t)}}class Ct{constructor(e,t){this._context=e,this._deferredPromise=function(){let e,t;const n=new Promise(((n,r)=>{e=n,t=r}));return{resolve:e,reject:t,promise:n}}(),this.timeout=setTimeout((()=>this.error(new Ye("Request timeout.",this._context))),t)}get promise(){return this._deferredPromise.promise}response(e){this._deferredPromise.resolve(e)}error(e){this._deferredPromise.reject(e)}}class Et{constructor(e){this._context=e,this._requests=new Set}async send(e,t=45e3){const n=this._createRequest(t);try{return e(n),await n.promise}finally{this._finishRequest(n)}}errorAll(e){for(const t of this._requests)t.error(e)}waitForAllRequests(e=45e3){return this._waitForRequests(e)}_createRequest(e){const t=new Ct(this._context,e);return this._requests.add(t),t}_finishRequest(e){this._requests.delete(e),clearTimeout(e.timeout)}async _waitForRequests(e=5e3,t=0){return!this._requests.size||t>=e/500?Promise.resolve():(await new Promise((e=>{setTimeout(e,500)})),this._waitForRequests(e,t++))}}var jt,Rt;(Rt=jt||(jt={})).DISCONNECTED="disconnected",Rt.CONNECTING="connecting",Rt.CONNECTED="connected";class Dt extends((0,s.ObservableMixin)()){constructor(e,t,n={},r=Ie,s=Le.get){if(super(),this._token=t,this._options=n,this._connectionProvider=r,this._userFactory=s,this._requestsManager=new Et(this),this._channels=new Map,this._connectionAttempt=0,!e)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=ve(e.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state",jt.DISCONNECTED),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(e,t,n)=>{var r;if(this._debugEvent("ws-gw:change:state",n),n!==Dt.STATE_CONNECTED){if(n===Dt.STATE_DISCONNECTED)return this._requestsManager.errorAll(new Ye("Not connected.",this))}else try{this.me=await this._userFactory.call(Le,this,null===(r=this._socketAuth)||void 0===r?void 0:r.userId)}catch(e){}}),{priority:Dt._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((e,t)=>{this._options.onError?this._options.onError(t):console.error(t)}))}get sessionId(){return this.socketId}waitForAllRequests(e){return this._requestsManager.waitForAllRequests(e)}disconnect(){var e;this.state!==jt.DISCONNECTED&&(null===(e=this._socket)||void 0===e||e.disconnect(),this._socket=void 0,this.state=jt.DISCONNECTED)}async reconnect(){this._socket||this.state!==jt.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(e,t="local.cs.dev:443/ws-v2",n={},r=Ie,s=Le.get){const o=new Dt(t,e,n,r,s);return await o._connect(),o}_sendRequest(e,t,n){if(!e)throw new Ye("`serviceName` must be provided.",this);if(this.state!==Dt.STATE_CONNECTED)throw new Ye("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new Ye("Not authenticated.",this);const r=new ArrayBuffer(n.length+2),s=new Uint8Array(r);return s[0]=e,s[1]=parseInt(t),s.set(n,2),this._emit(1,s)}_getChannel(e,t){const n=""+e+t;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new xe(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((e,t)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(t)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),e()}catch(e){t(e)}})),n.connect()}))}_getPortByProtocol(e){return["http:","ws:"].includes(e)?80:443}_setupSocket(){var e;if(this._socket)return this._socket;const t=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+t,r=this._url.pathname.match(/^\/.*\/ws/)?this._url.pathname.split("/ws")[0]:"",s=this._connectionProvider(n,{parser:{Encoder:_t,Decoder:kt},path:r+"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:"52.1.6"},agent:null!==(e=this._options.agent)&&void 0!==e&&e,closeOnBeforeunload:!1});return this.state=jt.CONNECTING,s.on("connect",(()=>{this._debugEvent("connect"),this.socketId=s.id})),s.on("connect_error",(e=>{this._debugEvent("connect_error",e)})),s.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),s.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),s.io.on("reconnect_attempt",(e=>{this._debugEvent("reconnect_attempt",e),this.state=jt.CONNECTING,this._connectionAttempt=e})),s.on("unauthorized",(e=>{this._debugEvent("unauthorized"),this._onUnauthorized(e)})),s.on("authenticationRequest",(async e=>{this._debugEvent("authenticationRequest",e.attempt),await this._onReconnect()})),this._socket=s,s}_emit(e,t){const n=this._socket;return this._requestsManager.send((r=>{n.emit(e,t,((e,t)=>{if(e)return r.error(ze.fromPublicError(e));r.response(t)}))}),this._options.requestTimeout)}_addAuthData(e,t){this._socketAuth={environmentId:e,userId:t,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=jt.CONNECTED;const e=async(e,t,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(e){}};this._token.on("change:value",e),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",e)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=jt.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const e of this._channels.values())e.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_debugEvent(e,t){if(!this._isDebugModeEnabled())return;const n=void 0!==t?", data: "+t:"";console.info((new Date).toLocaleString()+" "+e+n)}_reconnectionAttemptError(e){this._connectionAttempt>=2&&(this.disconnect(),e(Ye.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a slow, unstable, missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:e}){this._removeAuthData(),this.fire("error",ze.fromPublicError(e))}async _authenticate(e){try{this._debugEvent("authenticate:start");const t=await this._emit(2,{token:e});this._debugEvent("authenticate:success","envId: "+t.environmentId+", userId: "+t.userId),this._addAuthData(t.environmentId,t.userId)}catch(e){throw this._debugEvent("authenticate:error",e.message),this._removeAuthData(),e}}_isDebugModeEnabled(){var e;return!!s.global.window.localStorage&&"true"===(null!==(e=s.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==e?e:"false").toLowerCase()}}Dt.STATE_DISCONNECTED=jt.DISCONNECTED,Dt.STATE_CONNECTING=jt.CONNECTING,Dt.STATE_CONNECTED=jt.CONNECTED,Dt._CHANGE_STATE_EVENT_PRIORITY=s.priorities.get("highest")+999999;const Nt=Dt;class xt extends Ae{constructor(e){super(),this.bundleVersion=e}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(e){return new xt(e.bundleVersion)}}xt.TYPE="131",xt.READABLE_TYPE_NAME="isEditorBundleUploaded",xt.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",xt.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}};class Vt extends Ae{constructor(e){super(),this.isUploaded=e}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(e){return new Vt(e.isUploaded)}}Vt.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",Vt.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}};class Mt extends((0,s.EmitterMixin)()){static async isBundleUploaded(e,t){const n=new xt(t);if(e.state!==jt.CONNECTED)throw new Ye("WebSocket Gateway is not connected.",e);const r=await e._sendRequest(Mt._SERVICE,xt.TYPE,Re.encode(n));return Re.decode(r,Vt).isUploaded}}Mt._SERVICE=13;const Bt=Mt;class Ut extends Ae{constructor(e,t){super(),this.documentId=e,this.revisionId=t}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(e){return new Ut(e.documentId,e.revisionId)}}Ut.TYPE="123",Ut.READABLE_TYPE_NAME="getRevision",Ut.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",Ut.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}};class Jt extends Se{static create(e){return{revisionId:e.id,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.stringify(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds}}static toJSON(e){var t;return{revisionId:e.revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.stringify(e.authorsIds):void 0,diffData:e.diffData,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static fromJSON(e){return{revisionId:(e={...e}).revisionId,name:e.name,creatorId:e.creatorId,authorsIds:e.authorsIds?JSON.parse(e.authorsIds):void 0,diffData:e.diffData,createdAt:e.createdAt?new Date(e.createdAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):void 0,toVersion:e.toVersion,fromVersion:e.fromVersion,isEmptyCurrent:e.isEmptyCurrent}}static toObject(e){return function(e){for(const[t,n]of Object.entries(e))void 0===n&&delete e[t];return e}({id:e.revisionId,name:e.name,creatorId:e.creatorId,createdAt:e.createdAt,fromVersion:e.fromVersion,toVersion:e.toVersion,isEmptyCurrent:e.isEmptyCurrent,diffData:e.diffData?JSON.parse(e.diffData):void 0,attributes:e.attributes,authorsIds:e.authorsIds})}}Jt.DESCRIPTOR_NAME="RevisionDescriptor",Jt.DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}};class qt extends Ae{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.revisionId=e,this.name=t,this.creatorId=n,this.authorsIds=r,this.createdAt=s,this.diffData=o,this.attributes=i,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=d}toJSON(){return Jt.toJSON(this)}toObject(){return Jt.toObject(this)}static create(e){return new qt(e.revisionId,e.name,e.creatorId,e.authorsIds,e.createdAt,e.diffData,e.attributes,e.fromVersion,e.toVersion,e.isEmptyCurrent)}static fromJSON(e){return new qt(e.revisionId,e.name,e.creatorId,e.authorsIds?JSON.parse(e.authorsIds):void 0,e.createdAt?new Date(e.createdAt):void 0,e.diffData,e.attributes?JSON.parse(e.attributes):void 0,e.fromVersion,e.toVersion,e.isEmptyCurrent)}}qt.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",qt.DESCRIPTOR=Jt.DESCRIPTOR;class Gt extends Ae{constructor(e,t,n){super(),this.documentId=e,this.requestId=t,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Jt.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(Jt.toObject)}}static create(e){return new Gt(e.documentId,e.requestId,e.revisions.map(Jt.create))}static fromJSON(e){return new Gt(e.documentId,e.requestId,e.revisions.map(Jt.fromJSON))}}Gt.TYPE="124",Gt.READABLE_TYPE_NAME="updateRevisions",Gt.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",Gt.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};class Lt extends Ae{constructor(e){super(),this.requestId=e}toJSON(){return{requestId:this.requestId}}static fromJSON(e){return new Lt(e.requestId)}}Lt.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",Lt.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}};class Yt extends Ae{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Yt(e.documentId)}}Yt.TYPE="121",Yt.READABLE_TYPE_NAME="connectToRevisionHistory",Yt.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",Yt.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class zt extends Ae{constructor(e,t,n){super(),this.channel=e,this.requestId=t,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Jt.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(Jt.toObject)}}static fromJSON(e){return new zt(e.channel,e.requestId,e.revisions.map(Jt.fromJSON))}}zt.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",zt.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}};class Ht extends Ae{constructor(e,t){super(),this.documentId=e,this.requestId=t}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(e){return new Ht(e.documentId,e.requestId)}}Ht.TYPE="122",Ht.READABLE_TYPE_NAME="reconnectToRevisionHistory",Ht.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",Ht.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}};class Ft extends Ye{constructor(e,t){super(e+" Service is not connected.",t)}}class Kt extends((0,s.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}connect(e){return this._isConnected?Promise.resolve():this._connect(e,new Yt(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(e,t){if(this.isConnected)throw new Ye("Cannot reconnect to already connected service.",e);return this._connect(e,new Ht(this._documentId,t))}async updateRevisions(e,t){const n=Gt.create({documentId:this._documentId,requestId:t,revisions:e}),r=await this._sendRequest(Gt.TYPE,n),{requestId:s}=Re.decode(r,Lt);return s}async getRevision(e){const t=new Ut(this._documentId,e),n=await this._sendRequest(Ut.TYPE,t);return Re.decode(n,qt).toObject()}async _connect(e,t){if(e.state!==jt.CONNECTED)throw new Ye("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(12,t.constructor.TYPE,Re.encode(t)),{channel:r,requestId:s,revisions:o}=Re.decode(n,zt).toObject();return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Nt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),{revisions:o,requestId:s}}_connectToChannel(e,t){this._channel=e._getChannel(Kt._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(Gt.TYPE),((e,t)=>{const{documentId:n,requestId:r,revisions:s}=Re.decode(t,Gt).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:r,revisionsData:s})}))}_onWsGatewayStateChange(e){e===jt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Ft("Revision History",this);return this._wsGateway._sendRequest(12,e,Re.encode(t))}}Kt._SERVICE=12;const Wt=Kt;class Qt extends Ae{constructor(e,t,n,r={},s=null,o=null){super(),this.id=e,this.documentId=t,this.type=n,this.data=r,this.originalSuggestionId=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){var t;return new Qt(e.id,e.documentId,e.type,JSON.parse(e.data),null!==(t=e.originalSuggestionId)&&void 0!==t?t:null,e.attributes?JSON.parse(e.attributes):null)}}Qt.TYPE="101",Qt.READABLE_TYPE_NAME="addSuggestion",Qt.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",Qt.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}};class Xt extends Ae{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=r?new Date(r):void 0}toJSON(){var e;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(e=this.createdAt)||void 0===e?void 0:e.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new Xt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}Xt.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",Xt.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};class $t extends Ae{constructor(e,t){super(),this.id=e,this.documentId=t}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(e){return new $t(e.id,e.documentId)}}$t.TYPE="103",$t.READABLE_TYPE_NAME="getSuggestion",$t.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",$t.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}};class Zt extends Ae{constructor(e,t,n,r,s,o,i={},a=null){super(),this.id=e,this.authorId=t,this.type=n,this.hasComments=s,this.state=o,this.data=i,this.attributes=a,this.createdAt=new Date(r)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new Zt(e.id,e.authorId,e.type,e.createdAt,e.hasComments,e.state,JSON.parse(e.data),e.attributes?JSON.parse(e.attributes):null)}}Zt.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",Zt.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}};class en extends Ae{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new en(e.documentId)}}en.TYPE="102",en.READABLE_TYPE_NAME="getAllSuggestions",en.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",en.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class tn extends Se{static toJSON(e){var t;return{...e,data:e.data?JSON.stringify(e.data):e.data,attributes:e.attributes?JSON.stringify(e.attributes):e.attributes,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{...e,data:e.data?JSON.parse(e.data):e.data,attributes:e.attributes?JSON.parse(e.attributes):e.attributes,createdAt:e.createdAt?new Date(e.createdAt):void 0}}}tn.DESCRIPTOR_NAME="SuggestionDescriptor",tn.DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}};class nn extends Ae{constructor(e,t){super(),this._suggestions=e,this._suggestionsV2=t,this.suggestions=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(tn.toJSON)}}static fromJSON(e){var t,n;return new nn(null===(t=e.suggestions)||void 0===t?void 0:t.map(rn),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(tn.fromJSON))}}function rn(e){const t=JSON.parse(e);return t.createdAt=t.createdAt?new Date(t.createdAt):void 0,t}nn.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",nn.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}};class sn extends Ae{constructor(e,t,n,r,s,o=null){super(),this.id=e,this.documentId=t,this.hasComments=n,this.isHasCommentsModified=r,this.state=s,this.attributes=o}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(e){return new sn(e.id,e.documentId,e.hasComments,e.isHasCommentsModified,e.state,e.attributes?JSON.parse(e.attributes):null)}}sn.TYPE="104",sn.READABLE_TYPE_NAME="updateSuggestion",sn.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",sn.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}};class on extends Ae{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new on(e.documentId)}}on.TYPE="105",on.READABLE_TYPE_NAME="connectToSuggestions",on.DESCRIPTOR_NAME="TrackChangesConnectMessage",on.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class an extends Ae{constructor(e,t,n){super(),this.channel=e,this._suggestions=t,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,suggestions:null===(e=this._suggestions)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),suggestionsV2:null===(t=this._suggestionsV2)||void 0===t?void 0:t.map(tn.toJSON)}}static fromJSON(e){var t,n;return new an(e.channel,null===(t=e.suggestions)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.suggestionsV2)||void 0===n?void 0:n.map(tn.fromJSON))}}an.DESCRIPTOR_NAME="TrackChangesConnectResponse",an.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}};class cn extends Ae{constructor(e,t,n){super(),this.ids=e,this.documentId=t,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(e){return new cn(e.ids,e.documentId,e.state)}}cn.TYPE="106",cn.READABLE_TYPE_NAME="batchUpdateSuggestionsState",cn.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",cn.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}};class dn extends((0,s.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==jt.CONNECTED)throw new Ye("WebSocket Gateway is not connected.",e);const t=new on(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(10,on.TYPE,Re.encode(t)),r=Re.decode(n,an);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Nt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(e,t,n,r=null,s){const o=new Qt(e,this._documentId,t,n,r,s),i=await this._sendRequest(Qt.TYPE,o);return Re.decode(i,Xt)}async get(e,t=1){const n=new $t(e,this._documentId);try{const e=await this._sendRequest($t.TYPE,n);return Re.decode(e,Zt)}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.get(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw ze.fromPublicError(n)}var r}async getAll(){const e=new en(this._documentId),t=await this._sendRequest(en.TYPE,e),{suggestions:n}=Re.decode(t,nn);return n}async update(e,t={}){const{hasComments:n,state:r,attributes:s}=t,o=void 0!==n,i=new sn(e,this._documentId,n,o,r,s);await this._sendRequest(sn.TYPE,i)}async batchUpdateState(e){const t=new cn(e.ids,this._documentId,e.state);await this._sendRequest(cn.TYPE,t)}_connectToChannel(e,t){this._channel=e._getChannel(dn._SERVICE,t),this._channel&&this.listenTo(this._channel,this._channel.getEventName(sn.TYPE),((e,t)=>{const n=Re.decode(t,sn);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(e){e===jt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Ft("Track Changes",this);return this._wsGateway._sendRequest(10,e,Re.encode(t))}}dn._SERVICE=10;const un=dn;class ln extends Ae{constructor(e,t=[]){super(),this.channel=e,this.sockets=t}toJSON(){return{channel:this.channel,sockets:this.sockets.map((e=>({user:e.userId,session:e.id,role:e.role,permissions:e.permissions})))}}static fromJSON(e){return new ln(e.channel,e.sockets.map((e=>({id:e.session,userId:e.user,role:e.role,permissions:e.permissions}))))}}ln.DESCRIPTOR_NAME="SessionsConnectResponse",ln.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}};class pn extends Ae{constructor(e,t){super(),this.id=e,this.sessionType=t}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(e){return new pn(e.id,e.sessionType)}}pn.TYPE="31",pn.READABLE_TYPE_NAME="getConnectedSockets",pn.DESCRIPTOR_NAME="SessionsConnectMessage",pn.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}};class hn extends Ae{constructor(e,t,n,r){super(),this.id=e,this.userId=t,this.role=n,this.permissions=r}toJSON(){var e,t,n;return{id:this.id,userId:null!==(e=this.userId)&&void 0!==e?e:void 0,role:null!==(t=this.role)&&void 0!==t?t:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(e){return new hn(e.id,e.userId,e.role,e.permissions)}}hn.TYPE="32",hn.READABLE_TYPE_NAME="connectSocket",hn.DESCRIPTOR_NAME="SocketConnectMessage",hn.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}};class fn extends Ae{constructor(e){super(),this.id=e}toJSON(){return{id:this.id}}static fromJSON(e){return new fn(e.id)}}fn.TYPE="33",fn.READABLE_TYPE_NAME="disconnectSocket",fn.DESCRIPTOR_NAME="SocketDisconnectMessage",fn.DESCRIPTOR={fields:{id:{type:"string",id:1}}};const mn=class extends s.Collection{constructor(e,t){super({idProperty:"id"}),this._id=e,this._sessionType=t,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(e){this._wsGateway=e,this.stopListening(e,"change:state");const t=new pn(this._id,this._sessionType);let n;try{const e=await this._wsGateway._sendRequest(3,pn.TYPE,Re.encode(t));n=Re.decode(e,ln)}catch(e){n=new ln(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const r=await async function(e,t){const n=t.map((e=>e.userId)),r=n.length?await Le.getMany(e,n):[];return t.map((e=>{const t={id:e.id,role:e.role,permissions:e.permissions};return t.user=e.userId&&r.find((t=>t.id===e.userId))||new Le,t}))}(this._wsGateway,n.sockets);for(const e of r)super.add(e);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Nt._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(e=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&e&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),e&&this.stopListening()}}add(e,t){throw new TypeError("The collection is read-only.")}remove(e){throw new TypeError("The collection is read-only.")}_connectToChannel(e,t,n){this._channel=e._getChannel(n,t),this._channel&&(this._addHandler(this._channel,hn.TYPE,(async t=>{const n=Re.decode(t,hn);if(-1===this.getIndex(n.id)){const t={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(t.user=await Le.get(e,n.userId)),super.add(t)}})),this._addHandler(this._channel,fn.TYPE,(e=>{const t=Re.decode(e,fn);-1!==this.getIndex(t.id)&&super.remove(t.id)})))}async _onWsGatewayStateChange(e){e===Nt.STATE_DISCONNECTED&&this.disconnect(!1),e===Nt.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let e;for(this._isRunning=!0;e=this._eventsQueue.shift();){const t=this._handlers.get(e.eventName);t&&await t(e.data)}this._isRunning=!1}_addHandler(e,t,n){const r=e.getEventName(t,!0);this.listenTo(e,r,(async(e,t)=>{const n=e.name;this._eventsQueue.push({eventName:n,data:t}),await this._runQueue()})),this._handlers.set(r,n)}};var yn,gn=new Uint8Array(16);function bn(){if(!yn&&!(yn="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return yn(gn)}const On=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const wn=function(e){return"string"==typeof e&&On.test(e)};for(var In=[],vn=0;vn<256;++vn)In.push((vn+256).toString(16).substr(1));const Sn=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(In[e[t+0]]+In[e[t+1]]+In[e[t+2]]+In[e[t+3]]+"-"+In[e[t+4]]+In[e[t+5]]+"-"+In[e[t+6]]+In[e[t+7]]+"-"+In[e[t+8]]+In[e[t+9]]+"-"+In[e[t+10]]+In[e[t+11]]+In[e[t+12]]+In[e[t+13]]+In[e[t+14]]+In[e[t+15]]).toLowerCase();if(!wn(n))throw TypeError("Stringified UUID is invalid");return n};const An=function(e,t,n){var r=(e=e||{}).random||(e.rng||bn)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var s=0;s<16;++s)t[n+s]=r[s];return t}return Sn(r)};class Pn{static async getConnectedSessions(e,t,n){const r=new mn(t,n);return await r.connect(e),r}}class Tn extends Ae{constructor(e,t,n,r,s=""){super(),this.id=e,this.buffers=t,this.types=n,this.bundleVersion=r,this.lastOperationId=s}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,bundleVersion:this.bundleVersion,lastOperationId:this.lastOperationId}}static fromJSON(e){return new Tn(e.id,e.buffers,e.types,e.bundleVersion,e.lastOperationId)}}Tn.TYPE="11",Tn.READABLE_TYPE_NAME="connectToDocument",Tn.DESCRIPTOR_NAME="CollaborativeEditingConnectMessage",Tn.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},lastOperationId:{type:"string",id:5}}};class _n{static prepareMetadataForOperations(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];let r=0;for(const s of e)if(0!==s){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r]),r++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(e,t){if(!(e&&e.length&&t&&t.length))return[];const n=[];for(let r=0;r<e.length;r++)if(0!==e[r]){if(!t[r])throw new Error("Missing metadata for a operation");n.push(t[r])}return n}}class kn extends Se{static toJSON({createdAt:e,...t}){const n={...t};return(null==e?void 0:e.toISOString)&&(n.createdAt=e.toISOString()),n}static fromJSON({createdAt:e,...t}){const n={...t};return e&&(n.createdAt=new Date(e)),n}}kn.DESCRIPTOR_NAME="OperationMetadataDescriptor",kn.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}};class Cn extends Ae{constructor(e,t,n,r,s=[],o=""){super(),this.id=e,this.buffers=t,this.types=n,this.baseVersion=r,this.metadata=s,this.lastOperationId=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,lastOperationId:this.lastOperationId}}toJSON(){return{id:this.id,buffers:this.buffers,types:this.types,baseVersion:this.baseVersion,metadata:_n.removeUnnecessaryMetadata(this.types,this.metadata).map(kn.toJSON),lastOperationId:this.lastOperationId}}static fromJSON(e){return new Cn(e.id,e.buffers,e.types,e.baseVersion,_n.prepareMetadataForOperations(e.types,e.metadata).map(kn.fromJSON),e.lastOperationId)}}Cn.TYPE="13",Cn.READABLE_TYPE_NAME="updateDocument",Cn.DESCRIPTOR_NAME="CollaborativeEditingUpdateMessage",Cn.DESCRIPTOR={fields:{id:{type:"string",id:1},baseVersion:{type:"uint32",id:2},buffers:{rule:"repeated",type:"bytes",id:3},types:{rule:"repeated",type:"uint32",id:4},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:6},lastOperationId:{type:"string",id:7}}};class En extends Ae{constructor(e,t,n){super(),this.id=e,this.lastKnowVersion=t,this.bundleVersion=n}toJSON(){return{id:this.id,bundleVersion:this.bundleVersion,lastKnowVersion:this.lastKnowVersion}}static fromJSON(e){return new En(e.id,e.lastKnowVersion,e.bundleVersion)}}En.TYPE="12",En.READABLE_TYPE_NAME="reconnectToDocument",En.DESCRIPTOR_NAME="CollaborativeEditingReconnectMessage",En.DESCRIPTOR={fields:{id:{type:"string",id:1},bundleVersion:{type:"string",id:2},lastKnowVersion:{type:"uint32",id:3}}};class jn extends Ae{constructor(e,t=[],n=[],r=[],s="",o=null){super(),this.version=e,this.buffers=t,this.types=n,this.metadata=r,this.lastOperationId=s,this.lastOperationAcceptedAt=o}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)}toJSON(){return{version:this.version,buffers:this.buffers,types:this.types,metadata:_n.removeUnnecessaryMetadata(this.types,this.metadata).map(kn.toJSON),lastOperationId:this.lastOperationId,lastOperationAcceptedAt:this.lastOperationAcceptedAt instanceof Date?this.lastOperationAcceptedAt.toISOString():this.lastOperationAcceptedAt}}static fromJSON(e){return new jn(e.version,e.buffers,e.types,_n.prepareMetadataForOperations(e.types,e.metadata).map(kn.fromJSON),e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}static create(e){return new jn(e.version,e.buffers,e.types,e.metadata,e.lastOperationId,e.lastOperationAcceptedAt?new Date(e.lastOperationAcceptedAt):null)}}jn.DESCRIPTOR_NAME="CollaborativeEditingResponse",jn.DESCRIPTOR={fields:{version:{type:"uint32",id:1},buffers:{rule:"repeated",type:"bytes",id:2},types:{rule:"repeated",type:"uint32",id:3},metadata:{rule:"repeated",type:"OperationMetadataDescriptor",id:5},lastOperationId:{type:"string",id:6},lastOperationAcceptedAt:{type:"string",id:7}}};class Rn extends Ae{constructor(e,t,n=[],r=[],s=0,o=[],i=null,a="",c="",d=null){super(),this.channel=e,this.version=t,this.buffers=n,this.types=r,this.offset=s,this.metadata=o,this.initData=i,this.sessionId=a,this.lastOperationId=c,this.sessionCreatedAt=d}get data(){return{buffers:this.buffers,types:this.types,baseVersion:this.version-this.types.length,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt}}get wereChangesApplied(){var e;return!(null===(e=this.types)||void 0===e?void 0:e.length)&&null===this.initData}toJSON(){var e;return{channel:this.channel,version:this.version,sessionId:this.sessionId,buffers:this.buffers,types:this.types,offset:this.offset,metadata:_n.removeUnnecessaryMetadata(this.types,this.metadata).map(kn.toJSON),initData:null!==(e=this.initData)&&void 0!==e?e:"",isInitialized:"string"==typeof this.initData,lastOperationId:this.lastOperationId,sessionCreatedAt:this.sessionCreatedAt?this.sessionCreatedAt.toISOString():null}}static create(e){return new Rn(e.channel,e.version,e.buffers,e.types,e.offset,e.metadata,e.initData,e.sessionId,e.lastOperationId,e.sessionCreatedAt)}static fromJSON(e){var t;let n=null;return!0===e.isInitialized?n=null!==(t=e.initData)&&void 0!==t?t:"":"boolean"!=typeof e.isInitialized&&e.initData&&(n=e.initData),Rn.create({channel:e.channel,version:e.version,buffers:e.buffers,types:e.types,offset:e.offset,metadata:_n.prepareMetadataForOperations(e.types,e.metadata).map(kn.fromJSON),initData:n,sessionId:e.sessionId,lastOperationId:e.lastOperationId,sessionCreatedAt:e.sessionCreatedAt?new Date(e.sessionCreatedAt):null})}}Rn.DESCRIPTOR_NAME="CollaborativeEditingConnectResponse",Rn.DESCRIPTOR={fields:{channel:{type:"string",id:1},offset:{type:"uint32",id:2},version:{type:"uint32",id:3},buffers:{rule:"repeated",type:"bytes",id:4},types:{rule:"repeated",type:"uint32",id:5},metadata:{rule:"repeated",type:kn.DESCRIPTOR_NAME,id:7},initData:{type:"string",id:8},isInitialized:{type:"bool",id:9},sessionId:{type:"string",id:10},lastOperationId:{type:"string",id:11},sessionCreatedAt:{type:"string",id:12}}};class Dn extends Ae{constructor(e,t){super(),this.lastDocumentSession=e,this.currentDocumentSession=t}get data(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}toJSON(){var e,t,n,r,s;return{lastDocumentSessionId:null===(e=this.lastDocumentSession)||void 0===e?void 0:e.id,lastDocumentSessionOperationId:null===(t=this.lastDocumentSession)||void 0===t?void 0:t.lastOperationId,currentDocumentSessionId:null===(n=this.currentDocumentSession)||void 0===n?void 0:n.id,currentDocumentSessionVersion:null===(r=this.currentDocumentSession)||void 0===r?void 0:r.version,currentDocumentSessionOperationId:null===(s=this.currentDocumentSession)||void 0===s?void 0:s.lastOperationId}}static fromJSON(e){const t=e.lastDocumentSessionId?{id:e.lastDocumentSessionId,lastOperationId:e.lastDocumentSessionOperationId}:void 0,n=e.currentDocumentSessionId?{lastOperationId:e.currentDocumentSessionOperationId,version:e.currentDocumentSessionVersion,id:e.currentDocumentSessionId}:void 0;return new Dn(t,n)}}Dn.DESCRIPTOR_NAME="GetDocumentDetailsResponse",Dn.DESCRIPTOR={fields:{lastDocumentSessionId:{type:"string",id:1},lastDocumentSessionOperationId:{type:"string",id:2},currentDocumentSessionId:{type:"string",id:3},currentDocumentSessionVersion:{type:"uint32",id:4},currentDocumentSessionOperationId:{type:"string",id:5}}};class Nn extends Ae{constructor(e){super(),this.documentId=e}get data(){return{documentId:this.documentId}}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Nn(e.documentId)}}Nn.TYPE="14",Nn.READABLE_TYPE_NAME="getDocumentDetails",Nn.DESCRIPTOR_NAME="GetDocumentDetailsMessage",Nn.DESCRIPTOR={fields:{documentId:{type:"string",id:1},environmentId:{type:"string",id:2}}};class xn extends((0,s.EmitterMixin)()){constructor(e,t){if(super(),!e)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=t?t:An(),this._isConnected=!1,this._bundleVersion=e}getId(){return this._id}isConnected(){return this._isConnected}connect(e,t={buffers:[],types:[]},n){const r=new Tn(this.getId(),t.buffers,t.types,this._bundleVersion,n);return this._connect(e,r)}reconnect(e,t){if(this.isConnected())throw new Ye("Cannot reconnect to already connected service.",e);return this._connect(e,new En(this.getId(),t,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const e=new Nn(this.getId());if(!this._wsGateway)throw new Ft("Collaborative Editing",this);const t=await this._wsGateway._sendRequest(1,Nn.TYPE,Re.encode(e));return Re.decode(t,Dn)}async sendOperations(e,t,n){if(!e||!e.types||!e.types.length)throw new Ye("Cannot send empty update.",this._wsGateway);const r="number"==typeof t?t:parseInt(t);if(!Number.isInteger(r)||r<0)throw new Ye("Base version not provided.",this._wsGateway);const s=new Cn(this.getId(),e.buffers,e.types,r,[],n);if(!this._wsGateway||!this._isConnected)throw new Ft("Collaborative Editing",this);const o=await this._wsGateway._sendRequest(1,Cn.TYPE,Re.encode(s));return Re.decode(o,jn)}async getConnectedSessions(){if(!this._isConnected)throw new Ft("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await Pn.getConnectedSessions(this._wsGateway,this._id,1)),this._connectedSessions}static getConnectedSessions(e,t){return Pn.getConnectedSessions(e,t,1)}async _connect(e,t){if(this.isConnected())return;if(e.state!==Nt.STATE_CONNECTED)throw new Ye("WebSocket Gateway is not connected.",e);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(1,t.constructor.TYPE,Re.encode(t)),r=Re.decode(n,Rn);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Nt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r.channel),this._isConnected=!0,this.fire("connected"),r}_connectToChannel(e,t){this._channel=e._getChannel(1,t),this.listenTo(this._channel,this._channel.getEventName(Cn.TYPE),((e,t)=>{const n=Re.decode(t,Cn);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(e){e===Nt.STATE_DISCONNECTED&&this.disconnect()}}xn._SERVICE=1;const Vn=xn;class Mn extends Se{static toJSON(e){var t;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null}}static fromJSON(e){return{...e,createdAt:new Date(e.createdAt),attributes:e.attributes?JSON.parse(e.attributes):null}}}Mn.DESCRIPTOR_NAME="CommentDescriptor",Mn.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}};class Bn extends Se{static toJSON(e){var t,n,r,s,o;return{...e,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString(),deletedAt:null===(n=e.deletedAt)||void 0===n?void 0:n.toISOString(),resolvedAt:null===(r=e.resolvedAt)||void 0===r?void 0:r.toISOString(),attributes:e.attributes?JSON.stringify(e.attributes):null,context:e.context?JSON.stringify(e.context):e.context,comments:null===(s=e.comments)||void 0===s?void 0:s.map(Mn.toJSON),unlinkedAt:null===(o=e.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t;return{...e,createdAt:e.createdAt?new Date(e.createdAt):void 0,deletedAt:e.deletedAt?new Date(e.deletedAt):void 0,resolvedAt:e.resolvedAt?new Date(e.resolvedAt):void 0,attributes:e.attributes?JSON.parse(e.attributes):null,context:e.context?JSON.parse(e.context):void 0,comments:null===(t=e.comments)||void 0===t?void 0:t.map(Mn.fromJSON),unlinkedAt:e.unlinkedAt?new Date(e.unlinkedAt):void 0}}}Bn.DESCRIPTOR_NAME="CommentsThreadDescriptor",Bn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4},context:{type:"string",id:5},createdAt:{type:"string",id:6},deletedAt:{type:"string",id:7},attributes:{type:"string",id:8},unlinkedAt:{type:"string",id:9}}};class Un extends Ae{constructor(e,t,n,r="",s,o="",i=null,a){super(),this.documentId=e,this.commentThreadId=t,this.content=n,this.commentId=r,this.userId=o,this.attributes=i,this.commentThread=a,this.createdAt=s?new Date(s):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes),commentThread:this.commentThread?Bn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new Un(e.documentId,e.commentThreadId,e.content,e.commentId?e.commentId:void 0,e.createdAt?new Date(e.createdAt):void 0,e.userId?e.userId:void 0,e.attributes?JSON.parse(e.attributes):{},e.commentThread?Bn.fromJSON(e.commentThread):void 0)}}Un.TYPE="91",Un.READABLE_TYPE_NAME="addComment",Un.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",Un.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7},commentThread:{type:"CommentsThreadDescriptor",id:8}}};class Jn extends Ae{constructor(e,t,n){super(),this.commentThreadId=e,this.commentId=t,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(e){return new Jn(e.commentThreadId,e.commentId,e.createdAt)}}Jn.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",Jn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}};class qn extends Ae{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new qn(e.documentId)}}qn.TYPE="92",qn.READABLE_TYPE_NAME="connectToComment",qn.DESCRIPTOR_NAME="CommentsV2ConnectMessage",qn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class Gn extends Ae{constructor(e,t,n){super(),this.channel=e,this._threads=t,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:t}toJSON(){var e,t;return{channel:this.channel,threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Bn.toJSON)}}static fromJSON(e){var t,n;return new Gn(e.channel,null===(t=e.threads)||void 0===t?void 0:t.map((e=>JSON.parse(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Bn.fromJSON))}}Gn.DESCRIPTOR_NAME="CommentsV2ConnectResponse",Gn.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}};class Ln extends Ae{constructor(e,t,n){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(e){return new Ln(e.documentId,e.commentThreadId,e.commentId)}}Ln.TYPE="95",Ln.READABLE_TYPE_NAME="removeComment",Ln.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",Ln.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}};class Yn extends Ae{constructor(e,t){super(),this.documentId=e,this.commentThreadId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new Yn(e.documentId,e.commentThreadId)}}Yn.TYPE="97",Yn.READABLE_TYPE_NAME="removeCommentThread",Yn.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",Yn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class zn extends Ae{constructor(e,t,n,r,s=null,o=!1,i){super(),this.documentId=e,this.commentThreadId=t,this.commentId=n,this.content=r,this.attributes=s,this.isAttributesUpdated=o,this.commentThread=i}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated,commentThread:this.commentThread?Bn.toJSON(this.commentThread):void 0}}static fromJSON(e){return new zn(e.documentId,e.commentThreadId,e.commentId,e.content,e.attributes?JSON.parse(e.attributes):null,e.isAttributesUpdated,e.commentThread?Bn.fromJSON(e.commentThread):void 0)}}zn.TYPE="96",zn.READABLE_TYPE_NAME="updateComment",zn.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",zn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6},commentThread:{type:"CommentsThreadDescriptor",id:7}}};class Hn extends Ae{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(e){return new Hn(e.commentThreadId,e.documentId)}}Hn.TYPE="93",Hn.READABLE_TYPE_NAME="getComment",Hn.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",Hn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class Fn extends Ae{constructor(e,t,n,r,s,o,i,a,c,d){super(),this.commentThreadId=e,this._comments=t,this._commentsV2=n,this.resolvedBy=s,this.comments=(null==n?void 0:n.length)?n:t,this.createdAt=i?new Date(i):void 0,this.deletedAt="string"==typeof a?new Date(a):a,this.resolvedAt="string"==typeof c?new Date(c):c,this.unlinkedAt="string"==typeof d?new Date(d):d,this.attributes="string"==typeof r?JSON.parse(r):r,this.context="string"==typeof o?JSON.parse(o):o}toJSON(){var e,t,n,r,s,o;return{commentThreadId:this.commentThreadId,comments:null===(e=this._comments)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),commentsV2:null===(t=this._commentsV2)||void 0===t?void 0:t.map(Mn.toJSON),attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,context:this.context?JSON.stringify(this.context):this.context,resolvedBy:this.resolvedBy,createdAt:null===(n=this.createdAt)||void 0===n?void 0:n.toISOString(),deletedAt:null===(r=this.deletedAt)||void 0===r?void 0:r.toISOString(),resolvedAt:null===(s=this.resolvedAt)||void 0===s?void 0:s.toISOString(),unlinkedAt:null===(o=this.unlinkedAt)||void 0===o?void 0:o.toISOString()}}static fromJSON(e){var t,n;return new Fn(e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((e=>function(e){const t=JSON.parse(e);return{...t,createdAt:new Date(t.createdAt)}}(e))),null===(n=e.commentsV2)||void 0===n?void 0:n.map(Mn.fromJSON),e.attributes?JSON.parse(e.attributes):e.attributes,e.resolvedBy,e.context?JSON.parse(e.context):e.context,e.createdAt,e.deletedAt,e.resolvedAt,e.unlinkedAt)}}Fn.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",Fn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3},resolvedAt:{type:"string",id:4},resolvedBy:{type:"string",id:5},context:{type:"string",id:6},createdAt:{type:"string",id:7},deletedAt:{type:"string",id:8},attributes:{type:"string",id:9},unlinkedAt:{type:"string",id:10}}};class Kn extends Ae{constructor(e){super(),this.documentId=e}toJSON(){return{documentId:this.documentId}}static fromJSON(e){return new Kn(e.documentId)}}Kn.TYPE="94",Kn.READABLE_TYPE_NAME="getDocumentThreads",Kn.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",Kn.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}};class Wn extends Ae{constructor(e,t){super(),this._threads=e,this._threadsV2=t,this.threads=(null==t?void 0:t.length)?t:e}toJSON(){var e,t;return{threads:null===(e=this._threads)||void 0===e?void 0:e.map((e=>JSON.stringify(e))),threadsV2:null===(t=this._threadsV2)||void 0===t?void 0:t.map(Bn.toJSON)}}static fromJSON(e){var t,n;return new Wn(null===(t=e.threads)||void 0===t?void 0:t.map((e=>function(e){var t;const n=JSON.parse(e),r={...n};return n.comments&&(r.comments=null===(t=n.comments)||void 0===t?void 0:t.map((e=>({...e,createdAt:new Date(e.createdAt)})))),r}(e))),null===(n=e.threadsV2)||void 0===n?void 0:n.map(Bn.fromJSON))}}Wn.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",Wn.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}};class Qn extends Se{static toJSON(e){var t;return{commentId:e.commentId,createdAt:null===(t=e.createdAt)||void 0===t?void 0:t.toISOString()}}static fromJSON(e){return{commentId:e.commentId,createdAt:new Date(e.createdAt)}}}Qn.DESCRIPTOR_NAME="CommentThreadAddedCommentDescriptor",Qn.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},createdAt:{id:2,type:"string"}}};class Xn extends Ae{constructor(e,t,n=[]){super(),this.commentThreadId=e,this.comments=n,this.createdAt=new Date(t)}toJSON(){return{commentThreadId:this.commentThreadId,createdAt:this.createdAt.toISOString(),comments:this.comments.map((e=>Qn.toJSON(e)))}}static fromJSON(e){return new Xn(e.commentThreadId,e.createdAt,e.comments.map((e=>Qn.fromJSON(e))))}}Xn.DESCRIPTOR_NAME="CommentsV2AddCommentThreadResponse",Xn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},createdAt:{type:"string",id:2},comments:{type:"CommentThreadAddedCommentDescriptor",rule:"repeated",id:3}}};class $n extends Ae{constructor(e,t,n=[],r,s=null,o=null,i=null,a=null,c=null){super(),this.documentId=e,this.commentThreadId=t,this.comments=n,this.context=r,this.resolvedBy=s,this.attributes=c,this.createdAt=o?new Date(o):"",this.resolvedAt=i?new Date(i):"",this.deletedAt=a?new Date(a):""}toJSON(){var e;return{commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt instanceof Date?this.resolvedAt.toISOString():this.resolvedAt,deletedAt:this.deletedAt instanceof Date?this.deletedAt.toISOString():this.deletedAt,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,attributes:this.attributes?JSON.stringify(this.attributes):this.attributes,comments:null===(e=this.comments)||void 0===e?void 0:e.map((e=>Mn.toJSON(e)))}}static fromJSON(e){var t;return new $n(e.documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>Mn.fromJSON({...t,documentId:e.documentId,commentThreadId:e.commentThreadId}))),e.context?JSON.parse(e.context):e.context,e.resolvedBy,e.createdAt?new Date(e.createdAt):void 0,e.resolvedAt?new Date(e.resolvedAt):void 0,e.deletedAt?new Date(e.deletedAt):void 0,e.attributes?JSON.parse(e.attributes):e.attributes)}}$n.TYPE="140",$n.READABLE_TYPE_NAME="addCommentThread",$n.DESCRIPTOR_NAME="CommentsV2AddCommentThreadMessage",$n.DESCRIPTOR={fields:{documentId:{type:"string",id:1},commentThreadId:{type:"string",id:2},context:{type:"string",id:3},createdAt:{type:"string",id:4},resolvedAt:{type:"string",id:5},resolvedBy:{type:"string",id:6},attributes:{type:"string",id:7},deletedAt:{type:"string",id:8},comments:{type:"CommentDescriptor",rule:"repeated",id:9}}};class Zn extends Ae{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=r?new Date(r):void 0}toJSON(){var e;return{documentId:this.documentId,commentThreadId:this.commentThreadId,resolvedBy:this.resolvedBy,resolvedAt:null===(e=this.resolvedAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(e){return new Zn(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}Zn.TYPE="142",Zn.READABLE_TYPE_NAME="resolveCommentThread",Zn.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadMessage",Zn.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedBy:{type:"string",id:3},resolvedAt:{type:"string",id:4}}};class er extends Ae{constructor(e,t){super(),this.commentThreadId=e,this.documentId=t}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(e){return new er(e.commentThreadId,e.documentId)}}er.TYPE="141",er.READABLE_TYPE_NAME="reopenCommentThread",er.DESCRIPTOR_NAME="CommentsV2ReopenCommentThreadMessage",er.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}};class tr extends Ae{constructor(e,t,n,r=null,s=null){super(),this.commentThreadId=e,this.documentId=t,this.context=n,this.attributes=r,this.unlinkedAt=s?new Date(s):""}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,context:this.context?JSON.stringify(this.context):this.context,attributes:this.attributes?JSON.stringify(this.attributes):null,unlinkedAt:this.unlinkedAt instanceof Date?this.unlinkedAt.toISOString():this.unlinkedAt}}static fromJSON(e){return new tr(e.commentThreadId,e.documentId,e.context?JSON.parse(e.context):e.context,e.attributes?JSON.parse(e.attributes):null,e.unlinkedAt?new Date(e.unlinkedAt):null)}}tr.TYPE="143",tr.READABLE_TYPE_NAME="updateCommentThread",tr.DESCRIPTOR_NAME="CommentsV2UpdateCommentThreadMessage",tr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},context:{type:"string",id:3},attributes:{type:"string",id:4},unlinkedAt:{type:"string",id:5}}};class nr extends Ae{constructor(e,t,n,r){super(),this.commentThreadId=e,this.documentId=t,this.resolvedBy=n,this.resolvedAt=new Date(r)}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId,resolvedBy:this.resolvedBy,resolvedAt:this.resolvedAt.toISOString()}}static fromJSON(e){return new nr(e.commentThreadId,e.documentId,e.resolvedBy,e.resolvedAt)}}nr.DESCRIPTOR_NAME="CommentsV2ResolveCommentThreadResponse",nr.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2},resolvedAt:{type:"string",id:3},resolvedBy:{type:"string",id:4}}};class rr extends((0,s.EmitterMixin)()){constructor(e){super(),this._documentId=e,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(e){if(this._isConnected)return;if(e.state!==jt.CONNECTED)throw new Ye("WebSocket Gateway is not connected.",e);const t=new qn(this._documentId);this._wsGateway=e,this.stopListening(e,"change:state");const n=await e._sendRequest(9,qn.TYPE,Re.encode(t)),{channel:r,threads:s}=Re.decode(n,Gn);return this.listenTo(e,"change:state",((e,t,n)=>this._onWsGatewayStateChange(n)),{priority:Nt._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(e,r),this._isConnected=!0,this.fire("connected"),s}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(e,t,n,r){const s=new Un(this._documentId,e,n,t,void 0,void 0,r),o=await this._sendRequest(Un.TYPE,s);return Re.decode(o,Jn)}async updateComment(e,t,n,r){const s=void 0!==r,o=new zn(this._documentId,e,t,n,r,s);await this._sendRequest(zn.TYPE,o)}async removeComment(e,t){const n=new Ln(this._documentId,e,t);await this._sendRequest(Ln.TYPE,n)}async removeCommentThread(e){const t=new Yn(this._documentId,e);await this._sendRequest(Yn.TYPE,t)}async addCommentThread(e){var t;const n=new $n(this._documentId,e.commentThreadId,null===(t=e.comments)||void 0===t?void 0:t.map((t=>({...t,documentId:this._documentId,commentThreadId:e.commentThreadId}))),e.context,e.resolvedBy,e.createdAt,e.resolvedAt,e.deletedAt,e.attributes),r=await this._sendRequest($n.TYPE,n);return Re.decode(r,Xn)}async resolveCommentThread(e){const t=new Zn(e,this._documentId),n=await this._sendRequest(Zn.TYPE,t);return Re.decode(n,nr)}async reopenCommentThread(e){const t=new er(e,this._documentId);await this._sendRequest(er.TYPE,t)}async updateCommentThread(e){const t=new tr(e.commentThreadId,this._documentId,e.context,e.attributes,e.unlinkedAt);await this._sendRequest(tr.TYPE,t)}async getCommentThread(e,t=1){const n=new Hn(e,this._documentId);try{const e=await this._sendRequest(Hn.TYPE,n),t=Re.decode(e,Fn);return{commentThreadId:t.commentThreadId,comments:t.comments,attributes:t.attributes,context:t.context,resolvedAt:t.resolvedAt,resolvedBy:t.resolvedBy,deletedAt:t.deletedAt,unlinkedAt:t.unlinkedAt}}catch(n){if("CKEditorCloudServicesServerError"===n.name&&"404"===n.code&&t<5)return await(r=100*t,new Promise((e=>{setTimeout(e,r)}))),this.getCommentThread(e,t+1);if("CKEditorCloudServicesServerError"===n.name)throw n;throw ze.fromPublicError(n)}var r}async getDocumentThreads(){const e=new Kn(this._documentId),t=await this._sendRequest(Kn.TYPE,e),{threads:n}=Re.decode(t,Wn);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new Ft("Comments",this);return this._connectedSessions||(this._connectedSessions=await Pn.getConnectedSessions(this._wsGateway,this._documentId,9)),this._connectedSessions}_connectToChannel(e,t){this._channel=e._getChannel(rr._SERVICE,t),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(Un.TYPE),((e,t)=>{const n=Re.decode(t,Un);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(Ln.TYPE),((e,t)=>{const n=Re.decode(t,Ln);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(zn.TYPE),((e,t)=>{const n=Re.decode(t,zn);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(Yn.TYPE),((e,t)=>{const n=Re.decode(t,Yn);this.fire("commentThreadRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName($n.TYPE),((e,t)=>{const n=Re.decode(t,$n);this.fire("commentThreadAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(tr.TYPE),((e,t)=>{const n=Re.decode(t,tr);this.fire("commentThreadUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(Zn.TYPE),((e,t)=>{const n=Re.decode(t,Zn);this.fire("commentThreadResolved",n)})),this.listenTo(this._channel,this._channel.getEventName(er.TYPE),((e,t)=>{const n=Re.decode(t,er);this.fire("commentThreadReopened",n)})))}_onWsGatewayStateChange(e){e===jt.DISCONNECTED&&this.disconnect()}_sendRequest(e,t){if(!this._wsGateway||!this._isConnected)throw new Ft("Comments",this);return this._wsGateway._sendRequest(9,e,Re.encode(t))}}rr._SERVICE=9;const sr=rr,or=cr;!function(e){const t=cr,n=e();for(;;)try{if(284302===parseInt(t(145))/1+parseInt(t(141))/2*(parseInt(t(173))/3)+parseInt(t(176))/4+-parseInt(t(157))/5+-parseInt(t(149))/6*(-parseInt(t(153))/7)+parseInt(t(129))/8*(parseInt(t(114))/9)+parseInt(t(144))/10*(-parseInt(t(175))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ar);class ir extends r.ContextPlugin{static get[or(138)](){return[or(117),o.Notification]}static get[or(125)](){return or(124)}constructor(e){const t=or;super(e),this[t(179)](t(116),jt[t(146)]),this[t(179)](t(123),!1),this[t(158)]=new Set,this[t(160)]=!1,this[t(115)]=Object[t(169)](s.DomEmitterMixin)}[or(150)](){const e=or,t=this[e(183)],n=t[e(128)][e(168)](e(117)),r=t[e(128)][e(168)](o.Notification);if(!n[e(136)])throw new s.CKEditorError(e(167),this);if(!n[e(135)])throw new s.CKEditorError(e(118),this);return this[e(115)][e(162)](window,e(180),(()=>this[e(123)]=!0)),this[e(115)][e(162)](window,e(131),(()=>this[e(123)]=!1)),this[e(183)][e(177)][e(154)](e(182),10),this[e(183)][e(177)][e(154)](e(151),20),ir[e(124)][e(186)](n[e(136)],n[e(135)],{timeout:1e3*this[e(183)][e(177)][e(168)](e(182)),requestTimeout:1e3*this[e(183)][e(177)][e(168)](e(151))})[e(161)]((t=>{const n=e;if(this[n(156)]=t,this[n(127)](n(116)).to(t,n(116),this,n(123),((e,t)=>(n(121)!==e&&(this[n(160)]=!0),t||e!==jt[n(146)]?jt[n(152)]:this[n(116)]==jt[n(152)]&&this[n(160)]?(this[n(160)]=!1,this[n(148)](),jt[n(126)]):jt[n(146)]))),this[n(156)].on(n(122),((e,t)=>{const o=n;if(o(166)!==t[o(137)])throw console[o(122)](t),new s.CKEditorError(o(155),null,{originalError:t});r[o(165)](o(140),{title:o(187),namespace:o(171)})})),!t.me)return new Promise((e=>t.on(n(120),e)))}))[e(170)]((t=>{const n=e;throw console[n(122)](t),new s.CKEditorError(n(155),null,{originalError:t})}))}[or(130)](e){const t=or;if(t(143)!=typeof e[t(172)])throw new s.CKEditorError(t(163),this);if(this[t(147)](e))throw new s.CKEditorError(t(174),this,{name:e[t(139)][t(125)]});this[t(158)][t(133)](e)}[or(181)](e){const t=or;this[t(158)][t(185)](e)}[or(147)](e){const t=or;return this[t(158)][t(164)](e)}[or(148)](){const e=or;return this[e(156)][e(172)]()[e(161)]((()=>Promise[e(159)](Array[e(134)](this[e(158)],(t=>t[e(172)]())))))[e(161)]((()=>this[e(116)]=jt[e(146)]))[e(170)]((t=>{const n=e;throw console[n(122)](t),new s.CKEditorError(n(132),this[n(183)])}))}[or(142)](){const e=or;this[e(156)]&&this[e(156)][e(184)](),this[e(116)]=jt[e(152)],this[e(115)][e(119)](),super[e(142)]()}}function ar(){const e=["cloudServices.requestTimeout","DISCONNECTED","193879eGUSqM","define","cloudservices-init","connection","1504635zpUIel","_reconnectionStack","all","_shouldPluginsReconnect","then","listenTo","websocketgateway-invalid-plugin-interface","has","showWarning","limitExceeded","websocketgateway-missing-token","get","create","catch","real-time-collaboration","reconnect","114PZAadg","websocketgateway-plugin-already-registered","8353796eHkyOk","782124gOtZOU","config","initialReconnectionInterval","set","offline","removeFromReconnectionStack","cloudServices.connectionTimeout","context","disconnect","delete","connect","Connected users limit exceeded","298314cqiCEL","_domEmitter","state","CloudServices","websocketgateway-missing-websocket-url","stopListening","change:me","connected","error","_isBrowserOffline","WebSocketGateway","pluginName","CONNECTING","bind","plugins","72uBAJiq","addToReconnectionStack","online","cloudservices-reconnection-error","add","from","webSocketUrl","token","code","requires","constructor","The limit of maximum concurrent connections that the collaboration server can handle has been reached. Try opening the document again in a few minutes. Please contact your system administrator if the problem persists.","25966QHenkj","destroy","function","10yAXHEp","191284bogoFs","CONNECTED","isInReconnectionStack","_reconnect","36jBBglT","init"];return(ar=function(){return e})()}function cr(e,t){const n=ar();return(cr=function(e,t){return n[e-=114]})(e,t)}ir[or(124)]=Nt,ir[or(178)]=1e3;const dr=ir;var ur=__webpack_require__(211);const lr=pr;function pr(e,t){const n=hr();return(pr=function(e,t){return n[e-=431]})(e,t)}function hr(){const e=["stopListening","_handleSessionAdd","allConnectedUsers","sessionId","_users","_uniqueUsersCount","945280BGGwIN","defineMe","344050kddjyz","759225swYGpK","isMe","unregister","addUser","requires","state","477100GDmzBa","_createUser","18XQdPWE","channelSessions","sessions-register-already-registered","156680vgNMwN","has","change:state","connected","orderNumber","register","delete","get","add","287070aodKHY","2781LaSvMa","values","fire","plugins","role","remove","forEach","pluginName","_handleSessionRemove","sessions-unregister-not-exist","_registeredSessions","clear","user","Sessions","size","8QwpdyG","channelConnectedUsers","connection","getUserSessions","assign","getUser","context","mySessionId","getUserBySessionId","listenTo","sessionAdd:","set","init","getUserRole"];return(hr=function(){return e})()}!function(e){const t=pr,n=e();for(;;)try{if(212841===parseInt(t(452))/1+-parseInt(t(440))/2+-parseInt(t(441))/3+parseInt(t(438))/4+parseInt(t(447))/5*(parseInt(t(449))/6)+-parseInt(t(461))/7+parseInt(t(477))/8*(-parseInt(t(462))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(hr);class fr extends r.ContextPlugin{static get[lr(469)](){return lr(475)}static get[lr(445)](){return[dr,ur.Users]}constructor(e){const t=lr;super(e),this[t(450)]=new Map,this[t(478)]=new Map,this[t(434)]=new s.Collection,this[t(472)]=new Map,this[t(437)]=0,this[t(436)]=this[t(483)][t(465)][t(459)](ur.Users)}[lr(489)](){const e=lr,t=this[e(483)][e(465)][e(459)](dr);this[e(486)](t,e(454),((t,n,r)=>{const s=e;if(s(455)!==r)this[s(450)][s(468)]((e=>e[s(473)]())),this[s(478)][s(468)]((e=>e[s(473)]())),this[s(434)][s(473)]();else for(const[e,t]of this[s(472)])for(const n of t)this[s(433)](e,n)})),this[e(448)](t[e(479)].me,!0)}[lr(457)](e,t){const n=lr;if(this[n(472)][n(453)](e))throw new s.CKEditorError(n(451),null,{channelId:e});this[n(472)][n(488)](e,t),this[n(450)][n(488)](e,new s.Collection),this[n(478)][n(488)](e,new s.Collection),this[n(486)](t,n(460),((t,r)=>this[n(433)](e,r))),this[n(486)](t,n(467),((t,r)=>this[n(470)](e,r)));for(const r of t)this[n(433)](e,r)}[lr(443)](e){const t=lr;if(!this[t(472)][t(453)](e))throw new s.CKEditorError(t(471),null,{channelId:e});const n=this[t(472)][t(459)](e);this[t(432)](n);for(const r of n)t(455)===this[t(483)][t(465)][t(459)](dr)[t(446)]&&this[t(470)](e,r);this[t(472)][t(458)](e),this[t(450)][t(458)](e),this[t(478)][t(458)](e)}get[lr(484)](){const e=lr;return this[e(483)][e(465)][e(459)](dr)[e(479)][e(435)]}[lr(485)](e){const t=lr;for(const n of this[t(450)][t(463)]())for(const r of n)if(r.id===e)return r[t(474)]}[lr(480)](e,t){const n=lr,r=t?[this[n(450)][n(459)](t)]:this[n(450)][n(463)](),s=new Set;for(const t of r)for(const r of t)r[n(474)].id===e.id&&s[n(460)](r.id);return s}[lr(431)](e){const t=lr;for(const n of this[t(450)][t(463)]())for(const r of n)if(r[t(474)]===e)return r[t(466)]}[lr(433)](e,t){const n=lr;if(n(455)!==this[n(483)][n(465)][n(459)](dr)[n(446)])return;const r=t[n(474)],s=this[n(436)][n(482)](r.id)||this[n(448)](r),o=Object[n(481)]({},t,{user:s});this[n(450)][n(459)](e)[n(460)](o);const i=this[n(478)][n(459)](e);i[n(453)](s.id)||i[n(460)](s),this[n(434)][n(453)](s.id)||this[n(434)][n(460)](s,s[n(442)]?0:void 0),this[n(464)](n(487)+e,{channelId:e,session:o})}[lr(470)](e,t){const n=lr;if(n(455)!==this[n(483)][n(465)][n(459)](dr)[n(446)])return;const r=this[n(478)][n(459)](e),s=t[n(474)];s.id&&(this[n(450)][n(459)](e)[n(467)](t.id),r[n(453)](s.id)&&!this[n(480)](s,e)[n(476)]&&r[n(467)](s.id),this[n(434)][n(459)](s.id)&&!this[n(480)](s)[n(476)]&&this[n(434)][n(467)](s.id))}[lr(448)](e,t){const n=lr,r=this[n(436)][n(444)](e);return t&&this[n(436)][n(439)](e.id),r[n(456)]=this[n(437)]++,r}}var mr=__webpack_require__(673),yr=__webpack_require__.n(mr),gr=__webpack_require__(535),br={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};yr()(gr.A,br);gr.A.locals;const Or=Ir;function wr(){const e=["name","mouseenter","checkChild","newRange","ck-user__marker_hovered","hasDomSelection","start","afterInit","marker","Escape","editingDowncast","user:position:","rootName","stopListening","mySessionId","schema","createUIElement","_createdBatches","parent","markerName","$graveyard","classList","contenteditable","toDomElement","nodeAfter","createUserMarkerOperations","isCollapsed","createRange","171EBGHzF","highest","color","markerToHighlight","model","remove","listenTo","data-session-id","get","fromRange","UserMarkers","setCustomProperty","isInline","user:position","ck-user__selection","ck-user__marker ","1914183OInYsI","markerToElement","batch","editing","$text","tableCell","63240sInyGT","removeMarker","startsWith","mouseleave","isLimit","update:user:range","addEventListener","view","innerHTML",'<span class="ck-user__marker-line" contenteditable="false"><span class="ck-user__marker-dot"></span></span><span class="ck-user__marker-tooltip" contenteditable="false" spellcheck="false">',"getAttribute","conversion","deletionPosition","getNearestSelectionRange","_domEmitter","getContainedElement","mapper","oldRange","getRange","split","user:range","markers","has","keydown","commands","markerRange","destroy","root","6afeSjr","delete","isSimilar","change","2297316kCHpAJ","markerNameToElements","undo","2713550CGJDUJ","type","getStart","enqueueChange","215255LPdmWu","90120GEvfCj","user:range:","getFirstRange","editor","end","for","change:range","reconvertMarker","</span>","applyOperation","pluginName","getMarkerClass","document","span","3056136cCIZLA","detach","updateMarker","requires","getSelectionClass","clear","element","addMarker","orderNumber","add","selection","hasContent","user:","userPositionMarker","init","removeClass","set","size","getUserBySessionId","76ZaCATT","isObject","plugins","render","toRange","getCustomProperty","getPositions"];return(wr=function(){return e})()}function Ir(e,t){const n=wr();return(Ir=function(e,t){return n[e-=470]})(e,t)}!function(e){const t=Ir,n=e();for(;;)try{if(432695===parseInt(t(539))/1*(parseInt(t(528))/2)+parseInt(t(494))/3+parseInt(t(573))/4*(-parseInt(t(540))/5)+-parseInt(t(532))/6+-parseInt(t(535))/7+parseInt(t(554))/8+-parseInt(t(478))/9*(parseInt(t(500))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(wr);class vr extends r.Plugin{constructor(){const e=Ir;super(...arguments),this[e(514)]=new((0,s.DomEmitterMixin)())}static get[Or(557)](){return[fr]}static get[Or(550)](){return Or(488)}[Or(568)](){const e=Or,t=this[e(543)],n=t[e(575)][e(486)](fr);t[e(511)][e(545)](e(590))[e(495)]({model:e(491),view:(r,{writer:s})=>function(t,n,r,s){const o=e,i=t[o(599)][o(519)](":")[2],a=r[o(572)](i);if(!a||i===r[o(594)])return;if(!s[o(482)][o(595)][o(582)](t[o(525)][o(586)],o(498)))return;const c={class:o(493)+a[o(480)][o(551)](),"data-name":a[o(580)],"data-session-id":i},d=s[o(482)][o(521)][o(486)](t[o(599)])[o(537)](),u=d[o(474)],l=s[o(482)][o(595)];if(u&&l[o(574)](u)&&l[o(490)](u)&&!s[o(482)][o(521)][o(486)](o(541)+i)[o(518)]()[o(476)])return;const p=d[o(598)];return s[o(482)][o(595)][o(504)](p)&&!s[o(482)][o(565)](p)&&(c[o(472)]=!1),function(e,t,n){const r=o,s=e[r(596)](r(553),t);return e[r(489)](r(567),!0,s),s[r(576)]=function(e){const t=r,s=this[t(473)](e);return s[t(508)]=t(509)+n[t(580)]+t(548),s[t(506)](t(581),(()=>{const e=t;s[e(471)][e(563)](e(584))})),s[t(506)](t(503),(()=>{const e=t;s[e(471)][e(483)](e(584))})),s},s[r(530)]=function(e){const t=r;return!(!this[t(578)](t(567))||!e[t(578)](t(567))||this[t(510)](t(485))!=e[t(510)](t(485)))},s}(n,c,a)}(r,s,n,t)}),t[e(511)][e(545)](e(590))[e(481)]({model:e(520),view:t=>function(t,n){const r=e,s=t[r(599)][r(519)](":")[2];if(s===n[r(594)])return null;const o=n[r(572)](s);return o?{id:s,classes:[r(492),o[r(480)][r(558)]()],attributes:{"data-session-id":s},priority:2e3+o[r(562)]}:{id:s,classes:[]}}(t,n)}),function(t){const n=e,r=t[n(482)],s=new Map,o=t[n(575)][n(486)](fr);r[n(521)].on(n(505),((e,a,c,d)=>{const u=n;if(!d&&s[u(486)](a[u(580)]))return s[u(486)](a[u(580)])[u(555)](),void s[u(529)](a[u(580)]);const l=a[u(580)][u(519)](":")[2];if(l===o[u(594)])return;const p=u(591)+l;r[u(521)][u(522)](p)&&t[u(497)][u(547)](p),a.on(u(546),((e,t,n)=>{const o=u;if(o(470)!=t[o(527)][o(592)]&&o(470)==a[o(518)]()[o(527)][o(592)]&&!s[o(522)](a[o(580)])){const e=r[o(595)][o(513)](n[o(512)]);if(e){const t=i.LiveRange[o(487)](e);s[o(570)](a[o(580)],t),t.on(o(546),((e,n,i)=>{const c=o;if(c(470)==t[c(527)][c(592)]){const e=r[c(595)][c(513)](i[c(512)]);e?(t[c(586)]=e[c(586)],t[c(544)]=e[c(544)]):(s[c(529)](a[c(580)]),t[c(555)]())}}))}}}))})),r[n(552)].on(n(531),(()=>{const e=n;s[e(571)]>0&&r[e(538)]({isUndoable:!1},(t=>{const n=e;for(const[e,o]of s)n(470)==r[n(521)][n(486)](e)[n(518)]()[n(527)][n(592)]&&(Sr(e[n(519)](":")[2],o[n(577)](),r,t),o[n(555)]());s[n(559)]()}))}))}(t),this[e(514)][e(484)](s.global[e(552)],e(523),((n,{key:r})=>{const s=e;s(589)===r&&function(e){const t=s;e[t(497)][t(507)][t(531)]((n=>{const r=t;for(const t of e[r(482)][r(521)]){if(!t[r(580)][r(502)](r(491)))continue;const s=e[r(497)][r(516)][r(533)](t[r(580)]);if(s)for(const e of s)n[r(569)](r(584),e)}}))}(t)}),{useCapture:!0})}[Or(587)](){const e=Or,t=this[e(543)],n=t[e(524)][e(486)](e(534));n&&t[e(482)].on(e(549),((r,s)=>{const o=e,i=s[0];if(o(588)!=i[o(536)]||!i[o(580)][o(502)](o(566)))return;const a=i[o(496)];n[o(597)][o(522)](a)&&(i[o(583)]=i[o(517)]?t[o(482)][o(477)](i[o(517)][o(586)],i[o(517)][o(544)]):null)}),{priority:e(479)})}[Or(526)](){const e=Or;return this[e(514)][e(593)](),super[e(526)]()}[Or(475)](){const e=Or,t=this[e(543)],n=t[e(482)][e(552)],r=t[e(575)][e(486)](fr);t[e(482)][e(538)]({isUndoable:!1},(s=>{const o=e,i=o(541)+r[o(594)],a=o(591)+r[o(594)],c=t[o(482)][o(521)][o(522)](i);t[o(497)][o(507)][o(585)]?Sr(r[o(594)],n[o(564)][o(542)](),t[o(482)],s):c&&(s[o(501)](i),s[o(501)](a))}))}}function Sr(e,t,n,r){const s=Or,o=s(541)+e,i=s(591)+e,a=t[s(515)]();let c=t[s(586)];a&&a.is(s(560),s(499))&&(c=function(e,t){const n=s;for(const r of e[n(579)]())if(t[n(595)][n(582)](r,n(498)))return r}(t,n),t=r[s(477)](c));const d=r[s(477)](c);n[s(521)][s(522)](o)?(r[s(556)](o,{range:t}),r[s(556)](i,{range:d})):(r[s(561)](o,{range:t,usingOperation:!0}),r[s(561)](i,{range:d,usingOperation:!0}))}function Ar(e,t,n){const r=e.t;switch(t){case"PENDING_ACTION_SENDING_DATA":return r({string:"Sending data to the server.",id:"PENDING_ACTION_SENDING_DATA"});case"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":return r("The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.");case"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":return r("The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.");case"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":return r("The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.");case"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":return r("The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.");case"Synchronization issue":return r("Synchronization issue");case"PENDING_ACTION_REVISION_HISTORY":return r({string:"Unsaved change in revision history.",id:"PENDING_ACTION_REVISION_HISTORY"});case"CONNECTED_USERS":return r({string:"1 connected user (me)",plural:"%0 connected users",id:"CONNECTED_USERS"},n);default:return""}}const Pr=Te.Reader,Tr=Te.Writer,_r=Te.util,kr=Te.roots.default||(Te.roots.default={}),Cr=kr.AttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.range=null,e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.range&&Object.hasOwnProperty.call(e,"range")&&kr.Range.encode(e.range,t.uint32(10).fork()).ldelim(),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.AttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.range=kr.Range.decode(e,e.uint32());break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.range&&e.hasOwnProperty("range")){let t=kr.Range.verify(e.range);if(t)return"range."+t}return null!=e.key&&e.hasOwnProperty("key")&&!_r.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!_r.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!_r.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.AttributeOperation)return e;let t=new kr.AttributeOperation;if(null!=e.range){if("object"!=typeof e.range)throw TypeError(".AttributeOperation.range: object expected");t.range=kr.Range.fromObject(e.range)}return null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.range=null,n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.range&&e.hasOwnProperty("range")&&(n.range=kr.Range.toObject(e.range,t)),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/AttributeOperation"},e})(),Er=kr.InsertOperation=(()=>{function e(e){if(this.nodes=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.nodes=_r.emptyArray,e.prototype.shouldReceiveAttributes=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=Tr.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&kr.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.nodes&&e.nodes.length)for(let n=0;n<e.nodes.length;++n)kr.Element.encode(e.nodes[n],t.uint32(18).fork()).ldelim();return null!=e.shouldReceiveAttributes&&Object.hasOwnProperty.call(e,"shouldReceiveAttributes")&&t.uint32(24).bool(e.shouldReceiveAttributes),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.InsertOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=kr.Position.decode(e,e.uint32());break;case 2:r.nodes&&r.nodes.length||(r.nodes=[]),r.nodes.push(kr.Element.decode(e,e.uint32()));break;case 3:r.shouldReceiveAttributes=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=kr.Position.verify(e.position);if(t)return"position."+t}if(null!=e.nodes&&e.hasOwnProperty("nodes")){if(!Array.isArray(e.nodes))return"nodes: array expected";for(let t=0;t<e.nodes.length;++t){let n=kr.Element.verify(e.nodes[t]);if(n)return"nodes."+n}}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&"boolean"!=typeof e.shouldReceiveAttributes?"shouldReceiveAttributes: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.InsertOperation)return e;let t=new kr.InsertOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".InsertOperation.position: object expected");t.position=kr.Position.fromObject(e.position)}if(e.nodes){if(!Array.isArray(e.nodes))throw TypeError(".InsertOperation.nodes: array expected");t.nodes=[];for(let n=0;n<e.nodes.length;++n){if("object"!=typeof e.nodes[n])throw TypeError(".InsertOperation.nodes: object expected");t.nodes[n]=kr.Element.fromObject(e.nodes[n])}}return null!=e.shouldReceiveAttributes&&(t.shouldReceiveAttributes=Boolean(e.shouldReceiveAttributes)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.nodes=[]),t.defaults&&(n.position=null,n.shouldReceiveAttributes=!1,n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=kr.Position.toObject(e.position,t)),e.nodes&&e.nodes.length){n.nodes=[];for(let r=0;r<e.nodes.length;++r)n.nodes[r]=kr.Element.toObject(e.nodes[r],t)}return null!=e.shouldReceiveAttributes&&e.hasOwnProperty("shouldReceiveAttributes")&&(n.shouldReceiveAttributes=e.shouldReceiveAttributes),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/InsertOperation"},e})(),jr=kr.MarkerOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.oldRange=null,e.prototype.newRange=null,e.prototype.affectsData=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.oldRange&&Object.hasOwnProperty.call(e,"oldRange")&&kr.Range.encode(e.oldRange,t.uint32(18).fork()).ldelim(),null!=e.newRange&&Object.hasOwnProperty.call(e,"newRange")&&kr.Range.encode(e.newRange,t.uint32(26).fork()).ldelim(),null!=e.affectsData&&Object.hasOwnProperty.call(e,"affectsData")&&t.uint32(32).bool(e.affectsData),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.MarkerOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.name=e.string();break;case 2:r.oldRange=kr.Range.decode(e,e.uint32());break;case 3:r.newRange=kr.Range.decode(e,e.uint32());break;case 4:r.affectsData=e.bool();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!_r.isString(e.name))return"name: string expected";if(null!=e.oldRange&&e.hasOwnProperty("oldRange")){let t=kr.Range.verify(e.oldRange);if(t)return"oldRange."+t}if(null!=e.newRange&&e.hasOwnProperty("newRange")){let t=kr.Range.verify(e.newRange);if(t)return"newRange."+t}return null!=e.affectsData&&e.hasOwnProperty("affectsData")&&"boolean"!=typeof e.affectsData?"affectsData: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.MarkerOperation)return e;let t=new kr.MarkerOperation;if(null!=e.name&&(t.name=String(e.name)),null!=e.oldRange){if("object"!=typeof e.oldRange)throw TypeError(".MarkerOperation.oldRange: object expected");t.oldRange=kr.Range.fromObject(e.oldRange)}if(null!=e.newRange){if("object"!=typeof e.newRange)throw TypeError(".MarkerOperation.newRange: object expected");t.newRange=kr.Range.fromObject(e.newRange)}return null!=e.affectsData&&(t.affectsData=Boolean(e.affectsData)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.name="",n.oldRange=null,n.newRange=null,n.affectsData=!1,n.wasUndone=!1),null!=e.name&&e.hasOwnProperty("name")&&(n.name=e.name),null!=e.oldRange&&e.hasOwnProperty("oldRange")&&(n.oldRange=kr.Range.toObject(e.oldRange,t)),null!=e.newRange&&e.hasOwnProperty("newRange")&&(n.newRange=kr.Range.toObject(e.newRange,t)),null!=e.affectsData&&e.hasOwnProperty("affectsData")&&(n.affectsData=e.affectsData),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MarkerOperation"},e})(),Rr=kr.MergeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.targetPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&kr.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&kr.Position.encode(e.targetPosition,t.uint32(18).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&kr.Position.encode(e.graveyardPosition,t.uint32(26).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(32).uint32(e.howMany),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.MergeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=kr.Position.decode(e,e.uint32());break;case 2:r.targetPosition=kr.Position.decode(e,e.uint32());break;case 3:r.graveyardPosition=kr.Position.decode(e,e.uint32());break;case 4:r.howMany=e.uint32();break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=kr.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=kr.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=kr.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}return null!=e.howMany&&e.hasOwnProperty("howMany")&&!_r.isInteger(e.howMany)?"howMany: integer expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.MergeOperation)return e;let t=new kr.MergeOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MergeOperation.sourcePosition: object expected");t.sourcePosition=kr.Position.fromObject(e.sourcePosition)}if(null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MergeOperation.targetPosition: object expected");t.targetPosition=kr.Position.fromObject(e.targetPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".MergeOperation.graveyardPosition: object expected");t.graveyardPosition=kr.Position.fromObject(e.graveyardPosition)}return null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.targetPosition=null,n.graveyardPosition=null,n.howMany=0,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=kr.Position.toObject(e.sourcePosition,t)),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=kr.Position.toObject(e.targetPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=kr.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MergeOperation"},e})(),Dr=kr.MoveOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.sourcePosition=null,e.prototype.howMany=0,e.prototype.targetPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.sourcePosition&&Object.hasOwnProperty.call(e,"sourcePosition")&&kr.Position.encode(e.sourcePosition,t.uint32(10).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(16).uint32(e.howMany),null!=e.targetPosition&&Object.hasOwnProperty.call(e,"targetPosition")&&kr.Position.encode(e.targetPosition,t.uint32(26).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.MoveOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.sourcePosition=kr.Position.decode(e,e.uint32());break;case 2:r.howMany=e.uint32();break;case 3:r.targetPosition=kr.Position.decode(e,e.uint32());break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")){let t=kr.Position.verify(e.sourcePosition);if(t)return"sourcePosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!_r.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.targetPosition&&e.hasOwnProperty("targetPosition")){let t=kr.Position.verify(e.targetPosition);if(t)return"targetPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.MoveOperation)return e;let t=new kr.MoveOperation;if(null!=e.sourcePosition){if("object"!=typeof e.sourcePosition)throw TypeError(".MoveOperation.sourcePosition: object expected");t.sourcePosition=kr.Position.fromObject(e.sourcePosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.targetPosition){if("object"!=typeof e.targetPosition)throw TypeError(".MoveOperation.targetPosition: object expected");t.targetPosition=kr.Position.fromObject(e.targetPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.sourcePosition=null,n.howMany=0,n.targetPosition=null,n.wasUndone=!1),null!=e.sourcePosition&&e.hasOwnProperty("sourcePosition")&&(n.sourcePosition=kr.Position.toObject(e.sourcePosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.targetPosition&&e.hasOwnProperty("targetPosition")&&(n.targetPosition=kr.Position.toObject(e.targetPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/MoveOperation"},e})(),Nr=kr.RenameOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.position=null,e.prototype.oldName="",e.prototype.newName="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.position&&Object.hasOwnProperty.call(e,"position")&&kr.Position.encode(e.position,t.uint32(10).fork()).ldelim(),null!=e.oldName&&Object.hasOwnProperty.call(e,"oldName")&&t.uint32(18).string(e.oldName),null!=e.newName&&Object.hasOwnProperty.call(e,"newName")&&t.uint32(26).string(e.newName),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.RenameOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.position=kr.Position.decode(e,e.uint32());break;case 2:r.oldName=e.string();break;case 3:r.newName=e.string();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.position&&e.hasOwnProperty("position")){let t=kr.Position.verify(e.position);if(t)return"position."+t}return null!=e.oldName&&e.hasOwnProperty("oldName")&&!_r.isString(e.oldName)?"oldName: string expected":null!=e.newName&&e.hasOwnProperty("newName")&&!_r.isString(e.newName)?"newName: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.RenameOperation)return e;let t=new kr.RenameOperation;if(null!=e.position){if("object"!=typeof e.position)throw TypeError(".RenameOperation.position: object expected");t.position=kr.Position.fromObject(e.position)}return null!=e.oldName&&(t.oldName=String(e.oldName)),null!=e.newName&&(t.newName=String(e.newName)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.position=null,n.oldName="",n.newName="",n.wasUndone=!1),null!=e.position&&e.hasOwnProperty("position")&&(n.position=kr.Position.toObject(e.position,t)),null!=e.oldName&&e.hasOwnProperty("oldName")&&(n.oldName=e.oldName),null!=e.newName&&e.hasOwnProperty("newName")&&(n.newName=e.newName),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RenameOperation"},e})(),xr=kr.RootAttributeOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.key="",e.prototype.oldValueBoolean=!1,e.prototype.oldValueJson="",e.prototype.newValueBoolean=!1,e.prototype.newValueJson="",e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(18).string(e.key),null!=e.oldValueBoolean&&Object.hasOwnProperty.call(e,"oldValueBoolean")&&t.uint32(24).bool(e.oldValueBoolean),null!=e.oldValueJson&&Object.hasOwnProperty.call(e,"oldValueJson")&&t.uint32(34).string(e.oldValueJson),null!=e.newValueBoolean&&Object.hasOwnProperty.call(e,"newValueBoolean")&&t.uint32(40).bool(e.newValueBoolean),null!=e.newValueJson&&Object.hasOwnProperty.call(e,"newValueJson")&&t.uint32(50).string(e.newValueJson),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(56).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.RootAttributeOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.key=e.string();break;case 3:r.oldValueBoolean=e.bool();break;case 4:r.oldValueJson=e.string();break;case 5:r.newValueBoolean=e.bool();break;case 6:r.newValueJson=e.string();break;case 7:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.root&&e.hasOwnProperty("root")&&!_r.isString(e.root)?"root: string expected":null!=e.key&&e.hasOwnProperty("key")&&!_r.isString(e.key)?"key: string expected":null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&"boolean"!=typeof e.oldValueBoolean?"oldValueBoolean: boolean expected":null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&!_r.isString(e.oldValueJson)?"oldValueJson: string expected":null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&"boolean"!=typeof e.newValueBoolean?"newValueBoolean: boolean expected":null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&!_r.isString(e.newValueJson)?"newValueJson: string expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.RootAttributeOperation)return e;let t=new kr.RootAttributeOperation;return null!=e.root&&(t.root=String(e.root)),null!=e.key&&(t.key=String(e.key)),null!=e.oldValueBoolean&&(t.oldValueBoolean=Boolean(e.oldValueBoolean)),null!=e.oldValueJson&&(t.oldValueJson=String(e.oldValueJson)),null!=e.newValueBoolean&&(t.newValueBoolean=Boolean(e.newValueBoolean)),null!=e.newValueJson&&(t.newValueJson=String(e.newValueJson)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.root="",n.key="",n.oldValueBoolean=!1,n.oldValueJson="",n.newValueBoolean=!1,n.newValueJson="",n.wasUndone=!1),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.key&&e.hasOwnProperty("key")&&(n.key=e.key),null!=e.oldValueBoolean&&e.hasOwnProperty("oldValueBoolean")&&(n.oldValueBoolean=e.oldValueBoolean),null!=e.oldValueJson&&e.hasOwnProperty("oldValueJson")&&(n.oldValueJson=e.oldValueJson),null!=e.newValueBoolean&&e.hasOwnProperty("newValueBoolean")&&(n.newValueBoolean=e.newValueBoolean),null!=e.newValueJson&&e.hasOwnProperty("newValueJson")&&(n.newValueJson=e.newValueJson),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootAttributeOperation"},e})(),Vr=kr.RootOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.rootName="",e.prototype.elementName="",e.prototype.isAdd=!1,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.rootName&&Object.hasOwnProperty.call(e,"rootName")&&t.uint32(10).string(e.rootName),null!=e.elementName&&Object.hasOwnProperty.call(e,"elementName")&&t.uint32(18).string(e.elementName),null!=e.isAdd&&Object.hasOwnProperty.call(e,"isAdd")&&t.uint32(24).bool(e.isAdd),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(32).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.RootOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.rootName=e.string();break;case 2:r.elementName=e.string();break;case 3:r.isAdd=e.bool();break;case 4:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){return"object"!=typeof e||null===e?"object expected":null!=e.rootName&&e.hasOwnProperty("rootName")&&!_r.isString(e.rootName)?"rootName: string expected":null!=e.elementName&&e.hasOwnProperty("elementName")&&!_r.isString(e.elementName)?"elementName: string expected":null!=e.isAdd&&e.hasOwnProperty("isAdd")&&"boolean"!=typeof e.isAdd?"isAdd: boolean expected":null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.RootOperation)return e;let t=new kr.RootOperation;return null!=e.rootName&&(t.rootName=String(e.rootName)),null!=e.elementName&&(t.elementName=String(e.elementName)),null!=e.isAdd&&(t.isAdd=Boolean(e.isAdd)),null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.rootName="",n.elementName="",n.isAdd=!1,n.wasUndone=!1),null!=e.rootName&&e.hasOwnProperty("rootName")&&(n.rootName=e.rootName),null!=e.elementName&&e.hasOwnProperty("elementName")&&(n.elementName=e.elementName),null!=e.isAdd&&e.hasOwnProperty("isAdd")&&(n.isAdd=e.isAdd),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/RootOperation"},e})(),Mr=kr.SplitOperation=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.splitPosition=null,e.prototype.graveyardPosition=null,e.prototype.howMany=0,e.prototype.insertionPosition=null,e.prototype.wasUndone=!1,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.splitPosition&&Object.hasOwnProperty.call(e,"splitPosition")&&kr.Position.encode(e.splitPosition,t.uint32(10).fork()).ldelim(),null!=e.graveyardPosition&&Object.hasOwnProperty.call(e,"graveyardPosition")&&kr.Position.encode(e.graveyardPosition,t.uint32(18).fork()).ldelim(),null!=e.howMany&&Object.hasOwnProperty.call(e,"howMany")&&t.uint32(24).uint32(e.howMany),null!=e.insertionPosition&&Object.hasOwnProperty.call(e,"insertionPosition")&&kr.Position.encode(e.insertionPosition,t.uint32(34).fork()).ldelim(),null!=e.wasUndone&&Object.hasOwnProperty.call(e,"wasUndone")&&t.uint32(40).bool(e.wasUndone),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.SplitOperation;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.splitPosition=kr.Position.decode(e,e.uint32());break;case 2:r.graveyardPosition=kr.Position.decode(e,e.uint32());break;case 3:r.howMany=e.uint32();break;case 4:r.insertionPosition=kr.Position.decode(e,e.uint32());break;case 5:r.wasUndone=e.bool();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.splitPosition&&e.hasOwnProperty("splitPosition")){let t=kr.Position.verify(e.splitPosition);if(t)return"splitPosition."+t}if(null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")){let t=kr.Position.verify(e.graveyardPosition);if(t)return"graveyardPosition."+t}if(null!=e.howMany&&e.hasOwnProperty("howMany")&&!_r.isInteger(e.howMany))return"howMany: integer expected";if(null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")){let t=kr.Position.verify(e.insertionPosition);if(t)return"insertionPosition."+t}return null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&"boolean"!=typeof e.wasUndone?"wasUndone: boolean expected":null},e.fromObject=function(e){if(e instanceof kr.SplitOperation)return e;let t=new kr.SplitOperation;if(null!=e.splitPosition){if("object"!=typeof e.splitPosition)throw TypeError(".SplitOperation.splitPosition: object expected");t.splitPosition=kr.Position.fromObject(e.splitPosition)}if(null!=e.graveyardPosition){if("object"!=typeof e.graveyardPosition)throw TypeError(".SplitOperation.graveyardPosition: object expected");t.graveyardPosition=kr.Position.fromObject(e.graveyardPosition)}if(null!=e.howMany&&(t.howMany=e.howMany>>>0),null!=e.insertionPosition){if("object"!=typeof e.insertionPosition)throw TypeError(".SplitOperation.insertionPosition: object expected");t.insertionPosition=kr.Position.fromObject(e.insertionPosition)}return null!=e.wasUndone&&(t.wasUndone=Boolean(e.wasUndone)),t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.splitPosition=null,n.graveyardPosition=null,n.howMany=0,n.insertionPosition=null,n.wasUndone=!1),null!=e.splitPosition&&e.hasOwnProperty("splitPosition")&&(n.splitPosition=kr.Position.toObject(e.splitPosition,t)),null!=e.graveyardPosition&&e.hasOwnProperty("graveyardPosition")&&(n.graveyardPosition=kr.Position.toObject(e.graveyardPosition,t)),null!=e.howMany&&e.hasOwnProperty("howMany")&&(n.howMany=e.howMany),null!=e.insertionPosition&&e.hasOwnProperty("insertionPosition")&&(n.insertionPosition=kr.Position.toObject(e.insertionPosition,t)),null!=e.wasUndone&&e.hasOwnProperty("wasUndone")&&(n.wasUndone=e.wasUndone),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/SplitOperation"},e})(),Br=kr.Position=(()=>{function e(e){if(this.path=[],e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.root="",e.prototype.rootMain=!1,e.prototype.rootGraveyard=!1,e.prototype.path=_r.emptyArray,e.prototype.stickiness="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=Tr.create()),null!=e.root&&Object.hasOwnProperty.call(e,"root")&&t.uint32(10).string(e.root),null!=e.rootMain&&Object.hasOwnProperty.call(e,"rootMain")&&t.uint32(16).bool(e.rootMain),null!=e.rootGraveyard&&Object.hasOwnProperty.call(e,"rootGraveyard")&&t.uint32(24).bool(e.rootGraveyard),null!=e.path&&e.path.length){t.uint32(34).fork();for(let n=0;n<e.path.length;++n)t.uint32(e.path[n]);t.ldelim()}return null!=e.stickiness&&Object.hasOwnProperty.call(e,"stickiness")&&t.uint32(42).string(e.stickiness),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.Position;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.root=e.string();break;case 2:r.rootMain=e.bool();break;case 3:r.rootGraveyard=e.bool();break;case 4:if(r.path&&r.path.length||(r.path=[]),2==(7&t)){let t=e.uint32()+e.pos;for(;e.pos<t;)r.path.push(e.uint32())}else r.path.push(e.uint32());break;case 5:r.stickiness=e.string();break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.root&&e.hasOwnProperty("root")&&!_r.isString(e.root))return"root: string expected";if(null!=e.rootMain&&e.hasOwnProperty("rootMain")&&"boolean"!=typeof e.rootMain)return"rootMain: boolean expected";if(null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&"boolean"!=typeof e.rootGraveyard)return"rootGraveyard: boolean expected";if(null!=e.path&&e.hasOwnProperty("path")){if(!Array.isArray(e.path))return"path: array expected";for(let t=0;t<e.path.length;++t)if(!_r.isInteger(e.path[t]))return"path: integer[] expected"}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&!_r.isString(e.stickiness)?"stickiness: string expected":null},e.fromObject=function(e){if(e instanceof kr.Position)return e;let t=new kr.Position;if(null!=e.root&&(t.root=String(e.root)),null!=e.rootMain&&(t.rootMain=Boolean(e.rootMain)),null!=e.rootGraveyard&&(t.rootGraveyard=Boolean(e.rootGraveyard)),e.path){if(!Array.isArray(e.path))throw TypeError(".Position.path: array expected");t.path=[];for(let n=0;n<e.path.length;++n)t.path[n]=e.path[n]>>>0}return null!=e.stickiness&&(t.stickiness=String(e.stickiness)),t},e.toObject=function(e,t){t||(t={});let n={};if((t.arrays||t.defaults)&&(n.path=[]),t.defaults&&(n.root="",n.rootMain=!1,n.rootGraveyard=!1,n.stickiness=""),null!=e.root&&e.hasOwnProperty("root")&&(n.root=e.root),null!=e.rootMain&&e.hasOwnProperty("rootMain")&&(n.rootMain=e.rootMain),null!=e.rootGraveyard&&e.hasOwnProperty("rootGraveyard")&&(n.rootGraveyard=e.rootGraveyard),e.path&&e.path.length){n.path=[];for(let t=0;t<e.path.length;++t)n.path[t]=e.path[t]}return null!=e.stickiness&&e.hasOwnProperty("stickiness")&&(n.stickiness=e.stickiness),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Position"},e})(),Ur=kr.Range=(()=>{function e(e){if(e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.start=null,e.prototype.end=null,e.create=function(t){return new e(t)},e.encode=function(e,t){return t||(t=Tr.create()),null!=e.start&&Object.hasOwnProperty.call(e,"start")&&kr.Position.encode(e.start,t.uint32(10).fork()).ldelim(),null!=e.end&&Object.hasOwnProperty.call(e,"end")&&kr.Position.encode(e.end,t.uint32(18).fork()).ldelim(),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n=void 0===t?e.len:e.pos+t,r=new kr.Range;for(;e.pos<n;){let t=e.uint32();switch(t>>>3){case 1:r.start=kr.Position.decode(e,e.uint32());break;case 2:r.end=kr.Position.decode(e,e.uint32());break;default:e.skipType(7&t)}}return r},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.start&&e.hasOwnProperty("start")){let t=kr.Position.verify(e.start);if(t)return"start."+t}if(null!=e.end&&e.hasOwnProperty("end")){let t=kr.Position.verify(e.end);if(t)return"end."+t}return null},e.fromObject=function(e){if(e instanceof kr.Range)return e;let t=new kr.Range;if(null!=e.start){if("object"!=typeof e.start)throw TypeError(".Range.start: object expected");t.start=kr.Position.fromObject(e.start)}if(null!=e.end){if("object"!=typeof e.end)throw TypeError(".Range.end: object expected");t.end=kr.Position.fromObject(e.end)}return t},e.toObject=function(e,t){t||(t={});let n={};return t.defaults&&(n.start=null,n.end=null),null!=e.start&&e.hasOwnProperty("start")&&(n.start=kr.Position.toObject(e.start,t)),null!=e.end&&e.hasOwnProperty("end")&&(n.end=kr.Position.toObject(e.end,t)),n},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Range"},e})(),Jr=kr.Element=(()=>{function e(e){if(this.children=[],this.attributesBoolean={},e)for(let t=Object.keys(e),n=0;n<t.length;++n)null!=e[t[n]]&&(this[t[n]]=e[t[n]])}return e.prototype.name="",e.prototype.children=_r.emptyArray,e.prototype.data="",e.prototype.attributesBoolean=_r.emptyObject,e.prototype.attributesJson="",e.create=function(t){return new e(t)},e.encode=function(e,t){if(t||(t=Tr.create()),null!=e.name&&Object.hasOwnProperty.call(e,"name")&&t.uint32(10).string(e.name),null!=e.children&&e.children.length)for(let n=0;n<e.children.length;++n)kr.Element.encode(e.children[n],t.uint32(18).fork()).ldelim();if(null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(26).string(e.data),null!=e.attributesBoolean&&Object.hasOwnProperty.call(e,"attributesBoolean"))for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.uint32(34).fork().uint32(10).string(n[r]).uint32(16).bool(e.attributesBoolean[n[r]]).ldelim();return null!=e.attributesJson&&Object.hasOwnProperty.call(e,"attributesJson")&&t.uint32(42).string(e.attributesJson),t},e.encodeDelimited=function(e,t){return this.encode(e,t).ldelim()},e.decode=function(e,t){e instanceof Pr||(e=Pr.create(e));let n,r,s=void 0===t?e.len:e.pos+t,o=new kr.Element;for(;e.pos<s;){let t=e.uint32();switch(t>>>3){case 1:o.name=e.string();break;case 2:o.children&&o.children.length||(o.children=[]),o.children.push(kr.Element.decode(e,e.uint32()));break;case 3:o.data=e.string();break;case 4:{o.attributesBoolean===_r.emptyObject&&(o.attributesBoolean={});let t=e.uint32()+e.pos;for(n="",r=!1;e.pos<t;){let t=e.uint32();switch(t>>>3){case 1:n=e.string();break;case 2:r=e.bool();break;default:e.skipType(7&t)}}o.attributesBoolean[n]=r;break}case 5:o.attributesJson=e.string();break;default:e.skipType(7&t)}}return o},e.decodeDelimited=function(e){return e instanceof Pr||(e=new Pr(e)),this.decode(e,e.uint32())},e.verify=function(e){if("object"!=typeof e||null===e)return"object expected";if(null!=e.name&&e.hasOwnProperty("name")&&!_r.isString(e.name))return"name: string expected";if(null!=e.children&&e.hasOwnProperty("children")){if(!Array.isArray(e.children))return"children: array expected";for(let t=0;t<e.children.length;++t){let n=kr.Element.verify(e.children[t]);if(n)return"children."+n}}if(null!=e.data&&e.hasOwnProperty("data")&&!_r.isString(e.data))return"data: string expected";if(null!=e.attributesBoolean&&e.hasOwnProperty("attributesBoolean")){if(!_r.isObject(e.attributesBoolean))return"attributesBoolean: object expected";let t=Object.keys(e.attributesBoolean);for(let n=0;n<t.length;++n)if("boolean"!=typeof e.attributesBoolean[t[n]])return"attributesBoolean: boolean{k:string} expected"}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&!_r.isString(e.attributesJson)?"attributesJson: string expected":null},e.fromObject=function(e){if(e instanceof kr.Element)return e;let t=new kr.Element;if(null!=e.name&&(t.name=String(e.name)),e.children){if(!Array.isArray(e.children))throw TypeError(".Element.children: array expected");t.children=[];for(let n=0;n<e.children.length;++n){if("object"!=typeof e.children[n])throw TypeError(".Element.children: object expected");t.children[n]=kr.Element.fromObject(e.children[n])}}if(null!=e.data&&(t.data=String(e.data)),e.attributesBoolean){if("object"!=typeof e.attributesBoolean)throw TypeError(".Element.attributesBoolean: object expected");t.attributesBoolean={};for(let n=Object.keys(e.attributesBoolean),r=0;r<n.length;++r)t.attributesBoolean[n[r]]=Boolean(e.attributesBoolean[n[r]])}return null!=e.attributesJson&&(t.attributesJson=String(e.attributesJson)),t},e.toObject=function(e,t){t||(t={});let n,r={};if((t.arrays||t.defaults)&&(r.children=[]),(t.objects||t.defaults)&&(r.attributesBoolean={}),t.defaults&&(r.name="",r.data="",r.attributesJson=""),null!=e.name&&e.hasOwnProperty("name")&&(r.name=e.name),e.children&&e.children.length){r.children=[];for(let n=0;n<e.children.length;++n)r.children[n]=kr.Element.toObject(e.children[n],t)}if(null!=e.data&&e.hasOwnProperty("data")&&(r.data=e.data),e.attributesBoolean&&(n=Object.keys(e.attributesBoolean)).length){r.attributesBoolean={};for(let t=0;t<n.length;++t)r.attributesBoolean[n[t]]=e.attributesBoolean[n[t]]}return null!=e.attributesJson&&e.hasOwnProperty("attributesJson")&&(r.attributesJson=e.attributesJson),r},e.prototype.toJSON=function(){return this.constructor.toObject(this,Te.util.toJSONOptions)},e.getTypeUrl=function(e){return void 0===e&&(e="type.googleapis.com"),e+"/Element"},e})();class qr{constructor(){this._protobufRoot=n}getDescriptor(e){return new Gr(this._protobufRoot[e])}}class Gr{constructor(e){this._protobuf=e}compress(e){const t=this._protobuf.verify(e);if(t)throw Error(t);return this._protobuf.encode(this._protobuf.create(e)).finish()}decompress(e){return this._protobuf.toObject(this._protobuf.decode(e),{oneofs:!0})}}const Lr=function(){this.__data__=[],this.size=0};const Yr=function(e,t){return e===t||e!=e&&t!=t};const zr=function(e,t){for(var n=e.length;n--;)if(Yr(e[n][0],t))return n;return-1};var Hr=Array.prototype.splice;const Fr=function(e){var t=this.__data__,n=zr(t,e);return!(n<0)&&(n==t.length-1?t.pop():Hr.call(t,n,1),--this.size,!0)};const Kr=function(e){var t=this.__data__,n=zr(t,e);return n<0?void 0:t[n][1]};const Wr=function(e){return zr(this.__data__,e)>-1};const Qr=function(e,t){var n=this.__data__,r=zr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function Xr(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Xr.prototype.clear=Lr,Xr.prototype.delete=Fr,Xr.prototype.get=Kr,Xr.prototype.has=Wr,Xr.prototype.set=Qr;const $r=Xr;const Zr=function(){this.__data__=new $r,this.size=0};const es=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const ts=function(e){return this.__data__.get(e)};const ns=function(e){return this.__data__.has(e)};const rs="object"==typeof global&&global&&global.Object===Object&&global;var ss="object"==typeof self&&self&&self.Object===Object&&self;const os=rs||ss||Function("return this")();const is=os.Symbol;var as=Object.prototype,cs=as.hasOwnProperty,ds=as.toString,us=is?is.toStringTag:void 0;const ls=function(e){var t=cs.call(e,us),n=e[us];try{e[us]=void 0;var r=!0}catch(e){}var s=ds.call(e);return r&&(t?e[us]=n:delete e[us]),s};var ps=Object.prototype.toString;const hs=function(e){return ps.call(e)};var fs=is?is.toStringTag:void 0;const ms=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":fs&&fs in Object(e)?ls(e):hs(e)};const ys=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const gs=function(e){if(!ys(e))return!1;var t=ms(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const bs=os["__core-js_shared__"];var Os,ws=(Os=/[^.]+$/.exec(bs&&bs.keys&&bs.keys.IE_PROTO||""))?"Symbol(src)_1."+Os:"";const Is=function(e){return!!ws&&ws in e};var vs=Function.prototype.toString;const Ss=function(e){if(null!=e){try{return vs.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var As=/^\[object .+?Constructor\]$/,Ps=Function.prototype,Ts=Object.prototype,_s=Ps.toString,ks=Ts.hasOwnProperty,Cs=RegExp("^"+_s.call(ks).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const Es=function(e){return!(!ys(e)||Is(e))&&(gs(e)?Cs:As).test(Ss(e))};const js=function(e,t){return null==e?void 0:e[t]};const Rs=function(e,t){var n=js(e,t);return Es(n)?n:void 0};const Ds=Rs(os,"Map");const Ns=Rs(Object,"create");const xs=function(){this.__data__=Ns?Ns(null):{},this.size=0};const Vs=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var Ms=Object.prototype.hasOwnProperty;const Bs=function(e){var t=this.__data__;if(Ns){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Ms.call(t,e)?t[e]:void 0};var Us=Object.prototype.hasOwnProperty;const Js=function(e){var t=this.__data__;return Ns?void 0!==t[e]:Us.call(t,e)};const qs=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Ns&&void 0===t?"__lodash_hash_undefined__":t,this};function Gs(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Gs.prototype.clear=xs,Gs.prototype.delete=Vs,Gs.prototype.get=Bs,Gs.prototype.has=Js,Gs.prototype.set=qs;const Ls=Gs;const Ys=function(){this.size=0,this.__data__={hash:new Ls,map:new(Ds||$r),string:new Ls}};const zs=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const Hs=function(e,t){var n=e.__data__;return zs(t)?n["string"==typeof t?"string":"hash"]:n.map};const Fs=function(e){var t=Hs(this,e).delete(e);return this.size-=t?1:0,t};const Ks=function(e){return Hs(this,e).get(e)};const Ws=function(e){return Hs(this,e).has(e)};const Qs=function(e,t){var n=Hs(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this};function Xs(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Xs.prototype.clear=Ys,Xs.prototype.delete=Fs,Xs.prototype.get=Ks,Xs.prototype.has=Ws,Xs.prototype.set=Qs;const $s=Xs;const Zs=function(e,t){var n=this.__data__;if(n instanceof $r){var r=n.__data__;if(!Ds||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new $s(r)}return n.set(e,t),this.size=n.size,this};function eo(e){var t=this.__data__=new $r(e);this.size=t.size}eo.prototype.clear=Zr,eo.prototype.delete=es,eo.prototype.get=ts,eo.prototype.has=ns,eo.prototype.set=Zs;const to=eo;const no=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e};const ro=function(){try{var e=Rs(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const so=function(e,t,n){"__proto__"==t&&ro?ro(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var oo=Object.prototype.hasOwnProperty;const io=function(e,t,n){var r=e[t];oo.call(e,t)&&Yr(r,n)&&(void 0!==n||t in e)||so(e,t,n)};const ao=function(e,t,n,r){var s=!n;n||(n={});for(var o=-1,i=t.length;++o<i;){var a=t[o],c=r?r(n[a],e[a],a,n,e):void 0;void 0===c&&(c=e[a]),s?so(n,a,c):io(n,a,c)}return n};const co=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};const uo=function(e){return null!=e&&"object"==typeof e};const lo=function(e){return uo(e)&&"[object Arguments]"==ms(e)};var po=Object.prototype,ho=po.hasOwnProperty,fo=po.propertyIsEnumerable,mo=lo(function(){return arguments}())?lo:function(e){return uo(e)&&ho.call(e,"callee")&&!fo.call(e,"callee")};const yo=mo;const go=Array.isArray;const bo=function(){return!1};var Oo="object"==typeof exports&&exports&&!exports.nodeType&&exports,wo=Oo&&"object"==typeof module&&module&&!module.nodeType&&module,Io=wo&&wo.exports===Oo?os.Buffer:void 0;const vo=(Io?Io.isBuffer:void 0)||bo;var So=/^(?:0|[1-9]\d*)$/;const Ao=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&So.test(e))&&e>-1&&e%1==0&&e<t};const Po=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var To={};To["[object Float32Array]"]=To["[object Float64Array]"]=To["[object Int8Array]"]=To["[object Int16Array]"]=To["[object Int32Array]"]=To["[object Uint8Array]"]=To["[object Uint8ClampedArray]"]=To["[object Uint16Array]"]=To["[object Uint32Array]"]=!0,To["[object Arguments]"]=To["[object Array]"]=To["[object ArrayBuffer]"]=To["[object Boolean]"]=To["[object DataView]"]=To["[object Date]"]=To["[object Error]"]=To["[object Function]"]=To["[object Map]"]=To["[object Number]"]=To["[object Object]"]=To["[object RegExp]"]=To["[object Set]"]=To["[object String]"]=To["[object WeakMap]"]=!1;const _o=function(e){return uo(e)&&Po(e.length)&&!!To[ms(e)]};const ko=function(e){return function(t){return e(t)}};var Co="object"==typeof exports&&exports&&!exports.nodeType&&exports,Eo=Co&&"object"==typeof module&&module&&!module.nodeType&&module,jo=Eo&&Eo.exports===Co&&rs.process;const Ro=function(){try{var e=Eo&&Eo.require&&Eo.require("util").types;return e||jo&&jo.binding&&jo.binding("util")}catch(e){}}();var Do=Ro&&Ro.isTypedArray;const No=Do?ko(Do):_o;var xo=Object.prototype.hasOwnProperty;const Vo=function(e,t){var n=go(e),r=!n&&yo(e),s=!n&&!r&&vo(e),o=!n&&!r&&!s&&No(e),i=n||r||s||o,a=i?co(e.length,String):[],c=a.length;for(var d in e)!t&&!xo.call(e,d)||i&&("length"==d||s&&("offset"==d||"parent"==d)||o&&("buffer"==d||"byteLength"==d||"byteOffset"==d)||Ao(d,c))||a.push(d);return a};var Mo=Object.prototype;const Bo=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Mo)};const Uo=function(e,t){return function(n){return e(t(n))}};const Jo=Uo(Object.keys,Object);var qo=Object.prototype.hasOwnProperty;const Go=function(e){if(!Bo(e))return Jo(e);var t=[];for(var n in Object(e))qo.call(e,n)&&"constructor"!=n&&t.push(n);return t};const Lo=function(e){return null!=e&&Po(e.length)&&!gs(e)};const Yo=function(e){return Lo(e)?Vo(e):Go(e)};const zo=function(e,t){return e&&ao(t,Yo(t),e)};const Ho=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t};var Fo=Object.prototype.hasOwnProperty;const Ko=function(e){if(!ys(e))return Ho(e);var t=Bo(e),n=[];for(var r in e)("constructor"!=r||!t&&Fo.call(e,r))&&n.push(r);return n};const Wo=function(e){return Lo(e)?Vo(e,!0):Ko(e)};const Qo=function(e,t){return e&&ao(t,Wo(t),e)};var Xo="object"==typeof exports&&exports&&!exports.nodeType&&exports,$o=Xo&&"object"==typeof module&&module&&!module.nodeType&&module,Zo=$o&&$o.exports===Xo?os.Buffer:void 0,ei=Zo?Zo.allocUnsafe:void 0;const ti=function(e,t){if(t)return e.slice();var n=e.length,r=ei?ei(n):new e.constructor(n);return e.copy(r),r};const ni=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t};const ri=function(e,t){for(var n=-1,r=null==e?0:e.length,s=0,o=[];++n<r;){var i=e[n];t(i,n,e)&&(o[s++]=i)}return o};const si=function(){return[]};var oi=Object.prototype.propertyIsEnumerable,ii=Object.getOwnPropertySymbols;const ai=ii?function(e){return null==e?[]:(e=Object(e),ri(ii(e),(function(t){return oi.call(e,t)})))}:si;const ci=function(e,t){return ao(e,ai(e),t)};const di=function(e,t){for(var n=-1,r=t.length,s=e.length;++n<r;)e[s+n]=t[n];return e};const ui=Uo(Object.getPrototypeOf,Object);const li=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)di(t,ai(e)),e=ui(e);return t}:si;const pi=function(e,t){return ao(e,li(e),t)};const hi=function(e,t,n){var r=t(e);return go(e)?r:di(r,n(e))};const fi=function(e){return hi(e,Yo,ai)};const mi=function(e){return hi(e,Wo,li)};const yi=Rs(os,"DataView");const gi=Rs(os,"Promise");const bi=Rs(os,"Set");const Oi=Rs(os,"WeakMap");var wi="[object Map]",Ii="[object Promise]",vi="[object Set]",Si="[object WeakMap]",Ai="[object DataView]",Pi=Ss(yi),Ti=Ss(Ds),_i=Ss(gi),ki=Ss(bi),Ci=Ss(Oi),Ei=ms;(yi&&Ei(new yi(new ArrayBuffer(1)))!=Ai||Ds&&Ei(new Ds)!=wi||gi&&Ei(gi.resolve())!=Ii||bi&&Ei(new bi)!=vi||Oi&&Ei(new Oi)!=Si)&&(Ei=function(e){var t=ms(e),n="[object Object]"==t?e.constructor:void 0,r=n?Ss(n):"";if(r)switch(r){case Pi:return Ai;case Ti:return wi;case _i:return Ii;case ki:return vi;case Ci:return Si}return t});const ji=Ei;var Ri=Object.prototype.hasOwnProperty;const Di=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&Ri.call(e,"index")&&(n.index=e.index,n.input=e.input),n};const Ni=os.Uint8Array;const xi=function(e){var t=new e.constructor(e.byteLength);return new Ni(t).set(new Ni(e)),t};const Vi=function(e,t){var n=t?xi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)};var Mi=/\w*$/;const Bi=function(e){var t=new e.constructor(e.source,Mi.exec(e));return t.lastIndex=e.lastIndex,t};var Ui=is?is.prototype:void 0,Ji=Ui?Ui.valueOf:void 0;const qi=function(e){return Ji?Object(Ji.call(e)):{}};const Gi=function(e,t){var n=t?xi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)};const Li=function(e,t,n){var r=e.constructor;switch(t){case"[object ArrayBuffer]":return xi(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return Vi(e,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Gi(e,n);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return Bi(e);case"[object Symbol]":return qi(e)}};var Yi=Object.create;const zi=function(){function e(){}return function(t){if(!ys(t))return{};if(Yi)return Yi(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();const Hi=function(e){return"function"!=typeof e.constructor||Bo(e)?{}:zi(ui(e))};const Fi=function(e){return uo(e)&&"[object Map]"==ji(e)};var Ki=Ro&&Ro.isMap;const Wi=Ki?ko(Ki):Fi;const Qi=function(e){return uo(e)&&"[object Set]"==ji(e)};var Xi=Ro&&Ro.isSet;const $i=Xi?ko(Xi):Qi;var Zi="[object Arguments]",ea="[object Function]",ta="[object Object]",na={};na[Zi]=na["[object Array]"]=na["[object ArrayBuffer]"]=na["[object DataView]"]=na["[object Boolean]"]=na["[object Date]"]=na["[object Float32Array]"]=na["[object Float64Array]"]=na["[object Int8Array]"]=na["[object Int16Array]"]=na["[object Int32Array]"]=na["[object Map]"]=na["[object Number]"]=na[ta]=na["[object RegExp]"]=na["[object Set]"]=na["[object String]"]=na["[object Symbol]"]=na["[object Uint8Array]"]=na["[object Uint8ClampedArray]"]=na["[object Uint16Array]"]=na["[object Uint32Array]"]=!0,na["[object Error]"]=na[ea]=na["[object WeakMap]"]=!1;const ra=function e(t,n,r,s,o,i){var a,c=1&n,d=2&n,u=4&n;if(r&&(a=o?r(t,s,o,i):r(t)),void 0!==a)return a;if(!ys(t))return t;var l=go(t);if(l){if(a=Di(t),!c)return ni(t,a)}else{var p=ji(t),h=p==ea||"[object GeneratorFunction]"==p;if(vo(t))return ti(t,c);if(p==ta||p==Zi||h&&!o){if(a=d||h?{}:Hi(t),!c)return d?pi(t,Qo(a,t)):ci(t,zo(a,t))}else{if(!na[p])return o?t:{};a=Li(t,p,c)}}i||(i=new to);var f=i.get(t);if(f)return f;i.set(t,a),$i(t)?t.forEach((function(s){a.add(e(s,n,r,s,t,i))})):Wi(t)&&t.forEach((function(s,o){a.set(o,e(s,n,r,o,t,i))}));var m=l?void 0:(u?d?mi:fi:d?Wo:Yo)(t);return no(m||t,(function(s,o){m&&(s=t[o=s]),io(a,o,e(s,n,r,o,t,i))})),a};const sa=function(e){return ra(e,5)};const oa=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const ia=function(e){return this.__data__.has(e)};function aa(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new $s;++t<n;)this.add(e[t])}aa.prototype.add=aa.prototype.push=oa,aa.prototype.has=ia;const ca=aa;const da=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1};const ua=function(e,t){return e.has(t)};const la=function(e,t,n,r,s,o){var i=1&n,a=e.length,c=t.length;if(a!=c&&!(i&&c>a))return!1;var d=o.get(e),u=o.get(t);if(d&&u)return d==t&&u==e;var l=-1,p=!0,h=2&n?new ca:void 0;for(o.set(e,t),o.set(t,e);++l<a;){var f=e[l],m=t[l];if(r)var y=i?r(m,f,l,t,e,o):r(f,m,l,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!da(t,(function(e,t){if(!ua(h,t)&&(f===e||s(f,e,n,r,o)))return h.push(t)}))){p=!1;break}}else if(f!==m&&!s(f,m,n,r,o)){p=!1;break}}return o.delete(e),o.delete(t),p};const pa=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n};const ha=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n};var fa=is?is.prototype:void 0,ma=fa?fa.valueOf:void 0;const ya=function(e,t,n,r,s,o,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new Ni(e),new Ni(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Yr(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=pa;case"[object Set]":var c=1&r;if(a||(a=ha),e.size!=t.size&&!c)return!1;var d=i.get(e);if(d)return d==t;r|=2,i.set(e,t);var u=la(a(e),a(t),r,s,o,i);return i.delete(e),u;case"[object Symbol]":if(ma)return ma.call(e)==ma.call(t)}return!1};var ga=Object.prototype.hasOwnProperty;const ba=function(e,t,n,r,s,o){var i=1&n,a=fi(e),c=a.length;if(c!=fi(t).length&&!i)return!1;for(var d=c;d--;){var u=a[d];if(!(i?u in t:ga.call(t,u)))return!1}var l=o.get(e),p=o.get(t);if(l&&p)return l==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var f=i;++d<c;){var m=e[u=a[d]],y=t[u];if(r)var g=i?r(y,m,u,t,e,o):r(m,y,u,e,t,o);if(!(void 0===g?m===y||s(m,y,n,r,o):g)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var b=e.constructor,O=t.constructor;b==O||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof O&&O instanceof O||(h=!1)}return o.delete(e),o.delete(t),h};var Oa="[object Arguments]",wa="[object Array]",Ia="[object Object]",va=Object.prototype.hasOwnProperty;const Sa=function(e,t,n,r,s,o){var i=go(e),a=go(t),c=i?wa:ji(e),d=a?wa:ji(t),u=(c=c==Oa?Ia:c)==Ia,l=(d=d==Oa?Ia:d)==Ia,p=c==d;if(p&&vo(e)){if(!vo(t))return!1;i=!0,u=!1}if(p&&!u)return o||(o=new to),i||No(e)?la(e,t,n,r,s,o):ya(e,t,c,n,r,s,o);if(!(1&n)){var h=u&&va.call(e,"__wrapped__"),f=l&&va.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,y=f?t.value():t;return o||(o=new to),s(m,y,n,r,o)}}return!!p&&(o||(o=new to),ba(e,t,n,r,s,o))};const Aa=function e(t,n,r,s,o){return t===n||(null==t||null==n||!uo(t)&&!uo(n)?t!=t&&n!=n:Sa(t,n,r,s,e,o))};const Pa=function(e,t){return Aa(e,t)};function Ta(e,t){const n=sa(e);return n.path[n.path.length-1]+=t,n}function _a(e,t){return e.root===t.root&&Pa(e.path,t.path)}function ka(e){Ea(e,(e=>("main"==e.root?(e.rootMain=!0,delete e.root):"$graveyard"==e.root&&(e.rootGraveyard=!0,delete e.root),e)))}function Ca(e){Ea(e,(e=>(e.rootMain?(e.root="main",delete e.rootMain):e.rootGraveyard&&(e.root="$graveyard",delete e.rootGraveyard),e)))}function Ea(e,t){for(const n in e){const r=e[n];"nodes"!==n&&ys(r)&&(r.path&&(r.root||r.rootMain||r.rootGraveyard)?e[n]=t(r):Ea(r,t))}return e}class ja{constructor(e,t,n){this._id=e,this._operationName=t,this._protobufDescriptor=n}compress(e,t){const n=t.shift();return ka(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){t.types.shift();const n=this._protobufDescriptor.decompress(t.buffers.shift());Ca(n),n.__className=this._operationName,e.push(n)}}class Ra extends ja{compress(e,t){const n=t.shift();return this._serializeOneOf("oldValue",n),this._serializeOneOf("newValue",n),ka(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),this._deserializeOneOf("oldValue",s),this._deserializeOneOf("newValue",s),Ca(s),s.__className=this._operationName,e.push(s)}_serializeOneOf(e,t){const n=t[e];"boolean"==typeof n?t[`${e}Boolean`]=n:t[`${e}Json`]=JSON.stringify(n)}_deserializeOneOf(e,t){const n=`${e}Json`;t[n]?(t[e]=JSON.parse(t[n]),delete t[n]):(t[e]=t[`${e}Boolean`],delete t[`${e}Boolean`])}}class Da extends ja{compress(e,t){const n=t.shift();return this._serializeNodesAttributes(n.nodes),ka(n),e.buffers.push(this._protobufDescriptor.compress(n)),e.types.push(this._id),!0}decompress(e,t){const{types:n,buffers:r}=t,s=this._protobufDescriptor.decompress(r.shift());n.shift(),s.nodes||(s.nodes=[]),this._deserializeNodesAttributes(s.nodes),Ca(s),s.__className=this._operationName,e.push(s)}_serializeNodesAttributes(e){for(const t of e){if(t.attributes){const e=t.attributes;this._areValuesBoolean(e)?t.attributesBoolean=e:t.attributesJson=JSON.stringify(e)}t.children&&this._serializeNodesAttributes(t.children)}}_deserializeNodesAttributes(e){for(const t of e)(t.attributesBoolean||t.attributesJson)&&(t.attributesBoolean?(t.attributes=t.attributesBoolean,delete t.attributesBoolean):(t.attributes=JSON.parse(t.attributesJson),delete t.attributesJson)),t.children&&this._deserializeNodesAttributes(t.children)}_areValuesBoolean(e){return Object.keys(e).every((t=>"boolean"==typeof e[t]))}}class Na extends ja{decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.oldRange||(n.oldRange=null),n.newRange||(n.newRange=null)}}class xa extends ja{compress(e,t){return t.shift(),e.types.push(this._id),!0}decompress(e,t){t.types.shift(),e.push({__className:this._operationName})}}class Va extends Na{constructor(e,t,n,r){super(e,t,n),this._omittedNamespace=r+":"}compress(e,t){return!("MarkerOperation"!=t[0].__className||!t[0].name.startsWith(this._omittedNamespace))&&(t[0].name=t[0].name.replace(new RegExp("^"+this._omittedNamespace),""),super.compress(e,t),!0)}decompress(e,t){super.decompress(e,t);const n=e[e.length-1];n.name=this._omittedNamespace+n.name}}class Ma{constructor(e,t){this._id=e,this._context=t}compress(e,t){let n;for(;t.length>1&&this._compareOperations(t[0],t[1]);)n?(n=this._combineNext(t.shift(),n),e.types.push(0)):(n=sa(t.shift()),e.types.push(this._id));return!!n&&(n=this._combineNext(t.shift(),n),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0)}decompress(e,t){const n=this._decompressSingleOperation(t);for(;0==t.types[0];)t.types.shift(),e.push(this._splitCurrent(n));e.push(n)}}class Ba extends Ma{_combineNext(e,t){return t.nodes[0].data+=e.nodes[0].data,t}_splitCurrent(e){const t=sa(e),n=t.nodes[0],r=e.nodes[0],s=r.data[Symbol.iterator]().next().value,o=s.length;return n.data=s,r.data=r.data.substr(o),e.position=Ta(e.position,o),t}_compareOperations(e,t){if(this._checkOperation(e)&&this._checkOperation(t)){const n=e.nodes[0].data.length,r=_a(Ta(e.position,n),t.position),s=e.nodes[0],o=t.nodes[0];return r&&this._compareAttributes(s,o)}return!1}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("InsertOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("InsertOperation").decompress(t,e),t[0]}_checkOperation(e){return"InsertOperation"==e.__className&&1==e.nodes.length&&e.nodes[0].data&&!e.wasUndone&&1==Array.from(e.nodes[0].data).length}_compareAttributes(e,t){const n=Object.keys(e.attributes||{}),r=Object.keys(t.attributes||{});return n.length===r.length&&n.every((n=>t.attributes[n]&&t.attributes[n]===e.attributes[n]))}}class Ua extends Ma{_combineNext(e,t){return t.howMany++,t.sourcePosition=sa(e.sourcePosition),t}_splitCurrent(e){const t=sa(e);return e.howMany--,t.howMany=1,t.sourcePosition=Ta(t.sourcePosition,e.howMany),t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(_a(Ta(e.sourcePosition,-1),t.sourcePosition)&&_a(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class Ja extends Ma{_combineNext(e,t){return t.howMany++,t}_splitCurrent(e){const t=sa(e);return t.howMany=1,e.howMany--,t}_compareOperations(e,t){return!(!this._checkOperation(e)||!this._checkOperation(t))&&(_a(e.sourcePosition,t.sourcePosition)&&_a(e.targetPosition,t.targetPosition))}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MoveOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MoveOperation").decompress(t,e),t[0]}_checkOperation(e){return"MoveOperation"==e.__className&&"$graveyard"==e.targetPosition.root&&1==e.howMany&&!e.wasUndone}}class qa extends Ma{compress(e,t){if(!this._compareOperations(t[0],t[1]))return!1;const n=t.shift();return n.oldRange=null,n.newRange&&_a(n.newRange.start,n.newRange.end)&&(n.newRange.end=null),t.shift(),e.types.push(this._id),e.types.push(0),e.buffers.push(this._compressSingleOperation(n)),!0}decompress(e,t){const n=this._decompressSingleOperation(t);n.newRange&&!n.newRange.end&&(n.newRange.end=sa(n.newRange.start));const r=sa(n);r.newRange&&(r.newRange.start.stickiness="toNone",r.newRange.end=sa(r.newRange.start)),r.name="user:position:"+r.name.split(":")[2],t.types.shift(),e.push(n),e.push(r)}_compressSingleOperation(e){const t={types:[],buffers:[],baseVersion:0};return this._context._getCompressorByName("MarkerOperation").compress(t,[e]),t.buffers[0]}_decompressSingleOperation(e){const t=[];return this._context._getCompressorByName("MarkerOperation").decompress(t,e),t[0]}_compareOperations(e,t){return!(!e||!t)&&("MarkerOperation"==e.__className&&"MarkerOperation"==t.__className&&!(!e.name.startsWith("user:")||!t.name.startsWith("user:")||e.name==t.name))}}class Ga{constructor(){this._compressorById=new Map,this._compressorByName=new Map,this._protobufFactory=new qr;const e=this._protobufFactory.getDescriptor("MarkerOperation");this._registerCompressor(1,"NoOperation",new xa(1,"NoOperation",void 0)),this._registerOperationCompressor(10,"AttributeOperation",Ra),this._registerOperationCompressor(11,"InsertOperation",Da),this._registerOperationCompressor(12,"MarkerOperation",Na),this._registerOperationCompressor(13,"MergeOperation",ja),this._registerOperationCompressor(14,"MoveOperation",ja),this._registerOperationCompressor(15,"RenameOperation",ja),this._registerOperationCompressor(16,"RootAttributeOperation",Ra),this._registerOperationCompressor(17,"SplitOperation",ja),this._registerCompressor(18,"CommentMarkerOperation",new Va(18,"MarkerOperation",e,"comment")),this._registerCompressor(19,"SuggestionMarkerOperation",new Va(19,"MarkerOperation",e,"suggestion")),this._registerOperationCompressor(20,"RootOperation",ja),this._registerActionCompressor(100,"TypingAction",Ba),this._registerActionCompressor(101,"DeletingAction",Ua),this._registerActionCompressor(102,"ForwardDeletingAction",Ja),this._registerActionCompressor(103,"UserSelectionAction",qa)}compress(e){if(!e||!e[0])throw new s.CKEditorError("no-operations-provided",this);const t={types:[],buffers:[],baseVersion:e[0].baseVersion};for(;e.length;)this._getCompressorByName("UserSelectionAction").compress(t,e)||this._getCompressorByName("TypingAction").compress(t,e)||this._getCompressorByName("DeletingAction").compress(t,e)||this._getCompressorByName("ForwardDeletingAction").compress(t,e)||this._getCompressorByName("CommentMarkerOperation").compress(t,e)||this._getCompressorByName("SuggestionMarkerOperation").compress(t,e)||this._getCompressorByName(e[0].__className).compress(t,e);return t}decompress(e){const t=[];for(;e.types.length;){this._compressorById.get(e.types[0]).decompress(t,e)}return t.forEach(((t,n)=>t.baseVersion=e.baseVersion+n)),t}_getCompressorByName(e){return this._compressorByName.get(e)}_registerOperationCompressor(e,t,n){const r=new n(e,t,this._protobufFactory.getDescriptor(t));this._registerCompressor(e,t,r)}_registerActionCompressor(e,t,n){const r=new n(e,this);this._registerCompressor(e,t,r)}_registerCompressor(e,t,n){this._compressorById.set(e,n),this._compressorByName.set(t,n)}}new Map([[Tn.TYPE,Tn.READABLE_TYPE_NAME],[En.TYPE,En.READABLE_TYPE_NAME],[Cn.TYPE,Cn.READABLE_TYPE_NAME],[Nn.TYPE,Nn.READABLE_TYPE_NAME],[Un.TYPE,Un.READABLE_TYPE_NAME],[qn.TYPE,qn.READABLE_TYPE_NAME],[Hn.TYPE,Hn.READABLE_TYPE_NAME],[Kn.TYPE,Kn.READABLE_TYPE_NAME],[Ln.TYPE,Ln.READABLE_TYPE_NAME],[Yn.TYPE,Yn.READABLE_TYPE_NAME],[zn.TYPE,zn.READABLE_TYPE_NAME],[pn.TYPE,pn.READABLE_TYPE_NAME],[hn.TYPE,hn.READABLE_TYPE_NAME],[fn.TYPE,fn.READABLE_TYPE_NAME],[Qt.TYPE,Qt.READABLE_TYPE_NAME],[$t.TYPE,$t.READABLE_TYPE_NAME],[sn.TYPE,sn.READABLE_TYPE_NAME],[en.TYPE,en.READABLE_TYPE_NAME],[on.TYPE,on.READABLE_TYPE_NAME],[cn.TYPE,cn.READABLE_TYPE_NAME],[Ve.TYPE,Ve.READABLE_TYPE_NAME],[Be.TYPE,Be.READABLE_TYPE_NAME],[Yt.TYPE,Yt.READABLE_TYPE_NAME],[Ht.TYPE,Ht.READABLE_TYPE_NAME],[Ut.TYPE,Ut.READABLE_TYPE_NAME],[Gt.TYPE,Gt.READABLE_TYPE_NAME],[xt.TYPE,xt.READABLE_TYPE_NAME],[Zn.TYPE,Zn.READABLE_TYPE_NAME],[er.TYPE,er.READABLE_TYPE_NAME],[tr.TYPE,tr.READABLE_TYPE_NAME],[$n.TYPE,$n.READABLE_TYPE_NAME]]);const{Nz:La,XM:Ya}=t,za=Fa;function Ha(){const e=["decompress","isUndoneOperation","_sendBufferedOperations","model","2536227FWvfDw","cloud-services-internal-error: Not connected.","define","stop","Permissions","createRange","destroy","end","CommentsOnly","_shouldSendUpdate","history","forEach","_handleReconnectionResponse","requires","isReadOnly","batch","_hasSynchronizationProblem","cs:removeUser","_channelId","enableReadOnlyMode","_isConnected","high","disconnected","change:hasDomSelection","cloudDocumentVersion","get","type","differ","_service","document","_addKnownRoot","stopListening","addRootAttribute","multi-root-editor-root-attributes-no-root","setIdForTheLastOperation","_connectAfterSessionHasBeenFlushed","toJSON","listenTo","permissions","_decompressOperations","selection","_document","marker","locale","RealTimeCollaborationClient","_initSessionsHandling","realtimecollaborationclient-init-non-existent-root","add","cloud-services-internal-error: Request timeout.","lastOperationAcceptedAt","_shouldSendSelectionUpdate","keys","getConnectedSessions","_lastServerVersion","2775234zsHQnP","cloud-services-internal-error: Collaborative Editing Service is not connected.","_pendingAction","_operationToId","addToReconnectionStack","map","rootName","The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","register","realtimecollaborationclient-handleserverresponse","_knownOperations","realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration","attributes","rtc-offline","apply","code","Notification","createUserMarkerOperations","startsWith","directChange","realtimecollaborationclient-init-connection-failed","message","_handleServerResponse","disconnect","real-time-collaboration","position","_compressOperations","createRoot","config","lastSyncVersion","operationsReceived","_setPendingAction","remove","_saveOperationInBuffer","_handleReceivedOperations","createPositionAt","removeFromReconnectionStack","_lastSyncedOperationId","return","init","initData","offset","_bufferRootLoad","9164312eBAgDq","compress","root","realtimecollaborationclient-init-session-connection-error","lastDocumentSession","_isEditingAllowed","sendOperations","_clearPendingAction","sessionId","bind","addRoot","plugins","showWarning","has","size","change:_isPendingUpdate","wereChangesApplied","_applyOperationsSet","channelSessions","_refreshUserSelectionMarkers","slice","_operationIdentifier","70758tqZKma","currentDocumentSession","getUser","_handleExternalOperations","connection","metadata","getIdOfTheLastOperation","createPositionFromPath","_isLoaded","version","_bufferedOperations","cloudServices.bundleVersion","lastOperationId","serverHistory","finally","collaboration.channelId","_handleReconnectionError","change:_isEditingAllowed","_initThrowingOnDataSet","change:range","realtimecollaborationclient-init-document-already-initialized","reset","_currentBufferDelay","collaboration","reconnection: flushed session","start","$root","collaboration-missing-channelid","_sendBufferedOperationsDelayId","getOperationAuthor","error","off","addUser","_knownRootNames","loadRoot","markers","view","wasUndone","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","suppressErrorInCollaboration","getMany","connect","mySessionId","applyOperation","set","_handleInitialConnectionData","enqueueChange","_disconnectionOperations","404","_crash","realtimecollaborationclient-initservice-incorrect-server-operation","_disconnectService","InsertOperation","state","clone","40394WaAkrx","Synchronization issue","realtimecollaborationclient-initservice-internal-error","931220DMEYRv","then","_isInit","getDocumentDetails","string","_isAttached","setPermissions","editing","userId","_offset","addOperation","createdAt","_handleSendingSelectionMarkers","_setUpDataInit","_sendBufferedOperationsDelayed","filter","rtc-destroyed","_getAffectedRoot","fromJSON","_hasSelectionChanged","_baseBufferDelay","data","409","_authorId","fire","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","_connectService","entries","affectedSelectable","_ignoredOperations","__className","_isPendingUpdate","document:write","410MrBbWc","path","getRoot","_isDisconnection","65QqczuO","move","pluginName","catch","_waitUntilSynced","getOperations","from","isDocumentOperation","push","roots","rootsAttributes","parse","disableReadOnlyMode","_updateServerHistory","connected","newRange","sessionAdd:","isEnabled","realtimecollaborationclient-sendbufferedoperations","baseVersion","18WCuXEd","CollaborativeEditingService","insert","affectsData","_loadRoot","round","ready","length","_fetchMissingUsers","sessionCreatedAt","reconnect","includes","unregister","28706220rJPQsR","PENDING_ACTION_SENDING_DATA","editor","_getOperationsFromInitData","_compressor","targetPosition"];return(Ha=function(){return e})()}function Fa(e,t){const n=Ha();return(Fa=function(e,t){return n[e-=362]})(e,t)}!function(e){const t=Fa,n=e();for(;;)try{if(727423===parseInt(t(506))/1*(-parseInt(t(466))/2)+parseInt(t(526))/3*(parseInt(t(469))/4)+parseInt(t(502))/5*(-parseInt(t(411))/6)+-parseInt(t(603))/7+-parseInt(t(389))/8+parseInt(t(549))/9+parseInt(t(539))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ha);let Ka=1;class Wa extends r.Plugin{static get[za(562)](){return[dr,fr,vr,r.PendingActions,ur.Users,o.Notification]}static get[za(508)](){return za(593)}get[za(573)](){const e=za;return this[e(602)]+this[e(478)]}get[za(602)](){const e=za;return this[e(424)][e(420)]-this[e(478)]}get[za(375)](){const e=za,t=this[e(424)][e(511)]();for(let n=t[e(533)]-1;n>=0;n--){const r=t[n];if(!this[e(458)][e(402)](r))return r[e(525)]+1-this[e(478)]}return 0}constructor(e){const t=za;if(super(e),this[t(478)]=0,this[t(397)]=null,this[t(424)]=new i.History,this[t(541)][t(374)][t(551)](t(434),{}),this[t(567)]=this[t(541)][t(374)][t(574)](t(426)),!this[t(567)])throw new s.CKEditorError(t(438),this);const n=e[t(374)][t(574)](t(422))||s.version;this[t(577)]=new(Wa[t(527)])(n,this[t(567)]),this[t(590)]=this[t(541)][t(548)][t(578)],this[t(543)]=new Ga,this[t(421)]=[],this[t(614)]=new WeakSet,this[t(444)]=new Set,this[t(455)](t(500),!1),this[t(455)](t(565),!1),this[t(605)]=null,this[t(488)]=!1,this[t(439)]=null,this[t(489)]=300,this[t(433)]=this[t(489)],this[t(383)]=null,this[t(458)]=new WeakSet,this[t(410)]=new Za(this[t(458)])}[za(385)](){const e=za,t=this[e(541)],n=t[e(400)][e(574)](ur.Users),r=t[e(400)][e(574)](dr);this[e(586)](n,e(440),((t,r)=>{const s=e,o=r[0];o[s(492)]&&(t[s(384)]=n[s(413)](o[s(492)]),t[s(552)]()),null===o[s(492)]&&(t[s(384)]=null,t[s(552)]())}),{priority:e(570)}),this[e(586)](t[e(548)][e(578)][e(589)],e(430),((t,n)=>{const r=e;n[r(365)]&&this[r(408)]()})),this[e(586)](t[e(476)][e(447)],e(572),(()=>{this[e(408)]()})),this[e(429)](),t[e(548)].on(e(454),((t,n)=>{const r=e,s=n[0];s[r(513)]&&(this[r(379)](s),this[r(558)]()&&this[r(483)]())})),this[e(482)](),this[e(398)](e(394)).to(r,e(464),this,e(565),((t,n)=>e(520)===t&&!n)),this.on(e(428),(()=>{const n=e;this[n(394)]?t[n(518)](n(617)):t[n(568)](n(617))})),this[e(394)]?t[e(518)](e(617)):t[e(568)](e(617)),this[e(455)](e(569),!1)}async[za(536)](){const e=za,t=this[e(541)][e(400)][e(574)](fr),n=this[e(541)][e(400)][e(574)](dr);try{this[e(500)]=!0,t[e(538)](this[e(567)]);const r=await this[e(577)][e(536)](n[e(415)],this[e(375)]);await this[e(561)](r)&&(this[e(500)]=!1,this[e(396)]());const s=await this[e(577)][e(601)]();t[e(612)](this[e(567)],s),this[e(481)](),this[e(569)]=!0}catch(t){if(function(t){const n=e;return n(459)===t[n(619)]}(t)&&this[e(397)])await this[e(584)]();else if(function(t){const n=e;return n(491)===t[n(619)]}(t)){const t=Ar(this[e(541)][e(592)],e(610));this[e(427)](t)}else{if(!(t instanceof Xa))throw t;this[e(427)]()}}}[za(555)](){const e=za,t=this[e(541)][e(400)][e(574)](dr),n=this[e(541)][e(400)][e(574)](fr);this[e(541)][e(568)](e(485)),n[e(407)][e(402)](this[e(567)])&&n[e(538)](this[e(567)]),t[e(382)](this),this[e(462)](),super[e(555)]()}async[za(561)](e){const t=za;if(this[t(397)]!==e[t(397)]&&this[t(383)]!==e[t(423)])throw new Xa;return this[t(397)]=e[t(397)],this[t(368)]([],{...e,wereChangesApplied:!1,data:e[t(490)]},t(536))}async[za(495)](e,t=!1){const n=za,{connection:r}=this[n(541)][n(400)][n(574)](dr);Wa[n(527)][n(601)](r,this[n(567)])[n(470)]((e=>this[n(594)](e)))[n(509)]((e=>{const t=n;this[t(460)](t(392),e)})),this[n(586)](this[n(577)],n(376),this[n(380)][n(398)](this)),this[n(586)](this[n(577)],n(441),((e,t)=>{const r=n;this[r(460)](r(468),t)})),this[n(586)](this[n(577)],n(571),(()=>{this[n(569)]=!1}));const s=this[n(410)][n(417)](e);this[n(500)]=!0;const o=await this[n(577)][n(452)](r,this[n(372)](e),s);if(this[n(397)]=o[n(397)],t){if(!o[n(405)])return void this[n(427)]();this[n(500)]=!1,this[n(396)](),this[n(424)][n(432)](),this[n(478)]=o[n(387)],this[n(424)][n(420)]=this[n(478)],await this[n(368)](e,o,n(435))}else await this[n(456)](o,e);this[n(481)](),this[n(569)]=!0}[za(481)](){const e=za,t=this[e(541)][e(400)][e(574)](fr),n=this[e(541)][e(400)][e(574)](vr),r=t[e(407)][e(574)](this[e(567)]);r&&r[e(533)]>1?n[e(363)]():this[e(586)](t,e(522)+this[e(567)],(()=>{const r=e;2===t[r(407)][r(574)](this[r(567)])[r(533)]&&n[r(363)]()}))}async[za(380)](e,t,n,r){const s=za;if(!this[s(500)]&&this[s(590)][s(420)]==t){const e=this[s(588)](n,r);await this[s(534)](e),this[s(414)](e,t,n[s(423)])||this[s(460)](s(461))}}async[za(584)](){const e=za;this[e(462)]();const{locale:t}=this[e(541)];let n;try{n=await this[e(577)][e(472)]()}catch(n){const r=Ar(t,e(494));return void this[e(427)](r)}const r=n[e(412)]||n[e(393)];if(this[e(383)]===r[e(423)])await this[e(495)](this[e(541)][e(548)][e(578)][e(559)][e(511)](),!0);else{const n=Ar(t,e(611));this[e(427)](n)}}[za(462)](){const e=za;this[e(577)][e(369)](),this[e(421)]=[],clearTimeout(this[e(439)]),this[e(580)](this[e(577)])}[za(594)](e){const t=za,n=this[t(541)][t(400)][t(574)](fr);this[t(586)](n,t(522)+this[t(567)],((e,{session:r})=>{const s=t;if(r.id===n[s(453)]){e[s(442)]();const t=this[s(541)][s(400)][s(402)](s(557))&&this[s(541)][s(400)][s(574)](s(557));let n=r[s(587)];t&&t[s(523)]&&(n=n[s(484)]((e=>s(501)!==e))),this[s(541)][s(400)][s(574)](s(553))[s(475)](n,this[s(567)])}})),n[t(612)](this[t(567)],e)}[za(429)](){const e=za,t=this[e(541)][e(490)][e(455)];this[e(541)][e(490)][e(455)]=(...n)=>{const r=e;if(!n[n[r(533)]-1][r(450)])throw new s.CKEditorError(r(615),this);t[r(618)](this[r(541)][r(490)],n)}}[za(482)](){const e=za;this[e(541)][e(490)].on(e(385),((t,[n])=>{const r=e;if(this[r(590)][r(420)])throw new s.CKEditorError(r(431),this);t[r(552)](),this[r(377)]();const o=this[r(541)][r(374)][r(574)](r(516)),a=this[r(542)](n,o);0==a[r(533)]&&a[r(514)](new i.NoOperation(0)),t[r(384)]=this[r(495)](a)[r(470)]((()=>{const e=r;this[e(541)][e(400)][e(574)](dr)[e(607)](this),this[e(541)][e(490)][e(493)](e(532))}))[r(509)]((e=>this[r(460)](r(366),e)))[r(425)]((()=>this[r(396)]()))}),{priority:e(570)}),this[e(541)].on(e(445),(async(t,[n,r])=>{const s=e;t[s(552)]();const o=this[s(541)][s(548)][s(578)][s(504)](n);if(!this[s(444)][s(402)](n)){const e=r&&r[s(490)]?r[s(490)]:"",t=r&&r[s(616)]?r[s(616)]:{};await this[s(530)](n,e,t)}this[s(541)][s(548)][s(457)]({isUndoable:!1},(()=>{const e=s;o[e(419)]=!0,this[e(541)][e(548)][e(578)][e(576)][e(388)](o)}))}),{priority:e(570)})}async[za(534)](e){const t=za,n=this[t(541)][t(400)][t(574)](ur.Users),{connection:r}=this[t(541)][t(400)][t(574)](dr),s=new Set;for(const r of e){const e=r[t(492)];e&&!n[t(413)](e)&&s[t(596)](e)}if(0===s[t(403)])return;const o=await Le[t(451)](r,Array[t(512)](s));for(const e of o)n[t(413)](e.id)||n[t(443)](e)}[za(542)](e,t={}){const n=za,r=this[n(541)][n(548)],o=[];let a=0;const c=n(473)==typeof e?{main:e}:e;for(const e of Object[n(600)](c)){if(!this[n(590)][n(515)][n(402)](e))throw new s.CKEditorError(n(595),this);const t=this[n(541)][n(490)][n(517)](c[e]),d=this[n(590)][n(504)](e),u=new i.InsertOperation(r[n(381)](d,0),t,a++);o[n(514)](u);for(const[e,s]of t[n(446)]){const t=r[n(554)](r[n(418)](d,s[n(436)][n(503)][n(409)]()),r[n(418)](d,s[n(556)][n(503)][n(409)]())),c=new i.MarkerOperation(e,null,t,r[n(446)],!0,a++);o[n(514)](c)}}if(t)for(const[e,c]of Object[n(496)](t)){const t=r[n(578)][n(504)](e);if(!t)throw new s.CKEditorError(n(582),null);for(const[e,r]of Object[n(496)](c))if(null!==r){const s=new i.RootAttributeOperation(t,e,null,r,a++);o[n(514)](s)}}return o}async[za(530)](e,t,n){const r=za;this[r(542)]({[e]:t},{[e]:n})[r(560)](((e,t)=>{const n=r;e[n(525)]=this[n(590)][n(420)]+t,e[n(471)]=!0,this[n(379)](e)})),this[r(483)](),await this[r(510)]()}async[za(456)](e,t){const n=za;let r;this[n(478)]=e[n(387)];const s=e[n(405)]&&!e[n(386)],o=s?0:e[n(490)][n(525)];if(t[n(560)]((t=>{const r=n;t[r(471)]=!0,t[r(480)]=e[r(535)],t[r(492)]=null})),s)r=t,this[n(406)](r,s);else{if(e[n(386)]){const t=this[n(542)](e[n(386)]);this[n(590)][n(559)][n(420)]=-t[n(533)],t[n(560)]((r=>{const s=n;r[s(525)]-=t[s(533)],r[s(480)]=e[s(535)],r[s(471)]=!0,r[s(492)]=null})),this[n(406)](t,!0),this[n(424)][n(420)]=-t[n(533)]+this[n(478)],this[n(519)](t)}this[n(590)][n(559)][n(420)]=o,r=this[n(588)](e[n(490)],e[n(416)]),await this[n(534)](r),this[n(406)](r,s)}e[n(423)]&&(this[n(410)][n(583)](r,e[n(423)]),this[n(383)]=e[n(423)]),this[n(424)][n(420)]=o+this[n(478)],this[n(519)](r),t[n(484)]((e=>{const t=n,r=this[t(486)](e);return r&&!this[t(444)][t(402)](r)}))[n(560)](((e,t)=>{const r=n;e[r(525)]=this[r(590)][r(420)]+t,this[r(379)](e)})),this[n(558)]()?(this[n(433)]=0,this[n(483)](!0),await this[n(510)]()):(this[n(500)]=!1,this[n(396)]())}[za(460)](e,t){const n=za;throw this[n(500)]=!0,t&&console[n(441)](t),new s.CKEditorError(e,this[n(541)])}[za(379)](e){const t=za;this[t(614)][t(402)](e)||(this[t(614)][t(596)](e),this[t(421)][t(514)](e),this[t(605)]||t(591)==e[t(575)]&&!e[t(529)]||this[t(377)]())}[za(483)](e=!1){const t=za;!e&&this[t(500)]||(this[t(500)]=!0,clearTimeout(this[t(439)]),this[t(439)]=setTimeout((()=>{const e=t;this[e(547)]()[e(470)]((t=>{const n=e;t&&(this[n(396)](),this[n(500)]=!1)}))[e(509)]((t=>{const n=e;if(this[n(396)](),this[n(500)]=!1,!function(e){const t=n;return e[t(367)][t(364)](t(550))||e[t(367)][t(364)](t(604))||e[t(367)][t(364)](t(597))}(t))throw t}))}),this[t(433)]))}[za(510)](){return new Promise((e=>{const t=Fa;this.on(t(404),(()=>{e()}))}))}async[za(547)](){const e=za,t=this[e(541)][e(400)][e(574)](vr);if(this[e(599)]()&&(t[e(363)](),this[e(488)]=!1),!this[e(558)]())return!0;const n=[...this[e(421)]];for(const t of n)t[e(448)]=this[e(590)][e(559)][e(546)](t);const r=this[e(410)][e(417)](n),s=Ka++,o=this[e(372)](n),i=await this[e(577)][e(395)](o,o[e(525)],r);try{return await this[e(368)](n,i,s)}catch(t){return this[e(460)](e(524),t)}}async[za(368)](e,t,n){const r=za;if(r(441)in t)throw t[r(441)];let s=!1;if(t[r(405)]){t[r(423)]&&(this[r(383)]=t[r(423)]),this[r(421)]=this[r(421)][r(484)]((t=>!e[r(537)](t)));for(const n of e)n[r(480)]=r(598)in t&&t[r(598)]||void 0;$a(e,t[r(420)]-e[r(533)]),this[r(519)](e);const n=e[r(484)]((e=>{const t=r;if(!e[t(471)])return!1;const n=this[t(486)](e);return n&&!this[t(444)][t(402)](n)}));$a(n,this[r(590)][r(420)]),this[r(406)](n),s=!0,this[r(433)]=this[r(489)]}else{const e=this[r(588)](t[r(490)],t[r(416)])[r(484)]((e=>e[r(525)]>=this[r(602)]));e[r(560)]((e=>this[r(579)](e))),this[r(421)]=this[r(421)][r(484)]((e=>!e[r(471)]||!this[r(444)][r(402)](this[r(486)](e)))),this[r(421)][r(533)]&&$a(this[r(421)],this[r(421)][0][r(525)]),await this[r(534)](e),s=this[r(414)](e,t[r(420)],t[r(423)]),this[r(433)]=Math[r(531)](this[r(433)]/2)}return s?!this[r(558)]()||(this[r(483)](!0),!1):this[r(460)](r(613))}[za(414)](e,t,n){const r=za;try{const s={document:this[r(590)],useRelations:!1,padWithNoOps:!0},{operationsA:o,operationsB:a,originalOperations:c}=(0,i.transformSets)(e,this[r(421)],s);$a(o,this[r(590)][r(420)]),$a(a,t);for(const e of o){const t=c[r(574)](e);e[r(492)]=t?t[r(492)]:null}n&&(this[r(410)][r(583)](e,n),this[r(383)]=n),this[r(421)]=[...a],this[r(406)](o),this[r(519)](e)}catch(e){return console[r(441)](e),!1}return!0}[za(406)](e,t=!1){const n=za;this[n(541)][n(548)][n(457)]({isUndoable:!1,isLocal:!1},(t=>{const r=n;for(const n of e)this[r(614)][r(596)](n),this[r(579)](n),t[r(564)][r(479)](n),this[r(541)][r(548)][r(454)](n)}))}[za(579)](e){const t=za,n=this[t(486)](e);n&&this[t(444)][t(596)](n)}[za(486)](e){const t=za;let n,r;switch(e[t(575)]){case t(528):n=e[t(371)][t(391)];break;case t(591):if(r=e[t(521)],!r)return null;n=r[t(391)];break;case t(581):n=e[t(391)];break;case t(399):n=e[t(497)];break;case t(507):n=e[t(544)][t(391)];break;default:return null}return n[t(609)]}[za(519)](e){const t=za;e[t(560)]((e=>{const n=t,r=e[n(465)]();r[n(492)]=e[n(492)],r[n(471)]=!!e[n(471)],r[n(480)]=e[n(480)],r[n(525)]+=this[n(478)],e[n(505)]&&this[n(458)][n(596)](r),this[n(424)][n(479)](r)}))}[za(427)](e){const t=za,n=this[t(541)][t(400)][t(574)](t(362)),r=this[t(541)][t(592)];e||(e=Ar(r,t(449))),n[t(401)](e,{title:Ar(r,t(467)),namespace:t(370)}),this[t(565)]=!0,clearTimeout(this[t(439)]),this[t(421)]=[],this[t(541)][t(400)][t(574)](dr)[t(555)]()}[za(377)](){const e=za;this[e(605)]||(this[e(605)]=this[e(541)][e(400)][e(574)](r.PendingActions)[e(596)](Ar(this[e(541)][e(592)],e(540))))}[za(396)](){const e=za;this[e(605)]&&(this[e(541)][e(400)][e(574)](r.PendingActions)[e(378)](this[e(605)]),this[e(605)]=null)}[za(372)](e){const t=za,n=e[t(608)]((e=>e[t(585)]()));return this[t(543)][t(390)](n)}[za(588)](e,t){const n=za;return this[n(543)][n(545)](e)[n(608)](((e,r)=>{const s=n,o=s(385)==t[r][s(575)];if(s(463)==e[s(499)]){const t=e[s(371)][s(391)];!this[s(590)][s(504)](t)&&(this[s(590)][s(373)](s(437),t)[s(474)]=!1)}const a=i.OperationFactory[s(487)](e,this[s(590)]);return a[s(448)]=e[s(448)],a[s(471)]=o,a[s(492)]=o?null:t[r][s(477)],a[s(505)]=s(566)===t[r][s(575)],a[s(480)]=t[r][s(480)],a}))}[za(408)](){const e=za;this[e(488)]=!0,this[e(599)]()?this[e(483)]():this[e(488)]=!1}[za(599)](){const e=za,t=this[e(541)][e(400)][e(574)](fr)[e(407)][e(574)](this[e(567)]);return!this[e(541)][e(563)]&&!!t&&t[e(533)]>1&&this[e(488)]}[za(558)](){const e=za;return this[e(421)][e(533)]>0||this[e(599)]()}}Wa[za(527)]=Vn;const Qa=Wa;class Xa extends Error{}function $a(e,t){const n=za;for(const r of e)r[n(525)]=t++}class Za{constructor(e){const t=za;this[t(498)]=e,this[t(606)]=new WeakMap}[za(417)](e){const t=za;let n=e[t(533)];for(;n--;){const r=e[n];if(!this[t(498)][t(402)](r)){if(!this[t(606)][t(402)](r)){const e=(0,s.uid)()[t(409)](1,18);this[t(606)][t(455)](r,e)}return this[t(606)][t(574)](r)}}}[za(583)](e,t){const n=za;if(!t)return;let r=e[n(533)];for(;r--;){const s=e[r];this[n(498)][n(402)](s)||this[n(606)][n(455)](s,t)}}}function ec(){var e=["18XUoKle","4693260EIjPoG","9303545jaBNJg","13113200dYioRu","4415800GHiAXl","292472MNyIBR","RealTimeCollaborativeEditing","pluginName","3853402ImhByy","6654VMtsNA","652tszRFz","requires","6NRkiNx"];return(ec=function(){return e})()}var tc=nc;function nc(e,t){var n=ec();return(nc=function(e,t){return n[e-=321]})(e,t)}!function(e){for(var t=nc,n=e();;)try{if(945078===parseInt(t(326))/1+-parseInt(t(331))/2*(-parseInt(t(330))/3)+-parseInt(t(322))/4+parseInt(t(323))/5*(parseInt(t(333))/6)+-parseInt(t(329))/7+-parseInt(t(325))/8*(-parseInt(t(321))/9)+-parseInt(t(324))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ec);class rc extends r.Plugin{static get[tc(332)](){return[Qa]}static get[tc(328)](){return tc(327)}}const sc=ic;!function(e){const t=ic,n=e();for(;;)try{if(758366===parseInt(t(522))/1+parseInt(t(457))/2*(-parseInt(t(516))/3)+-parseInt(t(519))/4*(parseInt(t(491))/5)+parseInt(t(509))/6*(parseInt(t(485))/7)+-parseInt(t(494))/8+parseInt(t(526))/9+parseInt(t(461))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(ac);class oc extends r.ContextPlugin{static get[sc(514)](){return[dr,sc(473),fr,ur.Users]}static get[sc(530)](){return sc(541)}constructor(e){const t=sc;super(e),this[t(543)]=new Map}async[sc(515)](){const e=sc,t=this[e(459)],n=t[e(471)][e(503)](e(473));if(t[e(471)][e(503)](dr)[e(453)](this),n[e(468)]={addCommentThread:async({channelId:t,threadId:n,comments:r,resolvedAt:s,resolvedBy:o,context:i,attributes:a})=>{const c=e,d=await this[c(481)](t)[c(488)]({commentThreadId:n,comments:r[c(472)]((e=>function(e,t,n){const r=c;return{commentThreadId:n,commentId:e[r(480)],userId:e[r(464)],content:e[r(475)],documentId:t,createdAt:e[r(478)],attributes:e[r(507)]||{}}}(e,t,n))),resolvedAt:s,resolvedBy:o,context:i,attributes:a})[c(490)](uc);return{threadId:d[c(550)],comments:d[c(504)]}},getCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(481)](t)[r(548)](n)[r(490)](uc);return await this[r(492)]([s]),{threadId:s[r(550)],comments:s[r(504)][r(472)](lc),context:s[r(459)],resolvedAt:s[r(456)],resolvedBy:s[r(511)],attributes:s[r(507)]||{}}},updateCommentThread:async({channelId:t,threadId:n,context:r,unlinkedAt:s,attributes:o})=>this[e(481)](t)[e(533)]({commentThreadId:n,context:r,attributes:o,unlinkedAt:s})[e(490)](dc)[e(490)](uc),resolveCommentThread:async({channelId:t,threadId:n})=>{const r=e,s=await this[r(481)](t)[r(537)](n)[r(490)](dc)[r(490)](uc);return{threadId:s[r(550)],resolvedAt:s[r(456)],resolvedBy:s[r(511)]}},reopenCommentThread:async({channelId:t,threadId:n})=>this[e(481)](t)[e(544)](n)[e(490)](dc)[e(490)](uc),removeCommentThread:({channelId:t,threadId:n})=>this[e(481)](t)[e(496)](n)[e(490)](dc)[e(490)](uc),addComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(481)](t)[e(529)](n,r,s,o)[e(490)](uc),updateComment:({channelId:t,threadId:n,commentId:r,content:s,attributes:o})=>this[e(481)](t)[e(477)](n,r,s,o)[e(490)](dc)[e(490)](uc),removeComment:({channelId:t,threadId:n,commentId:r})=>this[e(481)](t)[e(506)](n,r)[e(490)](dc)[e(490)](uc)},t instanceof r.Context){const n=t[e(498)][e(503)](e(536)),r=t[e(471)][e(503)](fr);await this[e(469)](n);const s=await this[e(543)][e(503)](n)[e(458)]();this[e(452)](r,e(512)+n,((t,{session:s})=>{const o=e;s.id===r[o(455)]&&(t[o(535)](),this[o(459)][o(471)][o(503)](o(460))[o(502)](s[o(470)],n))})),r[e(532)](n,s)}}async[sc(469)](e){const t=sc;if(this[t(543)][t(528)](e))throw new s.CKEditorError(t(510),null,{channelId:e});const n=this[t(459)][t(471)][t(503)](t(473)),r=new(oc[t(542)])(e);this[t(543)][t(538)](e,r),this[t(452)](r,t(479),((e,r)=>{const s=t,{commentThreadId:o,documentId:i,context:a,attributes:c,resolvedAt:d,resolvedBy:u,comments:l}=r;n[s(548)](o)||n[s(488)]({threadId:o,channelId:i,comments:l?l[s(472)](lc):[],context:a,attributes:c,resolvedAt:d,resolvedBy:u,isFromAdapter:!0})})),this[t(452)](r,t(467),((e,{commentThreadId:r,documentId:s,context:o,unlinkedAt:i,attributes:a})=>{const c=t;n[c(548)](r)&&n[c(533)]({threadId:r,channelId:s,context:o,unlinkedAt:i,attributes:a,isFromAdapter:!0})})),this[t(452)](r,t(483),((e,{commentThreadId:r,resolvedBy:s,resolvedAt:o})=>{const i=t,a=n[i(548)](r);a&&a[i(495)]({resolvedBy:s,resolvedAt:o,isFromAdapter:!0})})),this[t(452)](r,t(524),((e,{commentThreadId:r})=>{const s=t,o=n[s(548)](r);o&&o[s(500)]({isFromAdapter:!0})})),this[t(452)](r,t(451),((e,{commentThreadId:r})=>{const s=t,o=n[s(548)](r);o&&o[s(525)]({isFromAdapter:!0})})),this[t(452)](r,t(531),((e,r)=>{const s=t,o=r[s(550)],i=n[s(548)](o);i&&i[s(529)]({...lc(r),isFromAdapter:!0})})),this[t(452)](r,t(462),((e,{commentThreadId:r,commentId:s,content:o,attributes:i})=>{const a=t,c=n[a(548)](r);if(c){const e=c[a(518)](s);e&&e[a(499)]({content:o,attributes:i,isFromAdapter:!0})}})),this[t(452)](r,t(497),((e,{commentThreadId:r,commentId:s})=>{const o=t,i=n[o(548)](r);if(i){const e=i[o(518)](s);e&&e[o(525)]({isFromAdapter:!0})}})),await this[t(508)](e)}[sc(523)](){const e=sc;if(this[e(459)]instanceof r.Context){const t=this[e(459)][e(498)][e(503)](e(536));this[e(474)](t)}}[sc(474)](e){const t=sc;if(!this[t(543)][t(528)](e))throw new s.CKEditorError(t(520),null,{channelId:e});this[t(481)](e)[t(521)](),this[t(543)][t(476)](e)}async[sc(505)](){const e=sc;for(const t of this[e(543)][e(487)]())await this[e(508)](t);if(this[e(459)]instanceof r.Context){const t=this[e(459)][e(498)][e(503)](e(536)),n=this[e(459)][e(471)][e(503)](fr);n[e(517)](t);const r=await this[e(543)][e(503)](t)[e(458)]();n[e(532)](t,r)}}async[sc(508)](e){const t=sc,{connection:n}=this[t(459)][t(471)][t(503)](dr),r=this[t(459)][t(471)][t(503)](t(473)),s=this[t(543)][t(503)](e),o=await s[t(482)](n);await this[t(492)](o);const i=new Set(Array[t(539)](r[t(513)]({channelId:e}),(e=>e.id)));for(const e of o)e[t(484)]||i[t(476)](e[t(550)]);for(const e of i)r[t(548)](e)[t(525)]({isFromAdapter:!0});for(const n of o){let s=r[t(548)](n[t(550)]);const{commentThreadId:o,context:i,attributes:a,resolvedBy:c,resolvedAt:d,unlinkedAt:u,deletedAt:l}=n;if(l)continue;s||(s=r[t(488)]({channelId:e,threadId:o,context:i,attributes:a||{},resolvedBy:c,resolvedAt:d,unlinkedAt:u,isFromAdapter:!0}));const p=new Set(Array[t(539)](s[t(504)],(e=>e.id)));for(const e of n[t(504)])p[t(476)](e[t(480)]);for(const e of p)s[t(518)](e)[t(525)]({isFromAdapter:!0});for(const e of n[t(504)]){const n=s[t(518)](e[t(480)]);n?n[t(475)]!==e[t(475)]&&n[t(499)]({content:e[t(475)],isFromAdapter:!0}):s[t(529)](Object[t(465)](lc(e),{isFromAdapter:!0}))}}}[sc(481)](e){const t=sc;if(!this[t(543)][t(528)](e))throw new s.CKEditorError(t(527),null,{channelId:e});return this[t(543)][t(503)](e)}async[sc(492)](e){const t=sc,n=this[t(459)][t(471)][t(503)](ur.Users),{connection:r}=this[t(459)][t(471)][t(503)](dr),s=new Set;for(const{resolvedBy:r,comments:o}of e){r&&!n[t(486)](r)&&s[t(545)](r);for(const{userId:e}of o)n[t(486)](e)||s[t(545)](e)}if(0===s[t(540)])return;const o=await Le[t(493)](r,Array[t(539)](s));for(const e of o)n[t(486)](e.id)||n[t(501)](e)}}function ic(e,t){const n=ac();return(ic=function(e,t){return n[e-=451]})(e,t)}function ac(){const e=["addComment","pluginName","commentAdded","register","updateCommentThread","code","off","collaboration.channelId","resolveCommentThread","set","from","size","CloudServicesCommentsAdapter","CommentsService","_services","reopenCommentThread","add","404","cloud-services-internal-error: Not connected.","getCommentThread","startsWith","commentThreadId","commentThreadRemoved","listenTo","addToReconnectionStack","cloud-services-internal-error: Comments Service is not connected.","mySessionId","resolvedAt","4034PPeCoa","getConnectedSessions","context","Permissions","13775260lIffAF","commentUpdated","userId","authorId","assign","message","commentThreadUpdated","adapter","_setUpService","permissions","plugins","map","CommentsRepository","_terminateService","content","delete","updateComment","createdAt","commentThreadAdded","commentId","_getService","connect","commentThreadResolved","deletedAt","7DkXWmG","getUser","keys","addCommentThread","cloud-services-internal-error: Request timeout.","catch","205rfMblV","_fetchMissingUsersForThreads","getMany","12104512vIpLVp","resolve","removeCommentThread","commentRemoved","config","update","reopen","addUser","setPermissions","get","comments","reconnect","removeComment","attributes","_connectService","8303118rCHKyo","cloudservicescommentsadapter-connect-already-connected","resolvedBy","sessionAdd:","getCommentThreads","requires","init","1854xrkKBV","unregister","getComment","92788sVHZZg","cloudservicescommentsadapter-disconnect-not-exist","disconnect","433504OGTdYx","destroy","commentThreadReopened","remove","11467170CKtCcY","cloudservicescommentsadapter-service-not-exist","has"];return(ac=function(){return e})()}oc[sc(542)]=sr;const cc=oc;async function dc(e){const t=sc;if(t(546)!==e[t(534)])throw e}function uc(e){const t=sc;if((n=e)[t(466)][t(549)](t(454))||n[t(466)][t(549)](t(547))||n[t(466)][t(549)](t(489)))return new Promise((()=>{}));var n;throw e}function lc(e){const t=sc;return{threadId:e[t(550)],commentId:e[t(480)],content:e[t(475)],createdAt:e[t(478)],authorId:e[t(463)],attributes:e[t(507)]||{}}}const pc=hc;function hc(e,t){const n=fc();return(hc=function(e,t){return n[e-=280]})(e,t)}function fc(){const e=["TrackChangesService","update","add","size","64664OJkZJs","adapter","_saved","cloud-services-internal-error: Not connected.","11PtswgB","data","hasSuggestion","get","49YGZBTz","_fetchMissingUsersForThreads","addSuggestionData","values","addUser","8nHgUoM","message","getSuggestion","requires","reconnect","1359736JauErc","startsWith","type","from","attributes","set","suggestionUpdated","addToReconnectionStack","874684bUusnA","TrackChangesEditing","_bufferedRequests","listenTo","plugins","init","open","6819740WutAmc","_waitForServiceReady","connect","984185KKKKmz","connection","originalSuggestionId","connected","collaboration.channelId","isConnected","561042eCPUpQ","off","find","catch","state","then","686454yhzuLB","editor","729zVJzuH","cloud-services-internal-error: Request timeout.","getMany","getUser","delete","_trackChangesService","config"];return(fc=function(){return e})()}!function(e){const t=hc,n=e();for(;;)try{if(579291===-parseInt(t(335))/1+-parseInt(t(322))/2*(-parseInt(t(296))/3)+-parseInt(t(327))/4+parseInt(t(284))/5+-parseInt(t(290))/6*(-parseInt(t(317))/7)+parseInt(t(309))/8*(-parseInt(t(298))/9)+parseInt(t(281))/10*(parseInt(t(313))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(fc);class mc extends r.Plugin{static get[pc(325)](){return[cc,pc(336),dr]}constructor(e){const t=pc;super(e);const n=this[t(297)][t(304)][t(316)](t(288));this[t(337)]=new Map,this[t(303)]=new(mc[t(305)])(n)}[pc(340)](){const e=pc,t=this[e(297)][e(339)][e(316)](dr),n=this[e(297)][e(339)][e(316)](e(336));return n[e(310)]={getSuggestion:async t=>{const n=e;await this[n(282)]();const r=await this[n(303)][n(316)](t)[n(293)](yc);return await this[n(318)]([r]),r},addSuggestion:async({id:t,type:n,data:r,originalSuggestionId:s,attributes:o})=>{const i=e;await this[i(282)]();const a={id:t,type:n,data:r,originalSuggestionId:s,attributes:o},c=await this[i(303)][i(307)](t,n,r,s,o)[i(293)]((e=>{if(gc(e))return new Promise((e=>{const n=hc;this[n(337)][n(332)](t,{resolve:e,suggestionData:a})}));throw e}));return this[i(337)][i(302)](t),c},updateSuggestion:async(t,n)=>{const r=e;if(await this[r(282)](),r(280)!==n[r(294)])return this[r(303)][r(306)](t,n)[r(293)](yc)}},this[e(338)](this[e(303)],e(333),((t,r)=>{const s=e;n[s(315)](r.id)&&(n[s(324)](r.id)[s(331)]=r[s(331)])})),this[e(303)][e(283)](t[e(285)])[e(295)]((r=>(t[e(334)](this),this[e(318)](r)[e(295)]((()=>{const t=e;for(const e of r)n[t(319)](e)[t(311)]=!0})))))}async[pc(326)](){const e=pc,t=this[e(297)][e(339)][e(316)](e(336)),{connection:n}=this[e(297)][e(339)][e(316)](dr),r=await this[e(303)][e(283)](n);await this[e(318)](r);for(const{suggestionData:t,resolve:n}of this[e(337)][e(320)]()){let s=r[e(292)]((e=>e.id===t.id));s||(s=await this[e(303)][e(307)](t.id,t[e(329)],t[e(314)],t[e(286)])),n(s)}for(const n of r)t[e(315)](n.id)||t[e(319)](n)}async[pc(282)](){const e=pc;this[e(303)][e(289)]||await new Promise((t=>{const n=e;this[n(338)](this[n(303)],n(287),(e=>{e[n(291)](),t()}))}))}async[pc(318)](e){const t=pc,n=this[t(297)][t(339)][t(316)](ur.Users),{connection:r}=this[t(297)][t(339)][t(316)](dr),s=new Set;for(const{authorId:r}of e)n[t(301)](r)||s[t(307)](r);if(0===s[t(308)])return;const o=await Le[t(300)](r,Array[t(330)](s));for(const e of o)n[t(301)](e.id)||n[t(321)](e)}}function yc(e){if(gc(e))return new Promise((()=>{}));throw e}function gc(e){const t=pc;return e[t(323)][t(328)](t(312))||e[t(323)][t(328)](t(299))}function bc(){const e=["184308gyhGwK","change:state","collaboration.channelId","1466520bDTylG","_setUpService","9HrdsvO","RealTimeCollaborativeComments","1021170eyYxJb","514569DNuCCY","once","CommentsRepository","get","484088wubMLT","ready","CommentsEditing","18SPTEUB","10826648oNidEo","config","Comments","390NQKbJw","connected","destroy","_terminateService","1498032cGQiNT","data","init","pluginName","editor","listenTo","12nOAuWg","requires","plugins","isThreadsLoadingPaused","switchReadOnly"];return(bc=function(){return e})()}mc[pc(305)]=un;const Oc=wc;function wc(e,t){const n=bc();return(wc=function(e,t){return n[e-=266]})(e,t)}!function(e){const t=wc,n=e();for(;;)try{if(976628===parseInt(t(279))/1+-parseInt(t(271))/2*(-parseInt(t(290))/3)+-parseInt(t(285))/4*(parseInt(t(297))/5)+-parseInt(t(293))/6+parseInt(t(272))/7+-parseInt(t(268))/8*(-parseInt(t(295))/9)+-parseInt(t(275))/10*(parseInt(t(298))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bc);class Ic extends r.Plugin{static get[Oc(286)](){return[Oc(274),cc,rc,dr]}static get[Oc(282)](){return Oc(296)}[Oc(281)](){const e=Oc,t=this[e(283)][e(287)][e(267)](dr),n=this[e(283)][e(287)][e(267)](e(270)),r=this[e(283)][e(287)][e(267)](cc);return this[e(283)][e(280)][e(299)](e(269),(()=>{const r=e;this[r(284)](t,r(291),((e,t,s)=>{const o=r;n[o(288)]=o(276)!==s}))})),this[e(284)](t,e(291),((t,n,r)=>{const s=e;this[s(283)][s(287)][s(267)](s(266))[s(289)](s(276)!==r)})),r[e(294)](this[e(283)][e(273)][e(267)](e(292)))}[Oc(277)](){const e=Oc;this[e(283)][e(287)][e(267)](cc)[e(278)](this[e(283)][e(273)][e(267)](e(292))),super[e(277)]()}}function vc(e,t){var n=Ac();return(vc=function(e,t){return n[e-=398]})(e,t)}var Sc=vc;function Ac(){var e=["41224qtYXqD","936475MyqcsS","1128308HOpJBU","176336Mlkluj","RealTimeCollaborativeTrackChanges","600264KKGqro","requires","4061932LiahMY","117mDaryn","pluginName","69AjYNFh","TrackChanges","439581TGXLLV"];return(Ac=function(){return e})()}!function(e){for(var t=vc,n=e();;)try{if(310181===-parseInt(t(407))/1+-parseInt(t(408))/2*(-parseInt(t(405))/3)+parseInt(t(410))/4+parseInt(t(409))/5+parseInt(t(400))/6+-parseInt(t(402))/7+-parseInt(t(398))/8*(-parseInt(t(403))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Ac);class Pc extends r.Plugin{static get[Sc(401)](){return[Ic,mc,Sc(406)]}static get[Sc(404)](){return Sc(399)}}const Tc=_c;function _c(e,t){const n=kc();return(_c=function(e,t){return n[e-=410]})(e,t)}function kc(){const e=["serverHistory","size","getRevision","requires","9489007EECyCT","_waitForServiceReady","_getLatestVersionFromServerOperations","revisionsUpdated","cloud-services-internal-error: Revision History Service is not connected.","_revisionDataBuilder","reInit","cloudServices.bundleVersion","state","_createCurrentRevision","type","_fixRevision","affectsData","6xsDtyb","40ZUKQBp","_update","_handleReconnectionError","cloud-services-internal-error: Request timeout.","adapter","plugins","add","_revisions","then","10ugezij","authorsIds","57014fZJuub","2781258nasKvW","getOperations","_bufferedUpdates","isEmptyCurrent","_fetchMissingUsers","_revisionTracker","435790wMQsSQ","connect","wrongRequestId","_oldOffset","editor","message","CONNECTED","destroy","init","_lastRequestId","2602894CzFepZ","listenTo","addUser","catch","_offset","data","_isPendingUpdate","length","marker","isBundleUploaded","setRevisionData","code","get","createdAt","connection","once","42831LEureh","has","currentRevision","max","from","off","_isConnected","isEnabled","fromVersion","buildRevisionData","remove","getRevisions","_revisionHistoryService","setSource","reconnect","authors","reverse","toVersion","sessionId","repository","change:_isConnected","isConnected","_startingVersion","_getLatestVersion","creatorId","addRevisionData","change:_isPendingUpdate","connected","bind","_preventResendingRevisionData","config","startsWith","RevisionTracker","_bufferUpdate","diffData","58RsfWlB","RevisionHistoryService","4988348AWCHBp","getMany","cloud-services-internal-error: Not connected.","addToReconnectionStack","collaboration.channelId","baseVersion","400","updateRevisions","keys","_handleRevisionsUpdate","getUser","sendBufferedUpdates","map"];return(kc=function(){return e})()}!function(e){const t=_c,n=e();for(;;)try{if(953563===-parseInt(t(512))/1*(-parseInt(t(444))/2)+parseInt(t(445))/3+-parseInt(t(514))/4+parseInt(t(451))/5*(parseInt(t(432))/6)+parseInt(t(461))/7+-parseInt(t(433))/8*(-parseInt(t(477))/9)+parseInt(t(442))/10*(-parseInt(t(419))/11))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(kc);class Cc extends r.Plugin{static get[Tc(418)](){return[dr,Qa,Tc(509),fr,ur.Users]}constructor(e){const t=Tc;super(e);const n=this[t(455)][t(507)][t(473)](t(518));this[t(460)]=null,this[t(450)]=this[t(455)][t(438)][t(473)](t(509)),this[t(489)]=new(Cc[t(513)])(n)}async[Tc(459)](){const e=Tc,t=this[e(455)][e(438)][e(473)](Qa),n=t[e(415)],r=this[e(455)][e(438)][e(473)](dr);this[e(450)][e(490)]({history:n,getLatestVersion:()=>this[e(500)](),getCurrentRevisionId:()=>t[e(495)]});const o=this[e(455)][e(507)][e(473)](e(426))||s.version,i=await Bt[e(470)](r[e(475)],o);this[e(450)][e(437)]={getRevision:async({revisionId:t})=>(await this[e(420)](),await this[e(489)][e(417)](t)),updateRevisions:async t=>{const n=e;await this[n(420)]();const r=this[n(450)][n(479)];if(i&&1===t[n(468)]&&t[0].id===r.id)return t;for(const e of t)e.id===r.id&&(e[n(448)]=e[n(485)]===e[n(494)]);return this[n(489)][n(521)](t,this[n(460)])[n(441)]((e=>(this[n(460)]=e,t)))[n(464)]((e=>{const r=n;if(jc(e)||r(520)===e[r(472)]&&void 0!==e[r(466)][r(453)]){for(const e of t)!this[r(450)][r(496)][r(417)](e.id)||this[r(450)][r(510)](e.id,e,!1);if(jc(e))throw e;return t}throw e}))}},this[e(462)](this[e(489)],e(422),((t,{revisionsData:n,requestId:r})=>{const s=e;Math[s(480)](...n[s(414)]((e=>e[s(494)])))>this[s(421)]()-1?this[s(500)]()[s(441)]((()=>{this[s(411)](n,r)})):this[s(411)](n,r)}));const{revisions:a,requestId:c}=await this[e(489)][e(452)](r[e(475)]);r[e(517)](this),this[e(460)]=c,await this[e(449)](a);for(const t of a)this[e(450)][e(502)](t);this[e(462)](t,e(497),((n,r,s)=>{const o=e;s&&(this[o(454)]=t[o(465)],n[o(482)]())})),this[e(450)][e(505)](e(484)).to(r,e(427),(t=>t===jt[e(457)]))}async[Tc(491)](){const e=Tc,t=this[e(455)][e(438)][e(473)](dr),n=this[e(455)][e(438)][e(473)](Qa),r=async()=>{const r=e,s=this[r(450)][r(479)],o=s.id,i=o!==n[r(495)];if(i){const e=n[r(465)]-this[r(454)],t=this[r(421)]();if(this[r(450)][r(424)][r(425)](),s[r(494)]+e!==t){const n=s[r(485)]+e,o=this[r(455)][r(438)][r(473)](ur.Users),i=this[r(450)][r(486)]({revision:s,from:n,to:t});i.id=s.id;const a=i[r(443)][r(414)]((e=>o[r(412)](e)));s[r(434)]({...i,authors:a},!0),this[r(450)][r(510)](s.id,i,!0)}this[r(450)][r(499)]=t,s[r(494)]===s[r(485)]&&!this[r(450)][r(447)][r(478)](o)&&this[r(450)][r(496)][r(440)][r(487)](o),this[r(450)][r(428)](t)}const{revisions:a,requestId:c}=await this[r(489)][r(491)](t[r(475)],this[r(460)]);i&&a[r(468)]>0?n[r(435)]():(await this[r(449)](a),this[r(411)](a,c),this[r(450)][r(413)]())};return n[e(483)]?r():new Promise(((t,s)=>{const o=e;n[o(476)](o(497),(()=>{const e=o;r()[e(441)](t)[e(464)](s)}))}))}[Tc(458)](){super[Tc(458)]()}async[Tc(420)](){const e=Tc;this[e(489)][e(498)]||await new Promise((t=>{const n=e;this[n(462)](this[n(489)],n(504),(e=>{e[n(482)](),t()}))}))}[Tc(421)](){const e=Tc,t=this[e(455)][e(438)][e(473)](Qa)[e(415)][e(446)]()[e(493)]();for(const n of t)if(e(469)!==n[e(429)]||n[e(431)])return n[e(519)]+1}[Tc(500)](){const e=Tc,t=this[e(455)][e(438)][e(473)](Qa);return new Promise((n=>{const r=e;t[r(467)]?t[r(476)](r(503),(()=>{n(this[r(421)]())})):n(this[r(421)]())}))}[Tc(411)](e,t){const n=Tc,r=this[n(450)][n(496)];this[n(460)]=t;for(const t of e){const e=r[n(417)](t.id);if(e){if((t[n(485)]||t[n(494)])&&(t[n(511)]=null),e===this[n(450)][n(479)]){const r=Math[n(480)](e[n(494)],t[n(494)]),s=Math[n(480)](e[n(485)],t[n(485)]);let o;e[n(494)]===t[n(494)]&&e[n(485)]===t[n(485)]?(o=!0,this[n(506)](t)):t[n(494)]===r&&t[n(485)]===s?o=!1:(e[n(494)]===r&&e[n(485)]===s||this[n(430)]({revision:e,from:s,to:r}),o=!0),o&&(delete t[n(485)],delete t[n(494)],delete t[n(511)],delete t[n(474)],delete t[n(443)])}this[n(450)][n(471)](t),this[n(506)](t)}else this[n(450)][n(502)](t)}const s=r[n(488)]();s[n(493)]();for(let e=0;e<s[n(468)]-1;e++){const t=s[e],r=s[e+1];if(t[n(485)]<r[n(494)]){const e=r[n(494)],s=Math[n(480)](e,t[n(494)]);this[n(430)]({revision:t,from:e,to:s})}}}[Tc(430)]({revision:e,from:t,to:n}={}){const r=Tc,s=this[r(455)][r(438)][r(473)](ur.Users),o=this[r(450)][r(486)]({revision:e,from:t,to:n});o[r(492)]=o[r(443)][r(414)]((e=>s[r(412)](e))),e[r(434)](o)}[Tc(506)](e){const t=Tc,n={};n.id=e.id;for(const r of Object[t(410)](e))"id"!==r&&(n[r]=void 0);this[t(450)][t(510)](n.id,n,!0)}async[Tc(449)](e){const t=Tc,n=this[t(455)][t(438)][t(473)](ur.Users),{connection:r}=this[t(455)][t(438)][t(473)](dr),s=new Set;for(const n of e){for(const e of n[t(443)])i(e);n[t(501)]&&i(n[t(501)])}if(0===s[t(416)])return;const o=await Le[t(515)](r,Array[t(481)](s));for(const e of o)n[t(412)](e.id)||n[t(463)](e);function i(e){const r=t;n[r(412)](e)||s[r(439)](e)}}}Cc[Tc(513)]=Wt;const Ec=Cc;function jc(e){const t=Tc;return e[t(456)][t(508)](t(423))||e[t(456)][t(508)](t(516))||e[t(456)][t(508)](t(436))}var Rc=Nc;function Dc(){var e=["1023896OXceOA","RevisionHistory","279089OlwsvO","2862020HvXjlN","requires","7BBiGzX","1146468hElpNr","1116268OwxdJX","2113371caHFhz","15243104TXGpab","RealTimeCollaborativeRevisionHistory","9Helkjl","pluginName"];return(Dc=function(){return e})()}function Nc(e,t){var n=Dc();return(Nc=function(e,t){return n[e-=316]})(e,t)}!function(e){for(var t=Nc,n=e();;)try{if(391241===-parseInt(t(322))/1+parseInt(t(320))/2+-parseInt(t(328))/3+-parseInt(t(327))/4+-parseInt(t(323))/5+-parseInt(t(326))/6*(parseInt(t(325))/7)+-parseInt(t(316))/8*(-parseInt(t(318))/9))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Dc);class xc extends r.Plugin{static get[Rc(324)](){return[Rc(321),Ec,rc]}static get[Rc(319)](){return Rc(317)}}var Vc=Function.prototype,Mc=Object.prototype,Bc=Vc.toString,Uc=Mc.hasOwnProperty,Jc=Bc.call(Object);const qc=function(e){if(!uo(e)||"[object Object]"!=ms(e))return!1;var t=ui(e);if(null===t)return!0;var n=Uc.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Bc.call(n)==Jc};const Gc=function(e){return uo(e)&&1===e.nodeType&&!qc(e)};function Lc(e,t){const n=Yc();return(Lc=function(e,t){return n[e-=299]})(e,t)}function Yc(){const e=["ck-presence-list__counter","1182596VBgdqK","785205KpDlUm","CONNECTED_USERS","356037ltQXYW","bindTemplate","set","div","1986632UKAOUP","9asqOgo","69562TxOztq","4dSNbPI","555024HJxkir","826630CDnLKH","ck-presence-list__counter--hidden","usersCount","21EDGEZc","isHidden","setTemplate"];return(Yc=function(){return e})()}!function(e){const t=Lc,n=e();for(;;)try{if(173048===parseInt(t(310))/1+-parseInt(t(311))/2*(parseInt(t(304))/3)+parseInt(t(301))/4+parseInt(t(302))/5+-parseInt(t(312))/6*(parseInt(t(316))/7)+parseInt(t(308))/8*(parseInt(t(309))/9)+-parseInt(t(313))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Yc);class zc extends o.View{constructor(e){const t=Lc;super(e);const n=this[t(305)];this[t(306)](t(315),0),this[t(306)](t(317),!0),this[t(299)]({tag:t(307),attributes:{class:["ck",t(300),n.if(t(317),t(314))]},children:[{text:n.to(t(315),(n=>Ar(e,t(303),n)))}]})}}function Hc(){const e=["192VYdlCl","setTemplate","26gGTPuA","15872480hJIdqA","89223GracHZ","fire","11704xOZBJN","73905BuZuuF","5yrRVef","1869FVWAez","ck-presence-list__list","bindTemplate","2874456hNcixm","createCollection","execute","div","2395740LmtGnr","29993953tsmoCI","items"];return(Hc=function(){return e})()}function Fc(e,t){const n=Hc();return(Fc=function(e,t){return n[e-=141]})(e,t)}!function(e){const t=Fc,n=e();for(;;)try{if(834003===parseInt(t(144))/1*(-parseInt(t(142))/2)+parseInt(t(147))/3*(parseInt(t(159))/4)+parseInt(t(148))/5*(-parseInt(t(156))/6)+-parseInt(t(149))/7*(-parseInt(t(146))/8)+-parseInt(t(152))/9+-parseInt(t(143))/10+parseInt(t(157))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Hc);class Kc extends o.View{constructor(e){const t=Fc;super(e),this[t(158)]=this[t(153)]();const n=this[t(151)];this[t(141)]({tag:t(155),attributes:{class:["ck",t(150)]},children:this[t(158)],on:{click:n.to((()=>this[t(145)](t(154))))}})}}var Wc=__webpack_require__(106),Qc={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};yr()(Wc.A,Qc);Wc.A.locals;function Xc(e,t){const n=$c();return(Xc=function(e,t){return n[e-=208]})(e,t)}function $c(){const e=["inlineListView","4ZbyKBR","counterView","1606390ibZUsY","5850441dOFcrA","2sOhFQO","tooltipPosition","ck-presence-list","bindTemplate","div","1182538sUFAMj","13848373UCprRd","items","first","42dBxgfi","set","8qboMFh","setTemplate","4622262JseFTh","615278jAARJJ","isCollapsed","ck-rounded-corners","change","3092320SJyuHD","listenTo","ck-reset","ck-presence-list--collapsed","locale"];return($c=function(){return e})()}!function(e){const t=Xc,n=e();for(;;)try{if(923452===-parseInt(t(222))/1+parseInt(t(208))/2*(-parseInt(t(221))/3)+parseInt(t(232))/4*(-parseInt(t(234))/5)+-parseInt(t(217))/6*(-parseInt(t(213))/7)+-parseInt(t(219))/8*(-parseInt(t(235))/9)+parseInt(t(226))/10+parseInt(t(214))/11)break;n.push(n.shift())}catch(e){n.push(n.shift())}}($c);class Zc extends o.View{constructor(e){const t=Xc;super(e);const n=this[t(211)];this[t(218)](t(223),!0),this[t(233)]=new zc(this[t(230)]),this[t(231)]=new Kc(e),this[t(227)](this[t(231)][t(215)],t(225),(()=>{const e=t;for(const t of this[e(231)][e(215)])t[e(209)]="s";this[e(231)][e(215)][e(216)]&&(this[e(231)][e(215)][e(216)][e(209)]="se")})),this[t(220)]({tag:t(212),attributes:{class:["ck",t(210),t(228),t(224),n.if(t(223),t(229))]},children:[this[t(233)],this[t(231)]]})}}function ed(e,t){var n=nd();return(ed=function(e,t){return n[e-=237]})(e,t)}!function(e){for(var t=ed,n=e();;)try{if(842858===-parseInt(t(249))/1+-parseInt(t(247))/2+parseInt(t(248))/3+parseInt(t(251))/4*(parseInt(t(241))/5)+-parseInt(t(250))/6*(parseInt(t(243))/7)+parseInt(t(239))/8*(parseInt(t(242))/9)+parseInt(t(246))/10)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(nd);class td extends o.View{constructor(e){var t=ed;super(e),this[t(240)]=this[t(245)](),this[t(237)]({tag:t(252),attributes:{class:["ck",t(238)]},children:[{tag:t(252),attributes:{class:["ck",t(244)]},children:this[t(240)]}]})}}function nd(){var e=["2874813zwPxfh","554776lvFruN","6peduaa","1487588AzvbiV","div","setTemplate","ck-presence-list__dropdown-list","2818168BcSWzz","items","5kjZRSC","18cXZaBY","9801379edSiJy","ck-presence-list__dropdown-list-wrapper","createCollection","20926160aFVljA","2658990ogkGYb"];return(nd=function(){return e})()}function rd(){const e=["ck-presence-list__marker","color","tag","17UilHDx","button","ck-presence-list__dropdown-list-item","154LMaToc","true","bindTemplate","div","2142732qWfwcL","273hSoWDY","2059535bfRUWu","201786yVYdrm","1827416MUiyvx","execute","name","userView","1900MGwdmi","36vqjMdl","getBackgroundColorClass","fire","4440114KpAKhg","9878lYOWcK","setTemplate","30112LpVNKZ","span","ck-user__full-name","16dPRYWG"];return(rd=function(){return e})()}function sd(e,t){const n=rd();return(sd=function(e,t){return n[e-=292]})(e,t)}!function(e){const t=sd,n=e();for(;;)try{if(946143===-parseInt(t(310))/1*(parseInt(t(303))/2)+parseInt(t(300))/3+parseInt(t(306))/4*(parseInt(t(319))/5)+-parseInt(t(320))/6*(-parseInt(t(313))/7)+parseInt(t(292))/8*(parseInt(t(297))/9)+-parseInt(t(296))/10*(-parseInt(t(301))/11)+-parseInt(t(317))/12*(parseInt(t(318))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(rd);class od extends o.View{constructor(e,t,n){const r=sd;super(e);const s=this[r(315)];this[r(295)]=new ur.UserView(e,t);const o={tag:r(316),attributes:{class:["ck",r(312)]},children:[this[r(295)],{tag:r(304),attributes:{class:["ck",r(305)]},children:[{text:t[r(294)]}]},{tag:r(304),attributes:{class:["ck",r(307),t[r(308)][r(298)]()],"aria-hidden":r(314)}}]};n&&(o[r(309)]=r(311),o.on={click:s.to((()=>this[r(299)](r(293))))}),this[r(302)](o)}}function id(){const e=["fire","ck-presence-list__marker","2260578RJLHbn","4087494xATrhJ","13946792cdOgyG","ck-presence-list__list-item__tooltip","hasTooltip","true","9119810qVMCOc","5706UTQuYs","div","bindTemplate","userView","getBackgroundColorClass","set","ck-presence-list__list-item","tooltipPosition","name","button","execute","color","markerView","10FRWVlr","tag","614EIPIND","5575869YxxbQG","setTemplate","span","7233332UCHoVX"];return(id=function(){return e})()}function ad(e,t){const n=id();return(ad=function(e,t){return n[e-=424]})(e,t)}!function(e){const t=ad,n=e();for(;;)try{if(934279===-parseInt(t(442))/1*(-parseInt(t(427))/2)+-parseInt(t(443))/3+parseInt(t(446))/4+parseInt(t(440))/5*(-parseInt(t(449))/6)+-parseInt(t(426))/7+parseInt(t(451))/8+-parseInt(t(450))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(id);class cd extends o.View{constructor(e,t,n){const r=ad;super(e);const s=this[r(429)];this[r(432)](r(424),!0),this[r(432)](r(434),""),this[r(430)]=new ur.UserView(e,t),this[r(439)]=new dd(e,t);const o={tag:r(428),attributes:{class:["ck",r(433)],"data-cke-tooltip-text":this[r(430)][r(435)],"data-cke-tooltip-position":s.to(r(434)),"data-cke-tooltip-disabled":s.to(r(424),(e=>!e)),"data-cke-tooltip-class":r(452)},children:[this[r(430)],this[r(439)]]};n&&(o[r(441)]=r(436),o.on={click:s.to((()=>this[r(447)](r(437))))}),this[r(444)](o)}}class dd extends o.View{constructor(e,t){const n=ad;super(e),this[n(444)]({tag:n(445),attributes:{class:["ck",n(448),t[n(438)][n(431)]()],"aria-hidden":n(425)}})}}const ud=ld;function ld(e,t){const n=pd();return(ld=function(e,t){return n[e-=265]})(e,t)}function pd(){const e=["onClick","allConnectedUsers","currentDisplayedUsers","requires","presenceList.collapseAt","11NJdzQo","4lImXYC","get","displayMe","isMe","inlineListView","_allConnectedUsers","destroy","_createView","isCollapsed","set","render","presencelist-collapseat-invalid-format","isRendered","4905890bzMOAT","showDropdown","counterView","presenceList.container","399385gAfHHM","ck ck-presence-list__balloon","isVisible","add","2445783ZQtjWg","length","locale","16UZlCXG","class","detachFromDom","context","init","bind","1178749SXJexa","6FGkCxg","_calculateNewUserPosition","number","remove","view","element","presenceList.displayMe","last","plugins","7375039nfqoQO","unpin","hasTooltip","12CkEOfx","define","_bodyCollection","hideDropdown","attachToDom","3916881oPzCXF","isHidden","appendChild","items","listenTo","4772935COdqRm","presencelist-missing-container","execute","_handleUserRemove","_handleUserAdd","usersCount","presenceList","presenceDropdownView","using","bindTo","pin","2nwMbwc","balloonPanelView","content","reverse","from","config"];return(pd=function(){return e})()}!function(e){const t=ld,n=e();for(;;)try{if(658162===-parseInt(t(310))/1*(-parseInt(t(281))/2)+-parseInt(t(314))/3*(-parseInt(t(293))/4)+-parseInt(t(270))/5+parseInt(t(324))/6*(-parseInt(t(333))/7)+-parseInt(t(317))/8*(-parseInt(t(265))/9)+parseInt(t(306))/10*(parseInt(t(292))/11)+-parseInt(t(336))/12*(-parseInt(t(323))/13))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(pd);const hd={collapseAt:6,displayMe:!0};class fd extends r.ContextPlugin{constructor(e){const t=ld;super(e),this[t(320)][t(286)][t(337)](t(276),hd);const n=e[t(286)][t(294)](t(291));if(t(326)!=typeof n)throw new s.CKEditorError(t(304),this);if(n<1)throw new s.CKEditorError(t(304),this);this[t(298)]=this[t(320)][t(332)][t(294)](fr)[t(288)],this[t(302)](t(275),0),this[t(289)]=new s.Collection,this[t(282)]=new o.BalloonPanelView,this[t(282)][t(318)]=t(311),this[t(328)]=this[t(300)](),this[t(277)]=void 0}static get[ud(290)](){return[fr]}[ud(321)](){const e=ud;for(const t of this[e(298)])this[e(274)](t);this[e(269)](this[e(298)],e(313),((t,n)=>{this[e(274)](n)})),this[e(269)](this[e(298)],e(327),((t,n)=>{this[e(273)](n)}))}[ud(300)](){const e=ud,t=this[e(320)],n=new Zc(this[e(320)][e(316)]),r=this[e(282)];if(!Gc(t[e(286)][e(294)](e(309))))throw new s.CKEditorError(e(271),this);return n[e(308)][e(322)](e(275)).to(this),n[e(322)](e(301)).to(this,e(275),(r=>{const s=e,{collapseAt:o,displayMe:i}=t[s(286)][s(294)](s(276)),a=r>=o;return n[s(308)][s(266)]=!(1==r&&i||a),a||this[s(339)](),a})),n[e(297)][e(268)][e(279)](this[e(289)])[e(278)]((r=>{const s=e,o=t[s(286)][s(294)](s(276)),i=new cd(t[s(316)],r,!!o[s(287)]);return i[s(322)](s(335)).to(n,s(301),(e=>!e)),o[s(287)]&&this[s(269)](i,s(272),(()=>{const e=s;this[e(328)][e(301)]||o[e(287)](r,i[e(329)])})),i})),this[e(269)](n[e(297)],e(272),(()=>{const t=e;this[t(277)]?this[t(339)]():this[t(328)][t(301)]&&this[t(307)]()})),n[e(303)](),r[e(303)](),(0,o.clickOutsideHandler)({emitter:n,activator:()=>r[e(312)],contextElements:[r[e(329)],n[e(297)][e(329)]],callback:()=>this[e(339)]()}),t[e(286)][e(294)](e(309))[e(267)](n[e(329)]),this[e(338)]=new o.BodyCollection(this[e(320)][e(316)]),this[e(338)][e(340)](),this[e(338)][e(313)](r),n}[ud(274)](e){const t=ud;if(!this[t(320)][t(286)][t(294)](t(330))&&e[t(296)])return;const n=this[t(320)][t(286)][t(294)](t(291))-1;this[t(275)]++,this[t(289)][t(315)]==n&&this[t(289)][t(327)](0);const r=this[t(325)](e);this[t(289)][t(313)](e,r)}[ud(273)](e){const t=ud;if(this[t(275)]--,this[t(289)][t(294)](e.id)&&(this[t(289)][t(327)](e.id),this[t(289)][t(315)]<this[t(275)]))for(const e of Array[t(285)](this[t(298)])[t(284)]())if(!this[t(289)][t(294)](e.id))return void this[t(289)][t(313)](e,0)}[ud(325)](e){const t=ud;return Boolean(this[t(289)][t(331)]&&this[t(289)][t(331)][t(296)])&&!e[t(296)]?this[t(289)][t(315)]-1:this[t(289)][t(315)]}[ud(307)](){const e=ud;if(this[e(277)])return;this[e(277)]=new td(this[e(320)][e(316)]);const t=this[e(320)][e(286)][e(294)](e(276));this[e(277)][e(268)][e(279)](this[e(298)])[e(278)]((n=>{const r=e;if(!t[r(295)]&&n[r(296)])return null;const s=new od(this[r(320)][r(316)],n,!!t[r(287)]);return t[r(287)]&&this[r(269)](s,r(272),(()=>{const e=r;t[e(287)](n,s[e(329)])})),s})),this[e(282)][e(283)][e(313)](this[e(277)]),this[e(282)][e(280)]({target:this[e(328)][e(297)][e(329)]})}[ud(339)](){const e=ud;this[e(277)]&&(this[e(282)][e(334)](),this[e(282)][e(283)][e(327)](this[e(277)]),this[e(277)][e(299)](),this[e(277)]=void 0)}[ud(299)](){const e=ud;super[e(299)](),this[e(328)]&&this[e(328)][e(305)]&&this[e(328)][e(299)](),this[e(338)]&&this[e(338)][e(319)]()}}var md=gd;!function(e){for(var t=gd,n=e();;)try{if(349566===-parseInt(t(302))/1+parseInt(t(293))/2+parseInt(t(298))/3+-parseInt(t(297))/4*(parseInt(t(292))/5)+parseInt(t(296))/6*(parseInt(t(300))/7)+parseInt(t(294))/8+parseInt(t(299))/9*(-parseInt(t(303))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(bd);class yd extends r.ContextPlugin{static get[md(291)](){return[fr,fd]}static get[md(295)](){return md(301)}}function gd(e,t){var n=bd();return(gd=function(e,t){return n[e-=291]})(e,t)}function bd(){var e=["pluginName","88986tNLpeM","458704xwYCAQ","1249992KBfJZR","9486HyhQRB","21GvPeWM","PresenceList","151644ZMpwLL","3560yCiTuO","requires","10SsqPws","308722YlkGnK","3922144ojQmKn"];return(bd=function(){return e})()}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;(0,s.ObservableMixin)();(0,s.EmitterMixin)();r.ContextPlugin;r.ContextPlugin;function Od(e,t){var n=wd();return(Od=function(e,t){return n[e-=167]})(e,t)}function wd(){var e=["1513895RsoiWM","1093900WhTMOf","14590170Dwkblo","1812EVjSXx","428615ggwclh","5571728PPElPA","164856BYcDGI","56siwlXf","1272jSTcqv"];return(wd=function(){return e})()}function Id(){var e=["2442705oUzceI","2968760rYKXRD","1326tSfDnX","4jMHgTW","20UAfStc","3477672YlYOXq","1894ZcPPEY","131389autREW","9089559dlgyzb","2828749NXWdSV"];return(Id=function(){return e})()}function vd(e,t){var n=Id();return(vd=function(e,t){return n[e-=181]})(e,t)}!function(e){for(var t=Od,n=e();;)try{if(381416===parseInt(t(175))/1+parseInt(t(172))/2+-parseInt(t(170))/3*(parseInt(t(174))/4)+parseInt(t(171))/5+-parseInt(t(168))/6*(-parseInt(t(169))/7)+parseInt(t(167))/8+-parseInt(t(173))/9)break;n.push(n.shift())}catch(e){n.push(n.shift())}}(wd),function(e){for(var t=vd,n=e();;)try{if(373416===parseInt(t(188))/1+parseInt(t(187))/2*(parseInt(t(183))/3)+-parseInt(t(184))/4*(-parseInt(t(181))/5)+parseInt(t(186))/6+parseInt(t(190))/7+parseInt(t(182))/8+-parseInt(t(189))/9*(parseInt(t(185))/10))break;n.push(n.shift())}catch(e){n.push(n.shift())}}(Id)})(),(window.CKEditor5=window.CKEditor5||{}).realTimeCollaboration=__webpack_exports__})();
|