@ckeditor/ckeditor5-real-time-collaboration 47.2.0-alpha.3 → 47.2.0-alpha.5

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/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x1f2484,Plugin as _0x5d7a9a,PendingActions as _0x24f018,Context as _0x4e6aab}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xf386f8,CKEditorError as _0x35802a,Collection as _0x2c8b82,global as _0x21ea8d,version as nt,uid as _0x41bb16,KeystrokeHandler as _0x20a768}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x35418e,View as _0x2954d9,ListView as _0x37654a,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x86a71d,clickOutsideHandler as _0x1d0768,BodyCollection as _0x3ae509}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x49f560,History as _0x44e431,NoOperation as _0x5bb50b,InsertOperation as _0x37dfda,MarkerOperation as _0x45ff3e,RootAttributeOperation as _0x4e1f1c,transformOperationSets as _0x17238b,OperationFactory as _0x502b65}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x58bbd4,User as lt,CommentsService as _0x2e6c89,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3e2273,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5be5ea}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x48fa4b}from'es-toolkit/compat';class n extends _0x1f2484{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x35418e];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ccc40){super(_0x1ccc40),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xf386f8())();}['init'](){const _0x5bfa8e=this['context'],_0x5d3f7b=_0x5bfa8e['plugins']['get']('CloudServices'),_0x1947ec=_0x5bfa8e['plugins']['get'](_0x35418e);if(!_0x5d3f7b['token'])throw new _0x35802a('websocketgateway-missing-token',this);if(!_0x5d3f7b['webSocketUrl'])throw new _0x35802a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x5d3f7b['token'],_0x5d3f7b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x39bc9b=>{if(this['connection']=_0x39bc9b,this['bind']('state')['to'](_0x39bc9b,'state',this,'_isBrowserOffline',(_0x4e43f9,_0x197fe3)=>('connected'!==_0x4e43f9&&(this['_shouldPluginsReconnect']=!0x0),_0x197fe3||_0x4e43f9!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x7bc3af,_0x357176)=>{if('limitExceeded'!==_0x357176['code'])throw console['error'](_0x357176),new _0x35802a('cloudservices-init',null,{'originalError':_0x357176});_0x1947ec['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x39bc9b['me'])return new Promise(_0x568ac1=>_0x39bc9b['on']('change:me',_0x568ac1));})['catch'](_0x1cb689=>{throw console['error'](_0x1cb689),new _0x35802a('cloudservices-init',null,{'originalError':_0x1cb689});});}['addToReconnectionStack'](_0x355d0b){if('function'!=typeof _0x355d0b['reconnect'])throw new _0x35802a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x355d0b))throw new _0x35802a('websocketgateway-plugin-already-registered',this,{'name':_0x355d0b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x355d0b);}['removeFromReconnectionStack'](_0x1563d0){this['_reconnectionStack']['delete'](_0x1563d0);}['isInReconnectionStack'](_0x3d8e25){return this['_reconnectionStack']['has'](_0x3d8e25);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5bebd6=>_0x5bebd6['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x51279a=>{throw console['error'](_0x51279a),new _0x35802a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1f2484{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x3e2273];}constructor(_0x2bacfd){super(_0x2bacfd),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c8b82(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3e2273);}['init'](){const _0x36a798=this['context']['plugins']['get'](n);this['listenTo'](_0x36a798,'change:state',(_0x4b8d6a,_0x34e64b,_0x4dbc5a)=>{if('connected'!==_0x4dbc5a)this['channelSessions']['forEach'](_0x479620=>_0x479620['clear']()),this['channelConnectedUsers']['forEach'](_0x21b046=>_0x21b046['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x269a13,_0x2af069]of this['_registeredSessions'])for(const _0x4d1990 of _0x2af069)this['_handleSessionAdd'](_0x269a13,_0x4d1990);}}),this['_createUser'](_0x36a798['connection']['me'],!0x0);}['register'](_0x583448,_0xd1959e){if(this['_registeredSessions']['has'](_0x583448))throw new _0x35802a('sessions-register-already-registered',null,{'channelId':_0x583448});this['_registeredSessions']['set'](_0x583448,_0xd1959e),this['channelSessions']['set'](_0x583448,new _0x2c8b82()),this['channelConnectedUsers']['set'](_0x583448,new _0x2c8b82()),this['listenTo'](_0xd1959e,'add',(_0x424ce8,_0x44f145)=>this['_handleSessionAdd'](_0x583448,_0x44f145)),this['listenTo'](_0xd1959e,'remove',(_0x67012a,_0x3ab82f)=>this['_handleSessionRemove'](_0x583448,_0x3ab82f));for(const _0x49784c of _0xd1959e)this['_handleSessionAdd'](_0x583448,_0x49784c);}['unregister'](_0xb705e){if(!this['_registeredSessions']['has'](_0xb705e))throw new _0x35802a('sessions-unregister-not-exist',null,{'channelId':_0xb705e});const _0x4b93cb=this['_registeredSessions']['get'](_0xb705e);this['stopListening'](_0x4b93cb);for(const _0x577db0 of _0x4b93cb)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xb705e,_0x577db0);this['_registeredSessions']['delete'](_0xb705e),this['channelSessions']['delete'](_0xb705e),this['channelConnectedUsers']['delete'](_0xb705e);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x26b451){for(const _0x3417a1 of this['channelSessions']['values']())for(const _0x30edd4 of _0x3417a1)if(_0x30edd4['id']===_0x26b451)return _0x30edd4['user'];}['getUserSessions'](_0x5268cd,_0x5275a2){const _0x1b975c=_0x5275a2?[this['channelSessions']['get'](_0x5275a2)]:this['channelSessions']['values'](),_0x46afcd=new Set();for(const _0x34528b of _0x1b975c)for(const _0x3459a5 of _0x34528b)_0x3459a5['user']['id']===_0x5268cd['id']&&_0x46afcd['add'](_0x3459a5['id']);return _0x46afcd;}['getUserRole'](_0xbf84ed){for(const _0x528df6 of this['channelSessions']['values']())for(const _0x14f46b of _0x528df6)if(_0x14f46b['user']===_0xbf84ed)return _0x14f46b['role'];}['_handleSessionAdd'](_0x20ce07,_0x53602a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x567dcd=_0x53602a['user'],_0x1ad80e=this['_users']['getUser'](_0x567dcd['id'])||this['_createUser'](_0x567dcd),_0x4c1354=Object['assign']({},_0x53602a,{'user':_0x1ad80e});if(this['channelSessions']['get'](_0x20ce07)['add'](_0x4c1354),!_0x567dcd['hiddenInPresenceList']){const _0x42d06c=this['channelConnectedUsers']['get'](_0x20ce07);_0x42d06c['has'](_0x1ad80e['id'])||_0x42d06c['add'](_0x1ad80e),this['allConnectedUsers']['has'](_0x1ad80e['id'])||_0x567dcd['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1ad80e,_0x1ad80e['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x20ce07,{'channelId':_0x20ce07,'session':_0x4c1354});}['_handleSessionRemove'](_0x2a666a,_0x41c544){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5c47c6=this['channelConnectedUsers']['get'](_0x2a666a),_0x2ece57=_0x41c544['user'];_0x2ece57['id']&&(this['channelSessions']['get'](_0x2a666a)['remove'](_0x41c544['id']),_0x5c47c6['has'](_0x2ece57['id'])&&!this['getUserSessions'](_0x2ece57,_0x2a666a)['size']&&_0x5c47c6['remove'](_0x2ece57['id']),this['allConnectedUsers']['get'](_0x2ece57['id'])&&!this['getUserSessions'](_0x2ece57)['size']&&this['allConnectedUsers']['remove'](_0x2ece57['id']));}['_createUser'](_0x4b6e7a,_0x11cf52){const _0x3079b5=this['_users']['addUser'](_0x4b6e7a);return _0x11cf52&&this['_users']['defineMe'](_0x4b6e7a['id']),_0x3079b5['orderNumber']=this['_uniqueUsersCount']++,_0x3079b5;}}class V extends _0x5d7a9a{['_domEmitter']=new(_0xf386f8())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x43ad85=this['editor'],_0x31cc63=_0x43ad85['plugins']['get'](i);_0x43ad85['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5508f1,{writer:_0x5aabcb})=>function(_0x404959,_0x19b00e,_0x1bb0b0,_0x29b44c){const _0x421914=_0x404959['markerName']['split'](':')[0x2],_0x11d0cc=_0x1bb0b0['getUserBySessionId'](_0x421914);if(!_0x11d0cc||_0x421914===_0x1bb0b0['mySessionId'])return;if(!_0x29b44c['model']['schema']['checkChild'](_0x404959['markerRange']['start'],'$text'))return;const _0x1a4b4f={'class':'ck-user__marker\x20'+_0x11d0cc['color']['getMarkerClass'](),'data-name':_0x11d0cc['name'],'data-session-id':_0x421914},_0x307744=_0x29b44c['model']['markers']['get'](_0x404959['markerName']),_0x1e5d27=_0x307744['getStart'](),_0x110c42=_0x1e5d27['nodeAfter'],_0x5cbb82=_0x29b44c['model']['schema'];if(_0x110c42&&_0x5cbb82['isObject'](_0x110c42)&&_0x5cbb82['isInline'](_0x110c42)&&!_0x29b44c['model']['markers']['get']('user:range:'+_0x421914)['getRange']()['isCollapsed'])return;const _0x10ed7d=_0x1e5d27['parent'];return _0x29b44c['model']['schema']['isLimit'](_0x10ed7d)&&!_0x29b44c['model']['hasContent'](_0x10ed7d)&&(_0x1a4b4f['contenteditable']=!0x1),function(_0x2f68f0,_0x2b5e3d,_0x416620){const _0x4a480c=_0x2f68f0['createUIElement']('span',_0x2b5e3d);return _0x2f68f0['setCustomProperty']('userPositionMarker',!0x0,_0x4a480c),_0x4a480c['render']=function(_0x54d033){const _0x2067a2=this['toDomElement'](_0x54d033),_0x1279a6=document['createElement']('span');return _0x1279a6['classList']['add']('ck-user__marker-tooltip'),_0x1279a6['setAttribute']('contenteditable','false'),_0x1279a6['setAttribute']('spellcheck','false'),_0x1279a6['textContent']=_0x416620['name'],_0x2067a2['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1279a6['outerHTML']+'⁠',_0x2067a2['addEventListener']('mouseenter',()=>{_0x2067a2['classList']['add']('ck-user__marker_hovered');}),_0x2067a2['addEventListener']('mouseleave',()=>{_0x2067a2['classList']['remove']('ck-user__marker_hovered');}),_0x2067a2;},_0x4a480c['isSimilar']=function(_0x36673c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x36673c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x36673c['getAttribute']('data-session-id'));},_0x4a480c;}(_0x19b00e,_0x1a4b4f,_0x11d0cc);}(_0x5508f1,_0x5aabcb,_0x31cc63,_0x43ad85)}),_0x43ad85['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x293175=>function(_0x4978ee,_0x45dc52){const _0x5b5eee=_0x4978ee['markerName']['split'](':')[0x2];if(_0x5b5eee===_0x45dc52['mySessionId'])return null;const _0x1a1f45=_0x45dc52['getUserBySessionId'](_0x5b5eee);if(!_0x1a1f45)return{'id':_0x5b5eee,'classes':[]};return{'id':_0x5b5eee,'classes':['ck-user__selection',_0x1a1f45['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5b5eee},'priority':0x7d0+_0x1a1f45['orderNumber']};}(_0x293175,_0x31cc63)}),function(_0x1c6145){const _0x3f71f7=_0x1c6145['model'],_0x1c3a6d=new Map(),_0x5dcfa9=_0x1c6145['plugins']['get'](i);_0x3f71f7['markers']['on']('update:user:range',(_0x59292b,_0x274f75,_0x3c9776,_0x4d6019)=>{if(!_0x4d6019&&_0x1c3a6d['get'](_0x274f75['name']))return _0x1c3a6d['get'](_0x274f75['name'])['detach'](),void _0x1c3a6d['delete'](_0x274f75['name']);const _0xf46751=_0x274f75['name']['split'](':')[0x2];if(_0xf46751===_0x5dcfa9['mySessionId'])return;const _0x2a2732='user:position:'+_0xf46751;_0x3f71f7['markers']['has'](_0x2a2732)&&_0x1c6145['editing']['reconvertMarker'](_0x2a2732),_0x274f75['on']('change:range',(_0x4b8cf4,_0xf34237,_0x2f8641)=>{if('$graveyard'!=_0xf34237['root']['rootName']&&'$graveyard'==_0x274f75['getRange']()['root']['rootName']&&!_0x1c3a6d['has'](_0x274f75['name'])){const _0x4432f0=_0x3f71f7['schema']['getNearestSelectionRange'](_0x2f8641['deletionPosition']);if(_0x4432f0){const _0x2b8d01=_0x49f560['fromRange'](_0x4432f0);_0x1c3a6d['set'](_0x274f75['name'],_0x2b8d01),_0x2b8d01['on']('change:range',(_0x3ac26b,_0x4d07b3,_0xb7a6cf)=>{if('$graveyard'==_0x2b8d01['root']['rootName']){const _0x2969fc=_0x3f71f7['schema']['getNearestSelectionRange'](_0xb7a6cf['deletionPosition']);_0x2969fc?(_0x2b8d01['start']=_0x2969fc['start'],_0x2b8d01['end']=_0x2969fc['end']):(_0x1c3a6d['delete'](_0x274f75['name']),_0x2b8d01['detach']());}});}}});}),_0x3f71f7['document']['on']('change',()=>{_0x1c3a6d['size']>0x0&&_0x3f71f7['enqueueChange']({'isUndoable':!0x1},_0x1262bd=>{for(const [_0x4ca678,_0x4a9fa6]of _0x1c3a6d)'$graveyard'==_0x3f71f7['markers']['get'](_0x4ca678)['getRange']()['root']['rootName']&&(Z(_0x4ca678['split'](':')[0x2],_0x4a9fa6['toRange'](),_0x3f71f7,_0x1262bd),_0x4a9fa6['detach']());_0x1c3a6d['clear']();});});}(_0x43ad85),this['_domEmitter']['listenTo'](_0x21ea8d['document'],'keydown',(_0x482b08,{key:_0x59b69d})=>{'Escape'===_0x59b69d&&function(_0x3e99bf){_0x3e99bf['editing']['view']['change'](_0x40b61c=>{for(const _0x5da8f5 of _0x3e99bf['model']['markers']){if(!_0x5da8f5['name']['startsWith']('user:position'))continue;const _0xbc244c=_0x3e99bf['editing']['mapper']['markerNameToElements'](_0x5da8f5['name']);if(_0xbc244c){for(const _0x145fd5 of _0xbc244c)_0x40b61c['removeClass']('ck-user__marker_hovered',_0x145fd5);}}});}(_0x43ad85);},{'useCapture':!0x0});}['afterInit'](){const _0x61872=this['editor'],_0x1a4f23=_0x61872['commands']['get']('undo');_0x1a4f23&&_0x61872['model']['on']('applyOperation',(_0xf9d785,_0x1279a5)=>{const _0x180ac0=_0x1279a5[0x0];if(!_0x180ac0['isDocumentOperation'])return;if('marker'!=_0x180ac0['type']||!_0x180ac0['name']['startsWith']('user:'))return;const _0x1eb272=_0x180ac0['batch'];_0x1a4f23['_createdBatches']['has'](_0x1eb272)&&(_0x180ac0['newRange']=_0x180ac0['oldRange']?_0x61872['model']['createRange'](_0x180ac0['oldRange']['start'],_0x180ac0['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44886a=this['editor'],_0x1db73d=_0x44886a['model']['document'],_0x22ff05=_0x44886a['plugins']['get'](i);_0x44886a['model']['enqueueChange']({'isUndoable':!0x1},_0x3abad2=>{const _0x4f5b6f='user:range:'+_0x22ff05['mySessionId'],_0x2eca79='user:position:'+_0x22ff05['mySessionId'],_0x4fd632=_0x44886a['model']['markers']['has'](_0x4f5b6f);_0x44886a['editing']['view']['hasDomSelection']?Z(_0x22ff05['mySessionId'],_0x1db73d['selection']['getFirstRange'](),_0x44886a['model'],_0x3abad2):_0x4fd632&&(_0x3abad2['removeMarker'](_0x4f5b6f),_0x3abad2['removeMarker'](_0x2eca79));});}}function Z(_0x1cf771,_0x19a486,_0x4c9951,_0x287fbb){const _0x462eab='user:range:'+_0x1cf771,_0x2f805d='user:position:'+_0x1cf771,_0x55a2d6=_0x19a486['getContainedElement']();let _0x11e368=_0x19a486['start'];if(_0x55a2d6&&_0x55a2d6['is']('element','tableCell')){const _0x298a41=function(_0x36d903,_0x5ef174){for(const _0x4e3c8d of _0x36d903['getPositions']())if(_0x5ef174['schema']['checkChild'](_0x4e3c8d,'$text'))return _0x4e3c8d;}(_0x19a486,_0x4c9951);_0x298a41&&(_0x11e368=_0x298a41,_0x19a486=_0x287fbb['createRange'](_0x11e368));}const _0x32034b=_0x287fbb['createRange'](_0x11e368);_0x4c9951['markers']['has'](_0x462eab)?(_0x287fbb['updateMarker'](_0x462eab,{'range':_0x19a486}),_0x287fbb['updateMarker'](_0x2f805d,{'range':_0x32034b})):(_0x287fbb['addMarker'](_0x462eab,{'range':_0x19a486,'usingOperation':!0x0}),_0x287fbb['addMarker'](_0x2f805d,{'range':_0x32034b,'usingOperation':!0x0}));}function W(_0x38824a,_0x453dff,_0x1b6f55){const _0x1001a3=_0x38824a['t'],t=_0x38824a['t'];switch(_0x453dff){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x1001a3({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x1b6f55);default:return'';}}let G=0x1;class l extends _0x5d7a9a{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x58bbd4)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x24f018,_0x3e2273,_0x35418e];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x4da198=this['serverHistory']['getOperations']();for(let _0x4fb391=_0x4da198['length']-0x1;_0x4fb391>=0x0;_0x4fb391--){const _0x43993a=_0x4da198[_0x4fb391];if(!this['_disconnectionOperations']['has'](_0x43993a))return _0x43993a['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4b4f13){if(super(_0x4b4f13),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x44e431(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x35802a('collaboration-missing-channelid',this);const _0x40d270=_0x4b4f13['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x40d270,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5be5ea(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x1a8dd0=this['editor'],_0x385652=_0x1a8dd0['plugins']['get'](_0x3e2273),_0x354223=_0x1a8dd0['plugins']['get'](n);this['listenTo'](_0x385652,'getOperationAuthor',(_0x3f279f,_0x11ff5a)=>{const _0x553c19=_0x11ff5a[0x0];_0x553c19['_authorId']&&(_0x3f279f['return']=_0x385652['getUser'](_0x553c19['_authorId']),_0x3f279f['stop']()),null===_0x553c19['_authorId']&&(_0x3f279f['return']=null,_0x3f279f['stop']());},{'priority':'high'}),this['listenTo'](_0x1a8dd0['model']['document']['selection'],'change:range',(_0x11f68f,_0x39747d)=>{_0x39747d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1a8dd0['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1a8dd0['model']['on']('applyOperation',(_0xbbb0e3,_0x1a7f4d)=>{const _0x2e83d4=_0x1a7f4d[0x0];_0x2e83d4['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2e83d4),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x354223,'state',this,'_hasSynchronizationProblem',(_0x13a75e,_0x574795)=>'connected'===_0x13a75e&&!_0x574795),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1a8dd0['disableReadOnlyMode']('rtc-offline'):_0x1a8dd0['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1a8dd0['disableReadOnlyMode']('rtc-offline'):_0x1a8dd0['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x791887=this['editor']['plugins']['get'](i),_0x4258fb=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x791887['unregister'](this['_channelId']);const _0x7c5816=await this['_service']['reconnect'](_0x4258fb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x7c5816)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x437ae9=await this['_service']['getConnectedSessions']();_0x791887['register'](this['_channelId'],_0x437ae9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x385891){if(function(_0x3773d7){return'404'===_0x3773d7['code'];}(_0x385891)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1972e9){return'409'===_0x1972e9['code'];}(_0x385891)){const _0x145c6f=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x145c6f);}else{if(!(_0x385891 instanceof $))throw _0x385891;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1fa9d5=this['editor']['plugins']['get'](n),_0x1e010f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1e010f['channelSessions']['has'](this['_channelId'])&&_0x1e010f['unregister'](this['_channelId']),_0x1fa9d5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x339ca7){if(this['sessionId']!==_0x339ca7['sessionId']&&this['_lastSyncedOperationId']!==_0x339ca7['lastOperationId'])throw new $();return this['sessionId']=_0x339ca7['sessionId'],this['_handleServerResponse']([],{..._0x339ca7,'wereChangesApplied':!0x1,'data':_0x339ca7['data']},'reconnect');}async['_connectService'](_0x19bcd8,_0x27477d=!0x1){const {connection:_0x32c651}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x32c651,this['_channelId'])['then'](_0x430913=>this['_initSessionsHandling'](_0x430913))['catch'](_0x47e785=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x47e785);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x37d691,_0x4071e7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4071e7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xc283ae=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x19bcd8);this['_isPendingUpdate']=!0x0;const _0x3c066b=await this['_service']['connect'](_0x32c651,this['_compressOperations'](_0x19bcd8),_0xc283ae);if(this['sessionId']=_0x3c066b['sessionId'],_0x27477d){if(!_0x3c066b['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3c066b['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x19bcd8,_0x3c066b,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3c066b,_0x19bcd8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2fc38d=this['editor']['plugins']['get'](i),_0x2f82be=this['editor']['plugins']['get'](V),_0x2e29b0=_0x2fc38d['channelSessions']['get'](this['_channelId']);_0x2e29b0&&_0x2e29b0['length']>0x1?_0x2f82be['createUserMarkerOperations']():this['listenTo'](_0x2fc38d,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2fc38d['channelSessions']['get'](this['_channelId'])['length']&&_0x2f82be['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x563e0c,_0x4b530f,_0x330c67,_0x3eb191){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4b530f){const _0x3e09db=this['_decompressOperations'](_0x330c67,_0x3eb191);await this['_fetchMissingUsers'](_0x3e09db),this['_handleExternalOperations'](_0x3e09db,_0x4b530f,_0x330c67['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37b77b}=this['editor'];let _0x9f5c3b;try{_0x9f5c3b=await this['_service']['getDocumentDetails']();}catch{const _0x56df2e=W(_0x37b77b,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x56df2e);}const _0x21e2a3=_0x9f5c3b['currentDocumentSession']||_0x9f5c3b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x21e2a3['lastOperationId']){const _0x56506a=W(_0x37b77b,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x56506a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xc1014f){const _0x10049f=this['editor']['plugins']['get'](i);this['listenTo'](_0x10049f,'sessionAdd:'+this['_channelId'],(_0x35e1e8,{session:_0x8566c7})=>{if(_0x8566c7['id']===_0x10049f['mySessionId']){_0x35e1e8['off']();const _0x46c8b4=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xfa5937=_0x8566c7['permissions'];_0x46c8b4&&_0x46c8b4['isEnabled']&&(_0xfa5937=_0xfa5937['filter'](_0x3196a9=>'document:write'!==_0x3196a9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xfa5937,this['_channelId']);}}),_0x10049f['register'](this['_channelId'],_0xc1014f);}['_initThrowingOnDataSet'](){const _0x280f9d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4fe03f)=>{if(!_0x4fe03f[_0x4fe03f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x35802a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x280f9d['apply'](this['editor']['data'],_0x4fe03f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x1d05d5,[_0x808046])=>{if(this['_document']['version'])throw new _0x35802a('realtimecollaborationclient-init-document-already-initialized',this);_0x1d05d5['stop'](),this['_setPendingAction']();const _0x4af3e3=this['editor']['config']['get']('rootsAttributes'),_0x52eba8=this['_getOperationsFromInitData'](_0x808046,_0x4af3e3);0x0==_0x52eba8['length']&&_0x52eba8['push'](new _0x5bb50b(0x0)),_0x1d05d5['return']=this['_connectService'](_0x52eba8)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x55fc7c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x55fc7c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x288143,[_0x847945,_0x4e06f0])=>{_0x288143['stop']();const _0x1ea2b=this['editor']['model']['document']['getRoot'](_0x847945);if(!this['_knownRootNames']['has'](_0x847945)){const _0x3cf741=_0x4e06f0&&_0x4e06f0['data']?_0x4e06f0['data']:'',_0x1ffb28=_0x4e06f0&&_0x4e06f0['attributes']?_0x4e06f0['attributes']:{};await this['_loadRoot'](_0x847945,_0x3cf741,_0x1ffb28);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1ea2b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1ea2b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x26ea27){const _0x316691=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x5d9f9a}=this['editor']['plugins']['get'](n),_0x56726f=new Set();for(const _0x216a09 of _0x26ea27){const _0xaffc04=_0x216a09['_authorId'];_0xaffc04&&!_0x316691['getUser'](_0xaffc04)&&_0x56726f['add'](_0xaffc04);}if(0x0===_0x56726f['size'])return;const _0x45dd41=await lt['getMany'](_0x5d9f9a,Array['from'](_0x56726f));for(const _0xf374af of _0x45dd41)_0x316691['getUser'](_0xf374af['id'])||_0x316691['addUser'](_0xf374af);}['_getOperationsFromInitData'](_0x34c09e,_0x5b0e38={}){const _0x5739b2=this['editor']['model'],_0x426e83=[];let _0x514efb=0x0;const _0x223068='string'==typeof _0x34c09e?{'main':_0x34c09e}:_0x34c09e;for(const _0x43aad3 of Object['keys'](_0x223068)){if(!this['_document']['roots']['has'](_0x43aad3))throw new _0x35802a('realtimecollaborationclient-init-non-existent-root',this);const _0x2404dd=this['editor']['data']['parse'](_0x223068[_0x43aad3]),_0x19e8cf=this['_document']['getRoot'](_0x43aad3),_0x5b5eb9=new _0x37dfda(_0x5739b2['createPositionAt'](_0x19e8cf,0x0),_0x2404dd,_0x514efb++);_0x426e83['push'](_0x5b5eb9);for(const [_0xf36a72,_0xb63d6]of _0x2404dd['markers']){const _0xbb3737=_0x5739b2['createRange'](_0x5739b2['createPositionFromPath'](_0x19e8cf,_0xb63d6['start']['path']['slice']()),_0x5739b2['createPositionFromPath'](_0x19e8cf,_0xb63d6['end']['path']['slice']())),_0x3d7a71=new _0x45ff3e(_0xf36a72,null,_0xbb3737,_0x5739b2['markers'],!0x0,_0x514efb++);_0x426e83['push'](_0x3d7a71);}}if(_0x5b0e38)for(const [_0x2d50ca,_0x1ce635]of Object['entries'](_0x5b0e38)){const _0x9ccee7=_0x5739b2['document']['getRoot'](_0x2d50ca);if(!_0x9ccee7)throw new _0x35802a('multi-root-editor-root-attributes-no-root',null);for(const [_0x3bbf4b,_0x336fb3]of Object['entries'](_0x1ce635))if(null!==_0x336fb3){const _0x355301=new _0x4e1f1c(_0x9ccee7,_0x3bbf4b,null,_0x336fb3,_0x514efb++);_0x426e83['push'](_0x355301);}}return _0x426e83;}async['_loadRoot'](_0x453940,_0x1d6912,_0x4e92e3){this['_getOperationsFromInitData']({[_0x453940]:_0x1d6912},{[_0x453940]:_0x4e92e3})['forEach']((_0x1f3672,_0x33dba5)=>{_0x1f3672['baseVersion']=this['_document']['version']+_0x33dba5,_0x1f3672['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1f3672);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5034aa,_0x53eadf){let _0x3a8bfd;this['_offset']=_0x5034aa['offset'];const _0x12279c=_0x5034aa['wereChangesApplied']&&!_0x5034aa['initData'],_0x5a83c8=_0x12279c?0x0:_0x5034aa['data']['baseVersion'];if(_0x53eadf['forEach'](_0x1ccebe=>{_0x1ccebe['_isInit']=!0x0,_0x1ccebe['createdAt']=_0x5034aa['sessionCreatedAt'],_0x1ccebe['_authorId']=null;}),_0x12279c)_0x3a8bfd=_0x53eadf,this['_applyOperationsSet'](_0x3a8bfd,_0x12279c);else{if(_0x5034aa['initData']){const _0x36fe4e=this['_getOperationsFromInitData'](_0x5034aa['initData']);this['_document']['history']['version']=-_0x36fe4e['length'],_0x36fe4e['forEach'](_0x2c337a=>{_0x2c337a['baseVersion']-=_0x36fe4e['length'],_0x2c337a['createdAt']=_0x5034aa['sessionCreatedAt'],_0x2c337a['_isInit']=!0x0,_0x2c337a['_authorId']=null;}),this['_applyOperationsSet'](_0x36fe4e,!0x0),this['serverHistory']['version']=-_0x36fe4e['length']+this['_offset'],this['_updateServerHistory'](_0x36fe4e);}this['_document']['history']['version']=_0x5a83c8,_0x3a8bfd=this['_decompressOperations'](_0x5034aa['data'],_0x5034aa['metadata']),await this['_fetchMissingUsers'](_0x3a8bfd),this['_applyOperationsSet'](_0x3a8bfd,_0x12279c);}_0x5034aa['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3a8bfd,_0x5034aa['lastOperationId']),this['_lastSyncedOperationId']=_0x5034aa['lastOperationId']),this['serverHistory']['version']=_0x5a83c8+this['_offset'],this['_updateServerHistory'](_0x3a8bfd),_0x53eadf['filter'](_0x7c7561=>{const _0x148a73=this['_getAffectedRoot'](_0x7c7561);return _0x148a73&&!this['_knownRootNames']['has'](_0x148a73);})['forEach']((_0x422622,_0x1e23e3)=>{_0x422622['baseVersion']=this['_document']['version']+_0x1e23e3,this['_saveOperationInBuffer'](_0x422622);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x13245e,_0x4bb09b){const _0x2ea8d8=_0x4bb09b&&_0x4bb09b['message'];if(_0x2ea8d8&&_0x2ea8d8['startsWith']('realtimecollaborationclient'))throw _0x4bb09b;const _0x18506b=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x18506b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x35802a(_0x13245e,this['editor'],_0x2ea8d8?{'originalError':_0x2ea8d8}:void 0x0);}['_saveOperationInBuffer'](_0x3dcbbf){this['_knownOperations']['has'](_0x3dcbbf)||(this['_knownOperations']['add'](_0x3dcbbf),this['_bufferedOperations']['push'](_0x3dcbbf),this['_pendingAction']||'marker'==_0x3dcbbf['type']&&!_0x3dcbbf['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x40b746=!0x1){!_0x40b746&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x415013=>{_0x415013&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xa24070=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x10eab0){return _0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x10eab0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xa24070)||this['_crash'](_0xa24070['message'],_0xa24070);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x306b5d=>{this['on']('change:_isPendingUpdate',()=>{_0x306b5d();});});}async['_sendBufferedOperations'](){const _0x24add5=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x24add5['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5f3a7b=[...this['_bufferedOperations']];for(const _0x10fbea of _0x5f3a7b)_0x10fbea['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x10fbea);const _0xd2abd8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5f3a7b),_0x4eb49f=G++,_0x1726e2=this['_compressOperations'](_0x5f3a7b),_0x51ae23=await this['_service']['sendOperations'](_0x1726e2,_0x1726e2['baseVersion'],_0xd2abd8);try{return await this['_handleServerResponse'](_0x5f3a7b,_0x51ae23,_0x4eb49f);}catch(_0x54a53b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x54a53b);}}async['_handleServerResponse'](_0x21fefb,_0x518b85,_0x5cfe23){if('error'in _0x518b85)throw _0x518b85['error'];let _0x14fa96=!0x1;if(_0x518b85['wereChangesApplied']){_0x518b85['lastOperationId']&&(this['_lastSyncedOperationId']=_0x518b85['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x171906=>!_0x21fefb['includes'](_0x171906));for(const _0x5a9755 of _0x21fefb)_0x5a9755['createdAt']='lastOperationAcceptedAt'in _0x518b85&&_0x518b85['lastOperationAcceptedAt']||void 0x0;K(_0x21fefb,_0x518b85['version']-_0x21fefb['length']),this['_updateServerHistory'](_0x21fefb);const _0x169805=_0x21fefb['filter'](_0x478793=>{if(!_0x478793['_isInit'])return!0x1;const _0x352426=this['_getAffectedRoot'](_0x478793);return _0x352426&&!this['_knownRootNames']['has'](_0x352426);});K(_0x169805,this['_document']['version']),this['_applyOperationsSet'](_0x169805),_0x14fa96=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x19c42e=this['_decompressOperations'](_0x518b85['data'],_0x518b85['metadata'])['filter'](_0x360360=>_0x360360['baseVersion']>=this['_lastServerVersion']);_0x19c42e['forEach'](_0x3dbc13=>this['_addKnownRoot'](_0x3dbc13)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x848fba=>!_0x848fba['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x848fba))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x19c42e),_0x14fa96=this['_handleExternalOperations'](_0x19c42e,_0x518b85['version'],_0x518b85['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x14fa96?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x376419,_0x2a3c93,_0x3adf4b){try{const _0x4e16cc={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1a8109,operationsB:_0xef9715,originalOperations:_0x2c4053}=_0x17238b(_0x376419,this['_bufferedOperations'],_0x4e16cc);K(_0x1a8109,this['_document']['version']),K(_0xef9715,_0x2a3c93);for(const _0x68d8b of _0x1a8109){const _0x4676fd=_0x2c4053['get'](_0x68d8b);_0x68d8b['_authorId']=_0x4676fd?_0x4676fd['_authorId']:null;}_0x3adf4b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x376419,_0x3adf4b),this['_lastSyncedOperationId']=_0x3adf4b),this['_bufferedOperations']=[..._0xef9715],this['_applyOperationsSet'](_0x1a8109),this['_updateServerHistory'](_0x376419);}catch(_0x30f823){return console['error'](_0x30f823),!0x1;}return!0x0;}['_applyOperationsSet'](_0xa76da9,_0x50d3ab=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2e31b7=>{for(const _0x67bc0d of _0xa76da9)this['_knownOperations']['add'](_0x67bc0d),this['_addKnownRoot'](_0x67bc0d),_0x2e31b7['batch']['addOperation'](_0x67bc0d),this['editor']['model']['applyOperation'](_0x67bc0d);});}['_addKnownRoot'](_0x42eb6d){const _0x45a2fe=this['_getAffectedRoot'](_0x42eb6d);_0x45a2fe&&this['_knownRootNames']['add'](_0x45a2fe);}['_getAffectedRoot'](_0x21cc94){let _0x545d5b,_0x17bf9f;switch(_0x21cc94['type']){case'insert':_0x545d5b=_0x21cc94['position']['root'];break;case'marker':if(_0x17bf9f=_0x21cc94['newRange'],!_0x17bf9f)return null;_0x545d5b=_0x17bf9f['root'];break;case'addRootAttribute':_0x545d5b=_0x21cc94['root'];break;case'addRoot':_0x545d5b=_0x21cc94['affectedSelectable'];break;case'move':_0x545d5b=_0x21cc94['targetPosition']['root'];break;default:return null;}return _0x545d5b['rootName'];}['_updateServerHistory'](_0x3a4391){_0x3a4391['forEach'](_0x2e31ca=>{const _0x39a2e5=_0x2e31ca['clone']();_0x39a2e5['_authorId']=_0x2e31ca['_authorId'],_0x39a2e5['_isInit']=!!_0x2e31ca['_isInit'],_0x39a2e5['createdAt']=_0x2e31ca['createdAt'],_0x39a2e5['baseVersion']+=this['_offset'],_0x2e31ca['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x39a2e5),this['serverHistory']['addOperation'](_0x39a2e5);});}['_handleReconnectionError'](_0x2d0e22){const _0x15ae9f=this['editor']['plugins']['get']('Notification'),_0x1efe4a=this['editor']['locale'];_0x2d0e22||(_0x2d0e22=W(_0x1efe4a,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x15ae9f['showWarning'](_0x2d0e22,{'title':W(_0x1efe4a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x24f018)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x24f018)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x51e918){const _0x25093a=_0x51e918['map'](_0x256527=>_0x256527['toJSON']());return this['_compressor']['compress'](_0x25093a);}['_decompressOperations'](_0x2c1e33,_0x40fdec){return this['_compressor']['decompress'](_0x2c1e33)['map']((_0x37ae50,_0x117c11)=>{const _0x4b395a='init'==_0x40fdec[_0x117c11]['type'];if('InsertOperation'==_0x37ae50['__className']){const _0x24efad=_0x37ae50['position']['root'];!this['_document']['getRoot'](_0x24efad)&&(this['_document']['createRoot']('$root',_0x24efad)['_isAttached']=!0x1);}const _0x315eb8=_0x502b65['fromJSON'](_0x37ae50,this['_document']);return _0x315eb8['wasUndone']=_0x37ae50['wasUndone'],_0x315eb8['_isInit']=_0x4b395a,_0x315eb8['_authorId']=_0x4b395a?null:_0x40fdec[_0x117c11]['userId'],_0x315eb8['_isDisconnection']='cs:removeUser'===_0x40fdec[_0x117c11]['type'],_0x315eb8['createdAt']=_0x40fdec[_0x117c11]['createdAt'],_0x315eb8;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3d3eff=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3d3eff&&_0x3d3eff['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x49f1b6,_0x79b5c8){for(const _0x3611f1 of _0x49f1b6)_0x3611f1['baseVersion']=_0x79b5c8++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x47a043){this['_ignoredOperations']=_0x47a043,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4471fb){let _0x1da972=_0x4471fb['length'];for(;_0x1da972--;){const _0x22da7e=_0x4471fb[_0x1da972];if(!this['_ignoredOperations']['has'](_0x22da7e)){if(!this['_operationToId']['has'](_0x22da7e)){const _0x372da2=_0x41bb16()['slice'](0x1,0x12);this['_operationToId']['set'](_0x22da7e,_0x372da2);}return this['_operationToId']['get'](_0x22da7e);}}}['setIdForTheLastOperation'](_0x55ae88,_0x247798){if(!_0x247798)return;let _0x562d79=_0x55ae88['length'];for(;_0x562d79--;){const _0x239f7d=_0x55ae88[_0x562d79];this['_ignoredOperations']['has'](_0x239f7d)||this['_operationToId']['set'](_0x239f7d,_0x247798);}}}class a extends _0x5d7a9a{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1f2484{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x2e6c89)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x3e2273];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f2b44){super(_0x4f2b44),this['_services']=new Map();}async['init'](){const _0x8ac3f0=this['context'],_0x18ea06=_0x8ac3f0['plugins']['get']('CommentsRepository');if(_0x8ac3f0['plugins']['get'](n)['addToReconnectionStack'](this),_0x18ea06['adapter']={'addCommentThread':async({channelId:_0xc7aa7,threadId:_0x3774ff,comments:_0x190ba5,resolvedAt:_0x116ee4,resolvedBy:_0x3b7257,context:_0x504966,attributes:_0x3b8b8e})=>{const _0x56f2e4=await this['_getService'](_0xc7aa7)['addCommentThread']({'commentThreadId':_0x3774ff,'comments':_0x190ba5['map'](_0x636e32=>function(_0x2c06e6,_0x366e2d,_0x283cd8){return{'commentThreadId':_0x283cd8,'commentId':_0x2c06e6['commentId'],'userId':_0x2c06e6['authorId'],'content':_0x2c06e6['content'],'documentId':_0x366e2d,'createdAt':_0x2c06e6['createdAt'],'attributes':_0x2c06e6['attributes']||{}};}(_0x636e32,_0xc7aa7,_0x3774ff)),'resolvedAt':_0x116ee4,'resolvedBy':_0x3b7257,'context':_0x504966,'attributes':_0x3b8b8e})['catch'](dt);return{'threadId':_0x56f2e4['commentThreadId'],'comments':_0x56f2e4['comments']};},'getCommentThread':async({channelId:_0x50f150,threadId:_0x1233fd})=>{const _0x1e9337=await this['_getService'](_0x50f150)['getCommentThread'](_0x1233fd)['catch'](f)['catch'](dt);return _0x1e9337?_0x1e9337['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1e9337]),{'threadId':_0x1e9337['commentThreadId'],'comments':_0x1e9337['comments']['map'](p),'context':_0x1e9337['context'],'resolvedAt':_0x1e9337['resolvedAt'],'resolvedBy':_0x1e9337['resolvedBy'],'attributes':_0x1e9337['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2b2845,threadId:_0x552d88,context:_0x4fe6de,unlinkedAt:_0x49c54c,attributes:_0x59884f})=>this['_getService'](_0x2b2845)['updateCommentThread']({'commentThreadId':_0x552d88,'context':_0x4fe6de,'attributes':_0x59884f,'unlinkedAt':_0x49c54c})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x871be5,threadId:_0x281f0b})=>{const _0x447c66=await this['_getService'](_0x871be5)['resolveCommentThread'](_0x281f0b)['catch'](f)['catch'](dt);return{'threadId':_0x447c66['commentThreadId'],'resolvedAt':_0x447c66['resolvedAt'],'resolvedBy':_0x447c66['resolvedBy']};},'reopenCommentThread':async({channelId:_0x28da26,threadId:_0x57f5b3})=>this['_getService'](_0x28da26)['reopenCommentThread'](_0x57f5b3)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0xfa792f,threadId:_0x2903ec})=>this['_getService'](_0xfa792f)['removeCommentThread'](_0x2903ec)['catch'](f)['catch'](dt),'addComment':({channelId:_0x3ff214,threadId:_0x134700,commentId:_0x2a1f4c,content:_0x373136,attributes:_0x476648})=>this['_getService'](_0x3ff214)['addComment'](_0x134700,_0x2a1f4c,_0x373136,_0x476648)['catch'](dt),'updateComment':({channelId:_0x5d1950,threadId:_0x5d6ecd,commentId:_0x2e5588,content:_0x392f20,attributes:_0x5ee08c})=>this['_getService'](_0x5d1950)['updateComment'](_0x5d6ecd,_0x2e5588,_0x392f20,_0x5ee08c)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x57815d,threadId:_0x22a076,commentId:_0x439f5e})=>this['_getService'](_0x57815d)['removeComment'](_0x22a076,_0x439f5e)['catch'](f)['catch'](dt)},_0x8ac3f0 instanceof _0x4e6aab){const _0x9d8d73=_0x8ac3f0['config']['get']('collaboration.channelId'),_0x59c6f8=_0x8ac3f0['plugins']['get'](i);await this['_setUpService'](_0x9d8d73);const _0x5e0bf9=await this['_services']['get'](_0x9d8d73)['getConnectedSessions']();this['listenTo'](_0x59c6f8,'sessionAdd:'+_0x9d8d73,(_0x3ebb4b,{session:_0x2f0e99})=>{_0x2f0e99['id']===_0x59c6f8['mySessionId']&&(_0x3ebb4b['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2f0e99['permissions'],_0x9d8d73));}),_0x59c6f8['register'](_0x9d8d73,_0x5e0bf9);}}async['_setUpService'](_0x4adcca){if(this['_services']['has'](_0x4adcca))throw new _0x35802a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4adcca});const _0x502a07=this['context']['plugins']['get']('CommentsRepository'),_0x11206f=new s['CommentsService'](_0x4adcca);this['_services']['set'](_0x4adcca,_0x11206f),this['listenTo'](_0x11206f,'commentThreadAdded',(_0x4ef039,_0x268d22)=>{const {commentThreadId:_0x579d79,documentId:_0x7672ac,context:_0x45d44a,attributes:_0x509d29,resolvedAt:_0x1dfe16,resolvedBy:_0x1e4804,comments:_0x1bc67c}=_0x268d22;_0x502a07['getCommentThread'](_0x579d79)||_0x502a07['addCommentThread']({'threadId':_0x579d79,'channelId':_0x7672ac,'comments':_0x1bc67c?_0x1bc67c['map'](p):[],'context':_0x45d44a,'attributes':_0x509d29,'resolvedAt':_0x1dfe16,'resolvedBy':_0x1e4804,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadUpdated',(_0x2110de,{commentThreadId:_0x351be2,documentId:_0x37cab5,context:_0x3af661,unlinkedAt:_0x1b1c7c,attributes:_0x21dff3})=>{_0x502a07['getCommentThread'](_0x351be2)&&_0x502a07['updateCommentThread']({'threadId':_0x351be2,'channelId':_0x37cab5,'context':_0x3af661,'unlinkedAt':_0x1b1c7c,'attributes':_0x21dff3,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadResolved',(_0x5d7275,{commentThreadId:_0x500052,resolvedBy:_0xd945f0,resolvedAt:_0x3332eb})=>{const _0x576fc8=_0x502a07['getCommentThread'](_0x500052);_0x576fc8&&_0x576fc8['resolve']({'resolvedBy':_0xd945f0,'resolvedAt':_0x3332eb,'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadReopened',(_0x553153,{commentThreadId:_0x223a2e})=>{const _0x5eb7b9=_0x502a07['getCommentThread'](_0x223a2e);_0x5eb7b9&&_0x5eb7b9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentThreadRemoved',(_0x53e62e,{commentThreadId:_0x26332a})=>{const _0x41dd7f=_0x502a07['getCommentThread'](_0x26332a);_0x41dd7f&&_0x41dd7f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentAdded',(_0x841939,_0x504a01)=>{const _0x7ae7bb=_0x504a01['commentThreadId'],_0x5989fc=_0x502a07['getCommentThread'](_0x7ae7bb);_0x5989fc&&_0x5989fc['addComment']({...p(_0x504a01),'isFromAdapter':!0x0});}),this['listenTo'](_0x11206f,'commentUpdated',(_0x11cf64,{commentThreadId:_0x1f5a91,commentId:_0xacea09,content:_0x22c7ad,attributes:_0x3c6e43})=>{const _0x28f251=_0x502a07['getCommentThread'](_0x1f5a91);if(_0x28f251){const _0x193593=_0x28f251['getComment'](_0xacea09);_0x193593&&_0x193593['update']({'content':_0x22c7ad,'attributes':_0x3c6e43,'isFromAdapter':!0x0});}}),this['listenTo'](_0x11206f,'commentRemoved',(_0xfd8c6,{commentThreadId:_0x2070ce,commentId:_0x5c5295})=>{const _0x5c2e41=_0x502a07['getCommentThread'](_0x2070ce);if(_0x5c2e41){const _0x2ae44f=_0x5c2e41['getComment'](_0x5c5295);_0x2ae44f&&_0x2ae44f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4adcca);}['destroy'](){if(this['context']instanceof _0x4e6aab){const _0x11afef=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x11afef);}}['_terminateService'](_0x2489a4){if(!this['_services']['has'](_0x2489a4))throw new _0x35802a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2489a4});this['_getService'](_0x2489a4)['disconnect'](),this['_services']['delete'](_0x2489a4);}async['reconnect'](){for(const _0x39854a of this['_services']['keys']())await this['_connectService'](_0x39854a);if(this['context']instanceof _0x4e6aab){const _0x3f21c8=this['context']['config']['get']('collaboration.channelId'),_0x30e19d=this['context']['plugins']['get'](i);_0x30e19d['unregister'](_0x3f21c8);const _0x3f03c4=await this['_services']['get'](_0x3f21c8)['getConnectedSessions']();_0x30e19d['register'](_0x3f21c8,_0x3f03c4);}}async['_connectService'](_0x508a57){const {connection:_0x2d15cf}=this['context']['plugins']['get'](n),_0x229e80=this['context']['plugins']['get']('CommentsRepository'),_0x27bde1=this['_services']['get'](_0x508a57),_0x46f792=await _0x27bde1['connect'](_0x2d15cf);await this['_fetchMissingUsersForThreads'](_0x46f792);const _0x648c49=new Set(Array['from'](_0x229e80['getCommentThreads']({'channelId':_0x508a57}),_0x141370=>_0x141370['id']));for(const _0x5684d9 of _0x46f792)_0x5684d9['deletedAt']||_0x648c49['delete'](_0x5684d9['commentThreadId']);for(const _0x5db42c of _0x648c49)_0x229e80['getCommentThread'](_0x5db42c)['remove']({'isFromAdapter':!0x0});for(const _0x561f81 of _0x46f792){let _0x5df74b=_0x229e80['getCommentThread'](_0x561f81['commentThreadId']);const {commentThreadId:_0x34e53b,context:_0x5b6dde,attributes:_0x175a45,resolvedBy:_0x579d65,resolvedAt:_0x16479f,unlinkedAt:_0x5c1722,deletedAt:_0x3d47f8}=_0x561f81;if(_0x3d47f8)continue;_0x5df74b||(_0x5df74b=_0x229e80['addCommentThread']({'channelId':_0x508a57,'threadId':_0x34e53b,'context':_0x5b6dde,'attributes':_0x175a45||{},'resolvedBy':_0x579d65,'resolvedAt':_0x16479f,'unlinkedAt':_0x5c1722,'isFromAdapter':!0x0}));const _0x422ad0=new Set(Array['from'](_0x5df74b['comments'],_0x256212=>_0x256212['id']));for(const _0x3c1e67 of _0x561f81['comments'])_0x422ad0['delete'](_0x3c1e67['commentId']);for(const _0x579067 of _0x422ad0)_0x5df74b['getComment'](_0x579067)['remove']({'isFromAdapter':!0x0});for(const _0x37e534 of _0x561f81['comments']){const _0x3d3b65=_0x5df74b['getComment'](_0x37e534['commentId']);_0x3d3b65?_0x3d3b65['content']!==_0x37e534['content']&&_0x3d3b65['update']({'content':_0x37e534['content'],'isFromAdapter':!0x0}):_0x5df74b['addComment'](Object['assign'](p(_0x37e534),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2d3057){if(!this['_services']['has'](_0x2d3057))throw new _0x35802a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2d3057});return this['_services']['get'](_0x2d3057);}async['_fetchMissingUsersForThreads'](_0x1d682d){const _0x4db5de=this['context']['plugins']['get'](_0x3e2273),{connection:_0x7a960}=this['context']['plugins']['get'](n),_0x598647=new Set();for(const {resolvedBy:_0x3e60f6,comments:_0x235b1e}of _0x1d682d){_0x3e60f6&&!_0x4db5de['getUser'](_0x3e60f6)&&_0x598647['add'](_0x3e60f6);for(const {userId:_0x42ef8d}of _0x235b1e)_0x4db5de['getUser'](_0x42ef8d)||_0x598647['add'](_0x42ef8d);}if(0x0===_0x598647['size'])return;const _0x1d9e26=await lt['getMany'](_0x7a960,Array['from'](_0x598647));for(const _0x510ead of _0x1d9e26)_0x4db5de['getUser'](_0x510ead['id'])||_0x4db5de['addUser'](_0x510ead);}}async function f(_0x45070b){if('404'!==_0x45070b['code'])throw _0x45070b;}function dt(_0x23d3b4){if((_0x43db4e=_0x23d3b4)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x43db4e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x43db4e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x43db4e;throw _0x23d3b4;}function p(_0x14fa79){return{'threadId':_0x14fa79['commentThreadId'],'commentId':_0x14fa79['commentId'],'content':_0x14fa79['content'],'createdAt':_0x14fa79['createdAt'],'authorId':_0x14fa79['userId'],'attributes':_0x14fa79['attributes']||{}};}class m extends _0x5d7a9a{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b81d1){super(_0x5b81d1);const _0x506020=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x506020);}['init'](){const _0x1bc990=this['editor']['plugins']['get'](n),_0x237983=this['editor']['plugins']['get']('TrackChangesEditing');return _0x237983['adapter']={'getSuggestion':async _0x525a4c=>{await this['_waitForServiceReady']();const _0x3897ac=await this['_trackChangesService']['get'](_0x525a4c)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3897ac]),_0x3897ac;},'addSuggestion':async({id:_0x42c549,type:_0x128f43,data:_0x54a06a,originalSuggestionId:_0x2f1a80,attributes:_0x237d38})=>{await this['_waitForServiceReady']();const _0x1abc56={'id':_0x42c549,'type':_0x128f43,'data':_0x54a06a,'originalSuggestionId':_0x2f1a80,'attributes':_0x237d38},_0x3a3e91=await this['_trackChangesService']['add'](_0x42c549,_0x128f43,_0x54a06a,_0x2f1a80,_0x237d38)['catch'](_0x216d39=>{if(ut(_0x216d39))return new Promise(_0x44f87b=>{this['_bufferedRequests']['set'](_0x42c549,{'resolve':_0x44f87b,'suggestionData':_0x1abc56});});throw _0x216d39;});return this['_bufferedRequests']['delete'](_0x42c549),_0x3a3e91;},'updateSuggestion':async(_0x375467,_0x5a21bf)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5a21bf['state'])return this['_trackChangesService']['update'](_0x375467,_0x5a21bf)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x11b205,_0x40313a)=>{_0x237983['hasSuggestion'](_0x40313a['id'])&&(_0x237983['getSuggestion'](_0x40313a['id'])['attributes']=_0x40313a['attributes']);}),this['_trackChangesService']['connect'](_0x1bc990['connection'])['then'](_0x5511a8=>(_0x1bc990['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5511a8)['then'](()=>{for(const _0x4f2c51 of _0x5511a8){_0x237983['addSuggestionData'](_0x4f2c51)['_saved']=!0x0;}})));}async['reconnect'](){const _0x284fd7=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1d3b1b}=this['editor']['plugins']['get'](n),_0x1562b4=await this['_trackChangesService']['connect'](_0x1d3b1b);await this['_fetchMissingUsersForThreads'](_0x1562b4);for(const {suggestionData:_0x19d0c2,resolve:_0xec9c6f}of this['_bufferedRequests']['values']()){let _0x3f22d3=_0x1562b4['find'](_0x593982=>_0x593982['id']===_0x19d0c2['id']);_0x3f22d3||(_0x3f22d3=await this['_trackChangesService']['add'](_0x19d0c2['id'],_0x19d0c2['type'],_0x19d0c2['data'],_0x19d0c2['originalSuggestionId'])),_0xec9c6f(_0x3f22d3);}for(const _0x56f094 of _0x1562b4)_0x284fd7['hasSuggestion'](_0x56f094['id'])||_0x284fd7['addSuggestionData'](_0x56f094);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5d7249=>{this['listenTo'](this['_trackChangesService'],'connected',_0x6a860b=>{_0x6a860b['off'](),_0x5d7249();});});}async['_fetchMissingUsersForThreads'](_0xbbf58b){const _0x12c2ab=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x14c640}=this['editor']['plugins']['get'](n),_0x50c6=new Set();for(const {authorId:_0x30e593}of _0xbbf58b)_0x12c2ab['getUser'](_0x30e593)||_0x50c6['add'](_0x30e593);if(0x0===_0x50c6['size'])return;const _0x380fed=await lt['getMany'](_0x14c640,Array['from'](_0x50c6));for(const _0x18527d of _0x380fed)_0x12c2ab['getUser'](_0x18527d['id'])||_0x12c2ab['addUser'](_0x18527d);}}function A(_0x5bf507){if(ut(_0x5bf507))return new Promise(()=>{});throw _0x5bf507;}function ut(_0xf6c8d3){return _0xf6c8d3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xf6c8d3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5d7a9a{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5d3491=this['editor']['plugins']['get'](n),_0x1af4ff=this['editor']['plugins']['get']('CommentsEditing'),_0x246459=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5d3491,'change:state',(_0x77acaf,_0x1e8cb6,_0x12154c)=>{_0x1af4ff['isThreadsLoadingPaused']='connected'!==_0x12154c;});}),this['listenTo'](_0x5d3491,'change:state',(_0x566472,_0x3d4ad1,_0x4dcfaa)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x4dcfaa);}),_0x246459['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x5d7a9a{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x5d7a9a{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x3e2273];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x14029a){super(_0x14029a);const _0x33f6d1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x33f6d1);}async['init'](){const _0x14d0c8=this['editor']['plugins']['get'](l),_0x12e10a=_0x14d0c8['serverHistory'],_0x2c1ed0=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x12e10a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x14d0c8['sessionId']});const _0x3a6751=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5c54fe=await tt['isBundleUploaded'](_0x2c1ed0['connection'],_0x3a6751);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x223016})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x223016)),'updateRevisions':async _0x14e1cc=>{await this['_waitForServiceReady']();const _0x1265ec=this['_revisionTracker']['currentRevision'];if(_0x5c54fe&&0x1===_0x14e1cc['length']&&_0x14e1cc[0x0]['id']===_0x1265ec['id'])return _0x14e1cc;for(const _0x49baaf of _0x14e1cc)_0x49baaf['id']===_0x1265ec['id']&&(_0x49baaf['isEmptyCurrent']=_0x49baaf['fromVersion']===_0x49baaf['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x14e1cc,this['_lastRequestId'])['then'](_0x46f96b=>(this['_lastRequestId']=_0x46f96b,_0x14e1cc))['catch'](_0xc9a05d=>{if(st(_0xc9a05d)||'400'===_0xc9a05d['code']&&void 0x0!==_0xc9a05d['data']['wrongRequestId']){for(const _0x322531 of _0x14e1cc){!this['_revisionTracker']['repository']['getRevision'](_0x322531['id'])||this['_revisionTracker']['_bufferUpdate'](_0x322531['id'],_0x322531,!0x1);}if(st(_0xc9a05d))throw _0xc9a05d;return _0x14e1cc;}throw _0xc9a05d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2939ba,{revisionsData:_0x2a5fcc,requestId:_0x5b2e1a})=>{Math['max'](..._0x2a5fcc['map'](_0x462153=>_0x462153['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2a5fcc,_0x5b2e1a);}):this['_handleRevisionsUpdate'](_0x2a5fcc,_0x5b2e1a);});const {revisions:_0x1f183a,requestId:_0xa05ee6}=await this['_revisionHistoryService']['connect'](_0x2c1ed0['connection']);_0x2c1ed0['addToReconnectionStack'](this),this['_lastRequestId']=_0xa05ee6,await this['_fetchMissingUsers'](_0x1f183a);for(const _0x1916c0 of _0x1f183a)this['_revisionTracker']['addRevisionData'](_0x1916c0);this['listenTo'](_0x14d0c8,'change:_isConnected',(_0x288ad7,_0x30eca9,_0x8321fa)=>{_0x8321fa&&(this['_oldOffset']=_0x14d0c8['_offset'],_0x288ad7['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c1ed0,'state',_0x6960e0=>_0x6960e0===te['CONNECTED']);}async['reconnect'](){const _0x47af8c=this['editor']['plugins']['get'](n),_0x553092=this['editor']['plugins']['get'](l),_0x93dd6a=async()=>{const _0x49ca24=this['_revisionTracker']['currentRevision'],_0x30ec22=_0x49ca24['id'],_0x4d4b88=_0x30ec22!==_0x553092['sessionId'];if(_0x4d4b88){const _0x489fa9=_0x553092['_offset']-this['_oldOffset'],_0x59c4e3=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x49ca24['toVersion']+_0x489fa9!==_0x59c4e3){const _0x2f3f5c=_0x49ca24['fromVersion']+_0x489fa9,_0x224333=this['editor']['plugins']['get'](_0x3e2273),_0x4bdbc3=this['_revisionTracker']['buildRevisionData']({'revision':_0x49ca24,'from':_0x2f3f5c,'to':_0x59c4e3});_0x4bdbc3['id']=_0x49ca24['id'];const _0x5312dc=_0x4bdbc3['authorsIds']['map'](_0x8aba3e=>_0x224333['getUser'](_0x8aba3e));_0x49ca24['_update']({..._0x4bdbc3,'authors':_0x5312dc},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x49ca24['id'],_0x4bdbc3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x59c4e3,(_0x49ca24['toVersion']===_0x49ca24['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x30ec22)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x30ec22),this['_revisionTracker']['_createCurrentRevision'](_0x59c4e3));}const {revisions:_0x160419,requestId:_0x5bdca1}=await this['_revisionHistoryService']['reconnect'](_0x47af8c['connection'],this['_lastRequestId']);_0x4d4b88&&_0x160419['length']>0x0?_0x553092['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x160419),this['_handleRevisionsUpdate'](_0x160419,_0x5bdca1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x553092['_isConnected']?_0x93dd6a():new Promise((_0x35aa7f,_0x4127d8)=>{_0x553092['once']('change:_isConnected',()=>{_0x93dd6a()['then'](_0x35aa7f)['catch'](_0x4127d8);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4ef6bd=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4b0798=>{_0x4b0798['off'](),_0x4ef6bd();});});}['_getLatestVersionFromServerOperations'](){const _0x3bac5f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x161f45 of _0x3bac5f)if('marker'!==_0x161f45['type']||_0x161f45['affectsData'])return _0x161f45['baseVersion']+0x1;}['_getLatestVersion'](){const _0x615692=this['editor']['plugins']['get'](l);return new Promise(_0x479c0f=>{_0x615692['_isPendingUpdate']?_0x615692['once']('change:_isPendingUpdate',()=>{_0x479c0f(this['_getLatestVersionFromServerOperations']());}):_0x479c0f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5c2e3e,_0x3fc354){const _0x162ea4=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3fc354;for(const _0xe1a2ef of _0x5c2e3e){const _0x2e5a8c=_0x162ea4['getRevision'](_0xe1a2ef['id']);if(_0x2e5a8c){if((_0xe1a2ef['fromVersion']||_0xe1a2ef['toVersion'])&&(_0xe1a2ef['diffData']=null),_0x2e5a8c===this['_revisionTracker']['currentRevision']){const _0xf90c8d=Math['max'](_0x2e5a8c['toVersion'],_0xe1a2ef['toVersion']),_0x3048bb=Math['max'](_0x2e5a8c['fromVersion'],_0xe1a2ef['fromVersion']);let _0x104cc4;_0x2e5a8c['toVersion']===_0xe1a2ef['toVersion']&&_0x2e5a8c['fromVersion']===_0xe1a2ef['fromVersion']?(_0x104cc4=!0x0,this['_preventResendingRevisionData'](_0xe1a2ef)):_0xe1a2ef['toVersion']===_0xf90c8d&&_0xe1a2ef['fromVersion']===_0x3048bb?_0x104cc4=!0x1:(_0x2e5a8c['toVersion']===_0xf90c8d&&_0x2e5a8c['fromVersion']===_0x3048bb||this['_fixRevision']({'revision':_0x2e5a8c,'from':_0x3048bb,'to':_0xf90c8d}),_0x104cc4=!0x0),_0x104cc4&&(delete _0xe1a2ef['fromVersion'],delete _0xe1a2ef['toVersion'],delete _0xe1a2ef['diffData'],delete _0xe1a2ef['createdAt'],delete _0xe1a2ef['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xe1a2ef),this['_preventResendingRevisionData'](_0xe1a2ef);}else this['_revisionTracker']['addRevisionData'](_0xe1a2ef);}const _0x1de591=_0x162ea4['getRevisions']();_0x1de591['reverse']();for(let _0xb6e20a=0x0;_0xb6e20a<_0x1de591['length']-0x1;_0xb6e20a++){const _0x1173b0=_0x1de591[_0xb6e20a],_0x4d19d3=_0x1de591[_0xb6e20a+0x1];if(_0x1173b0['fromVersion']<_0x4d19d3['toVersion']){const _0x5cf65b=_0x4d19d3['toVersion'],_0xa43076=Math['max'](_0x5cf65b,_0x1173b0['toVersion']);this['_fixRevision']({'revision':_0x1173b0,'from':_0x5cf65b,'to':_0xa43076});}}}['_fixRevision']({revision:_0x19de22,from:_0x25ec11,to:_0x470716}={}){const _0x3755a7=this['editor']['plugins']['get'](_0x3e2273),_0x576fdd=this['_revisionTracker']['buildRevisionData']({'revision':_0x19de22,'from':_0x25ec11,'to':_0x470716});_0x576fdd['authors']=_0x576fdd['authorsIds']['map'](_0x391137=>_0x3755a7['getUser'](_0x391137)),_0x19de22['_update'](_0x576fdd);}['_preventResendingRevisionData'](_0x43189e){const _0x5dd6e2={};_0x5dd6e2['id']=_0x43189e['id'];for(const _0x45373d of Object['keys'](_0x43189e))'id'!==_0x45373d&&(_0x5dd6e2[_0x45373d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5dd6e2['id'],_0x5dd6e2,!0x0);}async['_fetchMissingUsers'](_0xf451a9){const _0xdf5a8f=this['editor']['plugins']['get'](_0x3e2273),{connection:_0x19601f}=this['editor']['plugins']['get'](n),_0x5cb420=new Set();for(const _0x2d14bd of _0xf451a9){for(const _0x5c60fa of _0x2d14bd['authorsIds'])_0x1bc9fc(_0x5c60fa);_0x2d14bd['creatorId']&&_0x1bc9fc(_0x2d14bd['creatorId']);}if(0x0===_0x5cb420['size'])return;const _0x5014ab=await lt['getMany'](_0x19601f,Array['from'](_0x5cb420));for(const _0x186955 of _0x5014ab)_0xdf5a8f['getUser'](_0x186955['id'])||_0xdf5a8f['addUser'](_0x186955);function _0x1bc9fc(_0x4014b5){_0xdf5a8f['getUser'](_0x4014b5)||_0x5cb420['add'](_0x4014b5);}}}function st(_0x4e7703){return _0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4e7703['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x5d7a9a{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x2954d9{['_collapseAt'];constructor(_0x45a885,_0x210bd4=0x6){super(_0x45a885);const _0x5c0bc4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x210bd4,this['bind']('isHidden')['to'](this,'usersCount',_0x556a4b=>_0x556a4b<_0x210bd4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5c0bc4['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x5c0bc4['to']('usersCount',_0x1c6e1c=>'+'+(_0x1c6e1c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2954d9{['items'];['keystrokes'];constructor(_0x45647c){super(_0x45647c);const _0x590575=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x20a768(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x590575['if']('hasPopup'),'aria-expanded':_0x590575['to']('isExpanded',_0x516ce1=>this['hasPopup']&&String(_0x516ce1)),'aria-label':_0x590575['to']('hasPopup',_0x2703b0=>W(_0x45647c,_0x2703b0?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x590575['to']('hasPopup',_0x20c12a=>!!_0x20c12a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x590575['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x590575['to'](_0xbe317a=>{const _0x294148=_0xbe317a,_0x4c7496=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5d2535=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4c7496?.['contains'](_0x294148['relatedTarget'])||_0x5d2535?.['contains'](_0x294148['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1a2aba,_0x34ed14,_0x3c56b8)=>{this['element']&&(_0x3c56b8?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x2954d9{['counterView'];['inlineListView'];constructor(_0xf7863a,_0x259b2e=0x6){super(_0xf7863a);const _0x47fbe2=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x259b2e),this['inlineListView']=new is(_0xf7863a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1d55a3 of this['inlineListView']['items'])_0x1d55a3['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x47fbe2['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x2954d9{['listWrapperView'];constructor(_0x271511,_0x56cac7){super(_0x271511);const _0x4df819=this['bindTemplate'];this['listWrapperView']=new pt(_0x271511,_0x56cac7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x271511,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4df819['to'](_0x196fa8=>{const _0xd9b10c=_0x196fa8,_0x1bb145=document['querySelector']('.ck-presence-list__list'),_0x20559f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1bb145?.['contains'](_0xd9b10c['relatedTarget'])||_0x20559f?.['contains'](_0xd9b10c['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x37654a{constructor(_0x1849cc,_0x4fedc0){super(_0x1849cc);const _0x631f1c=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4fedc0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x631f1c['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x631f1c['to']('role'),'aria-label':_0x631f1c['to']('ariaLabel'),'aria-labelledby':_0x631f1c['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x21ea8d['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2b0412=this['element'];_0x2b0412&&(this['_isScrollable']=Math['max'](_0x2b0412['scrollHeight'],_0x2b0412['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x2e7080,_0x596a17,_0x2b6387){super(_0x2e7080);const _0x46039d=this['bindTemplate'];this['userView']=new ct(_0x2e7080,_0x596a17);const _0x5c2514={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x596a17['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x596a17['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x596a17['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2b6387&&(_0x5c2514['tag']='button',_0x5c2514['on']={'click':_0x46039d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5c2514);}['focus'](){this['element']['focus']();}}class _ extends _0x2954d9{['userView'];['markerView'];constructor(_0x1c2792,_0x4546f6,_0x5d3a13){super(_0x1c2792);const _0x29b973=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x1c2792,_0x4546f6),this['markerView']=new at(_0x1c2792,_0x4546f6);const _0x500e0b=new ot(_0x1c2792);_0x500e0b['template']['tag']='span',_0x500e0b['text']=_0x4546f6['name'];const _0x42e6d4={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x29b973['to']('isFocusable',_0x146783=>!!_0x146783&&0x0),'aria-labelledby':_0x500e0b['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x29b973['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x29b973['to']('hasTooltip',_0x59f5b8=>!_0x59f5b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x500e0b]};_0x5d3a13&&(_0x42e6d4['tag']='button',_0x42e6d4['on']={'click':_0x29b973['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x42e6d4);}}class at extends _0x2954d9{constructor(_0x7f5549,_0x27f7ff){super(_0x7f5549),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x27f7ff['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1f2484{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x448b9b){super(_0x448b9b),this['context']['config']['define']('presenceList',U);const _0x4a01a1=_0x448b9b['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4a01a1)throw new _0x35802a('presencelist-collapseat-invalid-format',this);if(_0x4a01a1<0x1)throw new _0x35802a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c8b82(),this['balloonPanelView']=new _0x86a71d(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x79985d of this['_allConnectedUsers'])this['_handleUserAdd'](_0x79985d);this['listenTo'](this['_allConnectedUsers'],'add',(_0xd92b70,_0x122ea0)=>{this['_handleUserAdd'](_0x122ea0);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x17f8c5,_0x145786)=>{this['_handleUserRemove'](_0x145786);});}['_createView'](){const _0x4cf58f=this['context'],_0x203890=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x202d59=this['balloonPanelView'];if(!_0x48fa4b(_0x4cf58f['config']['get']('presenceList.container')))throw new _0x35802a('presencelist-missing-container',this);return _0x203890['counterView']['bind']('usersCount')['to'](this),_0x203890['bind']('isCollapsed')['to'](this,'usersCount',_0x192f21=>{const {collapseAt:_0x5ceaeb}=_0x4cf58f['config']['get']('presenceList'),_0x41b7e5=_0x192f21>=_0x5ceaeb;if(_0x41b7e5&&!_0x203890['inlineListView']['items']['find'](_0x2d425e=>_0x2d425e instanceof y)){const _0x50a626=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x50a626&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x203890['inlineListView']['items']['add'](_0x203890['counterView']);}return _0x41b7e5||this['hideDropdown'](),_0x41b7e5;}),_0x203890['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x31e5f5=>{const _0x2bd81e=_0x4cf58f['config']['get']('presenceList'),_0x27cb4a=new _(_0x4cf58f['locale'],_0x31e5f5,!!_0x2bd81e['onClick']);return _0x27cb4a['bind']('hasTooltip')['to'](_0x203890,'isCollapsed',_0x7ed8d=>!_0x7ed8d),_0x27cb4a['bind']('isFocusable')['to'](_0x203890,'isCollapsed',_0x4f2fe1=>!_0x4f2fe1),_0x2bd81e['onClick']&&this['listenTo'](_0x27cb4a,'execute',()=>{this['view']['isCollapsed']||_0x2bd81e['onClick'](_0x31e5f5,_0x27cb4a['element']);}),_0x27cb4a;}),this['listenTo'](_0x203890['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x203890['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x203890['inlineListView']['keystrokes']['set']('Enter',(_0x198318,_0x46c4e3)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x46c4e3());}),_0x203890['render'](),_0x202d59['render'](),_0x1d0768({'emitter':_0x203890,'activator':()=>_0x202d59['isVisible'],'contextElements':[_0x202d59['element'],_0x203890['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4cf58f['config']['get']('presenceList.container')['appendChild'](_0x203890['element']),this['_bodyCollection']=new _0x3ae509(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x203890;}['_handleUserAdd'](_0x32e2fe){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x32e2fe['isMe'])return;const _0x51f6c8=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x51f6c8-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4a58fb=_0x32e2fe['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x32e2fe,_0x4a58fb);}['_handleUserRemove'](_0x14162a){this['usersCount']--;const {collapseAt:_0x55ebad}=this['context']['config']['get']('presenceList'),_0x3056fb=this['usersCount']>=_0x55ebad;if(this['currentDisplayedUsers']['get'](_0x14162a['id']))this['currentDisplayedUsers']['remove'](_0x14162a['id']);else{if(_0x3056fb&&this['currentDisplayedUsers']['length']+0x1===_0x55ebad-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3056fb?0x1:0x0)<this['usersCount']){for(const _0x3e50a3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3e50a3['id'])&&(this['currentDisplayedUsers']['add'](_0x3e50a3,Math['min'](this['currentDisplayedUsers']['length']-(_0x3056fb?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3056fb?0x1:0x0)===_0x55ebad-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x7a0dfd=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x7a0dfd['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5e6b92}=this['presenceDropdownView'];_0x5e6b92['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1ab9c9=>{if(!_0x7a0dfd['displayMe']&&_0x1ab9c9['isMe'])return null;const _0x371d43=new P(this['context']['locale'],_0x1ab9c9,!!_0x7a0dfd['onClick']);return _0x7a0dfd['onClick']&&this['listenTo'](_0x371d43,'execute',()=>{_0x7a0dfd['onClick'](_0x1ab9c9,_0x371d43['element']);}),_0x371d43;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5e6b92['focus'](),_0x5e6b92['checkIfScrollable']();const _0x65f49c=(_0x5b9b47,_0x48c01e)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x48c01e();};_0x5e6b92['keystrokes']['set']('Esc',_0x65f49c),_0x5e6b92['keystrokes']['set']('Shift+Tab',_0x65f49c),_0x5e6b92['keystrokes']['set']('Tab',(_0x69f325,_0x22ba8b)=>{!function(_0x356639){const _0x812dbc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x402376=>_0x402376+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xb5b7f2=[...document['body']['querySelectorAll'](_0x812dbc)]['filter'](_0x531211=>_0x531211===document['activeElement']||_0x531211['offsetWidth']+_0x531211['offsetHeight']>0x0)['sort']((_0x49aeeb,_0x27c8cc)=>(_0x49aeeb['tabIndex']||0x0)-(_0x27c8cc['tabIndex']||0x0)),_0x253ace=_0xb5b7f2['indexOf'](_0x356639),_0x2ef31e=_0xb5b7f2[(_0x253ace+0x1)%_0xb5b7f2['length']];_0x2ef31e&&_0x2ef31e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x22ba8b();}),_0x5e6b92['focusTracker']['add'](this['view']['element']),_0x5e6b92['focusTracker']['on']('change:isFocused',(_0x333d4d,_0x57100a,_0x45360b)=>{_0x45360b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x1f2484{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x4c249c,Plugin as _0x4f787e,PendingActions as _0x1d653d,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x33542b,CKEditorError as _0x1eae7a,Collection as _0x3e0019,global as _0x54019e,version as at,uid as _0x510e6b,KeystrokeHandler as _0x5fd0a}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4490d8,View as _0x25c62f,ListView as _0x48ce87,ListItemView as st,LabelView as it,BalloonPanelView as _0x36d5d9,clickOutsideHandler as _0x5c002c,BodyCollection as _0x5d787f}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x295c9e,History as _0x3775ce,NoOperation as _0x1f2b17,InsertOperation as _0x2b998f,MarkerOperation as _0x4f333c,RootAttributeOperation as _0x16d8a2,transformOperationSets as _0x3d32e8,OperationFactory as _0x178468}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as _0x52c1ac,CollaborativeEditingService as _0x18041f,User as lt,CommentsService as et,TrackChangesService as _0x5386cf,RevisionHistoryService as _0xd59705,EditorService as _0x26af7d}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x176ee1,UserView as rt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x45edb8}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2f0fba}from'es-toolkit/compat';class n extends _0x4c249c{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4490d8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x111460){super(_0x111460),this['set']('state',_0x52c1ac['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x33542b())();}['init'](){const _0x364c1d=this['context'],_0x15182a=_0x364c1d['plugins']['get']('CloudServices'),_0x39ee4b=_0x364c1d['plugins']['get'](_0x4490d8);if(!_0x15182a['token'])throw new _0x1eae7a('websocketgateway-missing-token',this);if(!_0x15182a['webSocketUrl'])throw new _0x1eae7a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x15182a['token'],_0x15182a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5c15d7=>{if(this['connection']=_0x5c15d7,this['bind']('state')['to'](_0x5c15d7,'state',this,'_isBrowserOffline',(_0x1afbad,_0x3d5c8b)=>('connected'!==_0x1afbad&&(this['_shouldPluginsReconnect']=!0x0),_0x3d5c8b||_0x1afbad!==_0x52c1ac['CONNECTED']?_0x52c1ac['DISCONNECTED']:this['state']==_0x52c1ac['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x52c1ac['CONNECTING']):_0x52c1ac['CONNECTED'])),this['connection']['on']('error',(_0x5d3821,_0x5d40bb)=>{if('limitExceeded'!==_0x5d40bb['code'])throw console['error'](_0x5d40bb),new _0x1eae7a('cloudservices-init',null,{'originalError':_0x5d40bb});_0x39ee4b['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x5c15d7['me'])return new Promise(_0x491a4f=>_0x5c15d7['on']('change:me',_0x491a4f));})['catch'](_0x40d7b0=>{throw console['error'](_0x40d7b0),new _0x1eae7a('cloudservices-init',null,{'originalError':_0x40d7b0});});}['addToReconnectionStack'](_0x5c55ae){if('function'!=typeof _0x5c55ae['reconnect'])throw new _0x1eae7a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5c55ae))throw new _0x1eae7a('websocketgateway-plugin-already-registered',this,{'name':_0x5c55ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5c55ae);}['removeFromReconnectionStack'](_0x1befd1){this['_reconnectionStack']['delete'](_0x1befd1);}['isInReconnectionStack'](_0x163aad){return this['_reconnectionStack']['has'](_0x163aad);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x84416b=>_0x84416b['reconnect']())))['then'](()=>this['state']=_0x52c1ac['CONNECTED'])['catch'](_0x1ccb7e=>{throw console['error'](_0x1ccb7e),new _0x1eae7a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x52c1ac['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4c249c{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x176ee1];}constructor(_0x382aee){super(_0x382aee),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3e0019(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x176ee1);}['init'](){const _0x351e4a=this['context']['plugins']['get'](n);this['listenTo'](_0x351e4a,'change:state',(_0x1b78bc,_0x8b4ed,_0x352ae9)=>{if('connected'!==_0x352ae9)this['channelSessions']['forEach'](_0x4c95dc=>_0x4c95dc['clear']()),this['channelConnectedUsers']['forEach'](_0x3ff922=>_0x3ff922['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4abc37,_0x14eb08]of this['_registeredSessions'])for(const _0x25758c of _0x14eb08)this['_handleSessionAdd'](_0x4abc37,_0x25758c);}}),this['_createUser'](_0x351e4a['connection']['me'],!0x0);}['register'](_0x365e7b,_0x34ace3){if(this['_registeredSessions']['has'](_0x365e7b))throw new _0x1eae7a('sessions-register-already-registered',null,{'channelId':_0x365e7b});this['_registeredSessions']['set'](_0x365e7b,_0x34ace3),this['channelSessions']['set'](_0x365e7b,new _0x3e0019()),this['channelConnectedUsers']['set'](_0x365e7b,new _0x3e0019()),this['listenTo'](_0x34ace3,'add',(_0x1e7a55,_0x6f4e30)=>this['_handleSessionAdd'](_0x365e7b,_0x6f4e30)),this['listenTo'](_0x34ace3,'remove',(_0x27dfd8,_0x1092d4)=>this['_handleSessionRemove'](_0x365e7b,_0x1092d4));for(const _0x51b746 of _0x34ace3)this['_handleSessionAdd'](_0x365e7b,_0x51b746);}['unregister'](_0x235f07){if(!this['_registeredSessions']['has'](_0x235f07))throw new _0x1eae7a('sessions-unregister-not-exist',null,{'channelId':_0x235f07});const _0x5b9304=this['_registeredSessions']['get'](_0x235f07);this['stopListening'](_0x5b9304);for(const _0x1cb858 of _0x5b9304)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x235f07,_0x1cb858);this['_registeredSessions']['delete'](_0x235f07),this['channelSessions']['delete'](_0x235f07),this['channelConnectedUsers']['delete'](_0x235f07);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x17fdae){for(const _0x6a2b68 of this['channelSessions']['values']())for(const _0x175947 of _0x6a2b68)if(_0x175947['id']===_0x17fdae)return _0x175947['user'];}['getUserSessions'](_0x5d83c7,_0xa1bd02){const _0x4d649f=_0xa1bd02?[this['channelSessions']['get'](_0xa1bd02)]:this['channelSessions']['values'](),_0x7df868=new Set();for(const _0x546376 of _0x4d649f)for(const _0x125450 of _0x546376)_0x125450['user']['id']===_0x5d83c7['id']&&_0x7df868['add'](_0x125450['id']);return _0x7df868;}['getUserRole'](_0x57bebd){for(const _0x3b1be2 of this['channelSessions']['values']())for(const _0x2a11df of _0x3b1be2)if(_0x2a11df['user']===_0x57bebd)return _0x2a11df['role'];}['_handleSessionAdd'](_0x35c969,_0x200d91){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x322749=_0x200d91['user'],_0x3d5c1d=this['_users']['getUser'](_0x322749['id'])||this['_createUser'](_0x322749),_0x3393bc=Object['assign']({},_0x200d91,{'user':_0x3d5c1d});if(this['channelSessions']['get'](_0x35c969)['add'](_0x3393bc),!_0x322749['hiddenInPresenceList']){const _0x23c6fa=this['channelConnectedUsers']['get'](_0x35c969);_0x23c6fa['has'](_0x3d5c1d['id'])||_0x23c6fa['add'](_0x3d5c1d),this['allConnectedUsers']['has'](_0x3d5c1d['id'])||_0x322749['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x3d5c1d,_0x3d5c1d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x35c969,{'channelId':_0x35c969,'session':_0x3393bc});}['_handleSessionRemove'](_0x75ad80,_0x16376d){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xa62a47=this['channelConnectedUsers']['get'](_0x75ad80),_0x1f4869=_0x16376d['user'];_0x1f4869['id']&&(this['channelSessions']['get'](_0x75ad80)['remove'](_0x16376d['id']),_0xa62a47['has'](_0x1f4869['id'])&&!this['getUserSessions'](_0x1f4869,_0x75ad80)['size']&&_0xa62a47['remove'](_0x1f4869['id']),this['allConnectedUsers']['get'](_0x1f4869['id'])&&!this['getUserSessions'](_0x1f4869)['size']&&this['allConnectedUsers']['remove'](_0x1f4869['id']));}['_createUser'](_0x3f6ba4,_0x271842){const _0x3bc841=this['_users']['addUser'](_0x3f6ba4);return _0x271842&&this['_users']['defineMe'](_0x3f6ba4['id']),_0x3bc841['orderNumber']=this['_uniqueUsersCount']++,_0x3bc841;}}class W extends _0x4f787e{['_domEmitter']=new(_0x33542b())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x54968f=this['editor'],_0x34e267=_0x54968f['plugins']['get'](i);_0x54968f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x460518,{writer:_0x116360})=>function(_0x9c5f55,_0x575063,_0x189b17,_0x392a43){const _0x4d16fa=_0x9c5f55['markerName']['split'](':')[0x2],_0x3f869a=_0x189b17['getUserBySessionId'](_0x4d16fa);if(!_0x3f869a||_0x4d16fa===_0x189b17['mySessionId'])return;if(!_0x392a43['model']['schema']['checkChild'](_0x9c5f55['markerRange']['start'],'$text'))return;const _0x1614cd={'class':'ck-user__marker\x20'+_0x3f869a['color']['getMarkerClass'](),'data-name':_0x3f869a['name'],'data-session-id':_0x4d16fa},_0x9939a9=_0x392a43['model']['markers']['get'](_0x9c5f55['markerName']),_0x23be95=_0x9939a9['getStart'](),_0x399313=_0x23be95['nodeAfter'],_0x5d58cb=_0x392a43['model']['schema'];if(_0x399313&&_0x5d58cb['isObject'](_0x399313)&&_0x5d58cb['isInline'](_0x399313)&&!_0x392a43['model']['markers']['get']('user:range:'+_0x4d16fa)['getRange']()['isCollapsed'])return;const _0x3a2373=_0x23be95['parent'];return _0x392a43['model']['schema']['isLimit'](_0x3a2373)&&!_0x392a43['model']['hasContent'](_0x3a2373)&&(_0x1614cd['contenteditable']=!0x1),function(_0x5ea97e,_0xbdbb50,_0x2ab490){const _0x47b90e=_0x5ea97e['createUIElement']('span',_0xbdbb50);return _0x5ea97e['setCustomProperty']('userPositionMarker',!0x0,_0x47b90e),_0x47b90e['render']=function(_0x50d86e){const _0x3c8b96=this['toDomElement'](_0x50d86e),_0xa85beb=document['createElement']('span');return _0xa85beb['classList']['add']('ck-user__marker-tooltip'),_0xa85beb['setAttribute']('contenteditable','false'),_0xa85beb['setAttribute']('spellcheck','false'),_0xa85beb['textContent']=_0x2ab490['name'],_0x3c8b96['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xa85beb['outerHTML']+'⁠',_0x3c8b96['addEventListener']('mouseenter',()=>{_0x3c8b96['classList']['add']('ck-user__marker_hovered');}),_0x3c8b96['addEventListener']('mouseleave',()=>{_0x3c8b96['classList']['remove']('ck-user__marker_hovered');}),_0x3c8b96;},_0x47b90e['isSimilar']=function(_0x4fba18){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4fba18['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4fba18['getAttribute']('data-session-id'));},_0x47b90e;}(_0x575063,_0x1614cd,_0x3f869a);}(_0x460518,_0x116360,_0x34e267,_0x54968f)}),_0x54968f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0xf2fba8=>function(_0x5c69eb,_0x481206){const _0x344c49=_0x5c69eb['markerName']['split'](':')[0x2];if(_0x344c49===_0x481206['mySessionId'])return null;const _0x1765c9=_0x481206['getUserBySessionId'](_0x344c49);if(!_0x1765c9)return{'id':_0x344c49,'classes':[]};return{'id':_0x344c49,'classes':['ck-user__selection',_0x1765c9['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x344c49},'priority':0x7d0+_0x1765c9['orderNumber']};}(_0xf2fba8,_0x34e267)}),function(_0x546626){const _0x520182=_0x546626['model'],_0x1f0810=new Map(),_0x39407c=_0x546626['plugins']['get'](i);_0x520182['markers']['on']('update:user:range',(_0x519764,_0x24b1b0,_0x253c5a,_0x4577c4)=>{if(!_0x4577c4&&_0x1f0810['get'](_0x24b1b0['name']))return _0x1f0810['get'](_0x24b1b0['name'])['detach'](),void _0x1f0810['delete'](_0x24b1b0['name']);const _0x309bec=_0x24b1b0['name']['split'](':')[0x2];if(_0x309bec===_0x39407c['mySessionId'])return;const _0xa78b12='user:position:'+_0x309bec;_0x520182['markers']['has'](_0xa78b12)&&_0x546626['editing']['reconvertMarker'](_0xa78b12),_0x24b1b0['on']('change:range',(_0x22134a,_0x28c780,_0x56dda1)=>{if('$graveyard'!=_0x28c780['root']['rootName']&&'$graveyard'==_0x24b1b0['getRange']()['root']['rootName']&&!_0x1f0810['has'](_0x24b1b0['name'])){const _0x512e78=_0x520182['schema']['getNearestSelectionRange'](_0x56dda1['deletionPosition']);if(_0x512e78){const _0x48cc7e=_0x295c9e['fromRange'](_0x512e78);_0x1f0810['set'](_0x24b1b0['name'],_0x48cc7e),_0x48cc7e['on']('change:range',(_0x50628f,_0xa35b2e,_0x5e8c70)=>{if('$graveyard'==_0x48cc7e['root']['rootName']){const _0x589239=_0x520182['schema']['getNearestSelectionRange'](_0x5e8c70['deletionPosition']);_0x589239?(_0x48cc7e['start']=_0x589239['start'],_0x48cc7e['end']=_0x589239['end']):(_0x1f0810['delete'](_0x24b1b0['name']),_0x48cc7e['detach']());}});}}});}),_0x520182['document']['on']('change',()=>{_0x1f0810['size']>0x0&&_0x520182['enqueueChange']({'isUndoable':!0x1},_0x359dec=>{for(const [_0x5ada41,_0x351041]of _0x1f0810)'$graveyard'==_0x520182['markers']['get'](_0x5ada41)['getRange']()['root']['rootName']&&(ee(_0x5ada41['split'](':')[0x2],_0x351041['toRange'](),_0x520182,_0x359dec),_0x351041['detach']());_0x1f0810['clear']();});});}(_0x54968f),this['_domEmitter']['listenTo'](_0x54019e['document'],'keydown',(_0x27c52f,{key:_0x94f7ea})=>{'Escape'===_0x94f7ea&&function(_0xf711c0){_0xf711c0['editing']['view']['change'](_0x9afc20=>{for(const _0x416d55 of _0xf711c0['model']['markers']){if(!_0x416d55['name']['startsWith']('user:position'))continue;const _0x523780=_0xf711c0['editing']['mapper']['markerNameToElements'](_0x416d55['name']);if(_0x523780){for(const _0x1c31a4 of _0x523780)_0x9afc20['removeClass']('ck-user__marker_hovered',_0x1c31a4);}}});}(_0x54968f);},{'useCapture':!0x0});}['afterInit'](){const _0x476d52=this['editor'],_0x43aea4=_0x476d52['commands']['get']('undo');_0x43aea4&&_0x476d52['model']['on']('applyOperation',(_0x4d0bbb,_0x54ec30)=>{const _0x599231=_0x54ec30[0x0];if(!_0x599231['isDocumentOperation'])return;if('marker'!=_0x599231['type']||!_0x599231['name']['startsWith']('user:'))return;const _0x29fd92=_0x599231['batch'];_0x43aea4['_createdBatches']['has'](_0x29fd92)&&(_0x599231['newRange']=_0x599231['oldRange']?_0x476d52['model']['createRange'](_0x599231['oldRange']['start'],_0x599231['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x32efdc=this['editor'],_0x3d4cb3=_0x32efdc['model']['document'],_0x2b753e=_0x32efdc['plugins']['get'](i);_0x32efdc['model']['enqueueChange']({'isUndoable':!0x1},_0x354d5f=>{const _0x561530='user:range:'+_0x2b753e['mySessionId'],_0x1e639b='user:position:'+_0x2b753e['mySessionId'],_0x1f525b=_0x32efdc['model']['markers']['has'](_0x561530);_0x32efdc['editing']['view']['hasDomSelection']?ee(_0x2b753e['mySessionId'],_0x3d4cb3['selection']['getFirstRange'](),_0x32efdc['model'],_0x354d5f):_0x1f525b&&(_0x354d5f['removeMarker'](_0x561530),_0x354d5f['removeMarker'](_0x1e639b));});}}function ee(_0x20b0a4,_0x1e7af2,_0x15da68,_0x3cc662){const _0x452555='user:range:'+_0x20b0a4,_0x11b098='user:position:'+_0x20b0a4,_0x503dc7=_0x1e7af2['getContainedElement']();let _0x1b3090=_0x1e7af2['start'];if(_0x503dc7&&_0x503dc7['is']('element','tableCell')){const _0x43d8d1=function(_0x2234d5,_0x8b6fab){for(const _0x16a1d7 of _0x2234d5['getPositions']())if(_0x8b6fab['schema']['checkChild'](_0x16a1d7,'$text'))return _0x16a1d7;}(_0x1e7af2,_0x15da68);_0x43d8d1&&(_0x1b3090=_0x43d8d1,_0x1e7af2=_0x3cc662['createRange'](_0x1b3090));}const _0x41421b=_0x3cc662['createRange'](_0x1b3090);_0x15da68['markers']['has'](_0x452555)?(_0x3cc662['updateMarker'](_0x452555,{'range':_0x1e7af2}),_0x3cc662['updateMarker'](_0x11b098,{'range':_0x41421b})):(_0x3cc662['addMarker'](_0x452555,{'range':_0x1e7af2,'usingOperation':!0x0}),_0x3cc662['addMarker'](_0x11b098,{'range':_0x41421b,'usingOperation':!0x0}));}function F(_0x3b4722,_0x3573e5,_0x40a67b){const _0x55f1d2=_0x3b4722['t'],t=_0x3b4722['t'];switch(_0x3573e5){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x55f1d2({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x40a67b);default:return'';}}let $=0x1;class l extends _0x4f787e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x18041f)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x1d653d,_0x176ee1,_0x4490d8];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x29210a=this['serverHistory']['getOperations']();for(let _0xa0e9bf=_0x29210a['length']-0x1;_0xa0e9bf>=0x0;_0xa0e9bf--){const _0x5abbc7=_0x29210a[_0xa0e9bf];if(!this['_disconnectionOperations']['has'](_0x5abbc7))return _0x5abbc7['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xdd2e8){if(super(_0xdd2e8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3775ce(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1eae7a('collaboration-missing-channelid',this);const _0x16f5dd=_0xdd2e8['config']['get']('cloudServices.bundleVersion')||at;this['_service']=new l['CollaborativeEditingService'](_0x16f5dd,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x45edb8(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new Q(this['_disconnectionOperations']);}['init'](){const _0x5b2913=this['editor'],_0x219a49=_0x5b2913['plugins']['get'](_0x176ee1),_0x3ed1a3=_0x5b2913['plugins']['get'](n);this['listenTo'](_0x219a49,'getOperationAuthor',(_0x43bb28,_0x391d99)=>{const _0x534c1e=_0x391d99[0x0];_0x534c1e['_authorId']&&(_0x43bb28['return']=_0x219a49['getUser'](_0x534c1e['_authorId']),_0x43bb28['stop']()),null===_0x534c1e['_authorId']&&(_0x43bb28['return']=null,_0x43bb28['stop']());},{'priority':'high'}),this['listenTo'](_0x5b2913['model']['document']['selection'],'change:range',(_0x5dc979,_0x25c20d)=>{_0x25c20d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5b2913['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5b2913['model']['on']('applyOperation',(_0x12cc28,_0x520b30)=>{const _0x586965=_0x520b30[0x0];_0x586965['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x586965),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3ed1a3,'state',this,'_hasSynchronizationProblem',(_0x36ae0a,_0x3e5913)=>'connected'===_0x36ae0a&&!_0x3e5913),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5b2913['disableReadOnlyMode']('rtc-offline'):_0x5b2913['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5b2913['disableReadOnlyMode']('rtc-offline'):_0x5b2913['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3f21d1=this['editor']['plugins']['get'](i),_0x384315=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x3f21d1['unregister'](this['_channelId']);const _0x6f9dde=await this['_service']['reconnect'](_0x384315['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x6f9dde)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22845b=await this['_service']['getConnectedSessions']();_0x3f21d1['register'](this['_channelId'],_0x22845b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x89a42d){if(function(_0x480875){return'404'===_0x480875['code'];}(_0x89a42d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0xcdcbe4){return'409'===_0xcdcbe4['code'];}(_0x89a42d)){const _0x5d089c=F(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x5d089c);}else{if(!(_0x89a42d instanceof K))throw _0x89a42d;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5b3b9a=this['editor']['plugins']['get'](n),_0x1df938=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1df938['channelSessions']['has'](this['_channelId'])&&_0x1df938['unregister'](this['_channelId']),_0x5b3b9a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x13d373){if(this['sessionId']!==_0x13d373['sessionId']&&this['_lastSyncedOperationId']!==_0x13d373['lastOperationId'])throw new K();return this['sessionId']=_0x13d373['sessionId'],this['_handleServerResponse']([],{..._0x13d373,'wereChangesApplied':!0x1,'data':_0x13d373['data']},'reconnect');}async['_connectService'](_0x192618,_0x35773e=!0x1){const {connection:_0x55b5cd}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x55b5cd,this['_channelId'])['then'](_0xc96b2e=>this['_initSessionsHandling'](_0xc96b2e))['catch'](_0x555790=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x555790);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x207022,_0x8cccbf)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x8cccbf);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x1a0d1e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x192618);this['_isPendingUpdate']=!0x0;const _0x2b9ef9=await this['_service']['connect'](_0x55b5cd,this['_compressOperations'](_0x192618),_0x1a0d1e);if(this['sessionId']=_0x2b9ef9['sessionId'],_0x35773e){if(!_0x2b9ef9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b9ef9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x192618,_0x2b9ef9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b9ef9,_0x192618);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5da838=this['editor']['plugins']['get'](i),_0xe507b0=this['editor']['plugins']['get'](W),_0xd02515=_0x5da838['channelSessions']['get'](this['_channelId']);_0xd02515&&_0xd02515['length']>0x1?_0xe507b0['createUserMarkerOperations']():this['listenTo'](_0x5da838,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5da838['channelSessions']['get'](this['_channelId'])['length']&&_0xe507b0['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x32327c,_0x4f07ad,_0x2873b1,_0x51fe74){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4f07ad){const _0x5df948=this['_decompressOperations'](_0x2873b1,_0x51fe74);await this['_fetchMissingUsers'](_0x5df948),this['_handleExternalOperations'](_0x5df948,_0x4f07ad,_0x2873b1['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x53245f}=this['editor'];let _0x3dbf63;try{_0x3dbf63=await this['_service']['getDocumentDetails']();}catch{const _0x474178=F(_0x53245f,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x474178);}const _0x28707f=_0x3dbf63['currentDocumentSession']||_0x3dbf63['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x28707f['lastOperationId']){const _0x63126a=F(_0x53245f,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x63126a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x367ce8){const _0x5b0847=this['editor']['plugins']['get'](i);this['listenTo'](_0x5b0847,'sessionAdd:'+this['_channelId'],(_0x196f85,{session:_0x52dd4c})=>{if(_0x52dd4c['id']===_0x5b0847['mySessionId']){_0x196f85['off']();const _0x5403bc=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4bdb14=_0x52dd4c['permissions'];_0x5403bc&&_0x5403bc['isEnabled']&&(_0x4bdb14=_0x4bdb14['filter'](_0x25d059=>'document:write'!==_0x25d059)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4bdb14,this['_channelId']);}}),_0x5b0847['register'](this['_channelId'],_0x367ce8);}['_initThrowingOnDataSet'](){const _0x467339=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x304a93)=>{if(!_0x304a93[_0x304a93['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1eae7a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x467339['apply'](this['editor']['data'],_0x304a93);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x46d7ac,[_0x5d4565])=>{if(this['_document']['version'])throw new _0x1eae7a('realtimecollaborationclient-init-document-already-initialized',this);_0x46d7ac['stop'](),this['_setPendingAction']();const _0x4283b9=this['editor']['config']['get']('rootsAttributes'),_0xd8fd2d=this['_getOperationsFromInitData'](_0x5d4565,_0x4283b9);0x0==_0xd8fd2d['length']&&_0xd8fd2d['push'](new _0x1f2b17(0x0)),_0x46d7ac['return']=this['_connectService'](_0xd8fd2d)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4f77a=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4f77a))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4c7543,[_0x584abd,_0x24c68a])=>{_0x4c7543['stop']();const _0x3a6d72=this['editor']['model']['document']['getRoot'](_0x584abd);if(!this['_knownRootNames']['has'](_0x584abd)){const _0x718d20=_0x24c68a&&_0x24c68a['data']?_0x24c68a['data']:'',_0x1056aa=_0x24c68a&&_0x24c68a['attributes']?_0x24c68a['attributes']:{};await this['_loadRoot'](_0x584abd,_0x718d20,_0x1056aa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3a6d72['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3a6d72);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x57e3f2){const _0x2674b5=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x38f220}=this['editor']['plugins']['get'](n),_0x37a921=new Set();for(const _0x17e23 of _0x57e3f2){const _0x28771c=_0x17e23['_authorId'];_0x28771c&&!_0x2674b5['getUser'](_0x28771c)&&_0x37a921['add'](_0x28771c);}if(0x0===_0x37a921['size'])return;const _0x33f2ff=await lt['getMany'](_0x38f220,Array['from'](_0x37a921));for(const _0x441aa2 of _0x33f2ff)_0x2674b5['getUser'](_0x441aa2['id'])||_0x2674b5['addUser'](_0x441aa2);}['_getOperationsFromInitData'](_0x879927,_0x2b8220={}){const _0x92664f=this['editor']['model'],_0x4ceb2b=[];let _0x12b228=0x0;const _0x3d1df6='string'==typeof _0x879927?{'main':_0x879927}:_0x879927;for(const _0x15c671 of Object['keys'](_0x3d1df6)){if(!this['_document']['roots']['has'](_0x15c671))throw new _0x1eae7a('realtimecollaborationclient-init-non-existent-root',this);const _0x2afff8=this['editor']['data']['parse'](_0x3d1df6[_0x15c671]),_0x270f21=this['_document']['getRoot'](_0x15c671),_0x4b1f1d=new _0x2b998f(_0x92664f['createPositionAt'](_0x270f21,0x0),_0x2afff8,_0x12b228++);_0x4ceb2b['push'](_0x4b1f1d);for(const [_0x4f6dba,_0x2dd379]of _0x2afff8['markers']){const _0x49a3d5=_0x92664f['createRange'](_0x92664f['createPositionFromPath'](_0x270f21,_0x2dd379['start']['path']['slice']()),_0x92664f['createPositionFromPath'](_0x270f21,_0x2dd379['end']['path']['slice']())),_0x591d99=new _0x4f333c(_0x4f6dba,null,_0x49a3d5,_0x92664f['markers'],!0x0,_0x12b228++);_0x4ceb2b['push'](_0x591d99);}}if(_0x2b8220)for(const [_0x293f33,_0x13cc7a]of Object['entries'](_0x2b8220)){const _0x41a288=_0x92664f['document']['getRoot'](_0x293f33);if(!_0x41a288)throw new _0x1eae7a('multi-root-editor-root-attributes-no-root',null);for(const [_0xa46b6b,_0x5b61b8]of Object['entries'](_0x13cc7a))if(null!==_0x5b61b8){const _0x5a7831=new _0x16d8a2(_0x41a288,_0xa46b6b,null,_0x5b61b8,_0x12b228++);_0x4ceb2b['push'](_0x5a7831);}}return _0x4ceb2b;}async['_loadRoot'](_0x30d13d,_0x31f81f,_0x46d89a){this['_getOperationsFromInitData']({[_0x30d13d]:_0x31f81f},{[_0x30d13d]:_0x46d89a})['forEach']((_0x3b9a5f,_0x358f6a)=>{_0x3b9a5f['baseVersion']=this['_document']['version']+_0x358f6a,_0x3b9a5f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3b9a5f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x59a440,_0x4b3131){let _0x5bc146;this['_offset']=_0x59a440['offset'];const _0x46fd4a=_0x59a440['wereChangesApplied']&&!_0x59a440['initData'],_0x160727=_0x46fd4a?0x0:_0x59a440['data']['baseVersion'];if(_0x4b3131['forEach'](_0x339339=>{_0x339339['_isInit']=!0x0,_0x339339['createdAt']=_0x59a440['sessionCreatedAt'],_0x339339['_authorId']=null;}),_0x46fd4a)_0x5bc146=_0x4b3131,this['_applyOperationsSet'](_0x5bc146,_0x46fd4a);else{if(_0x59a440['initData']){const _0x189664=this['_getOperationsFromInitData'](_0x59a440['initData']);this['_document']['history']['version']=-_0x189664['length'],_0x189664['forEach'](_0x57c8cd=>{_0x57c8cd['baseVersion']-=_0x189664['length'],_0x57c8cd['createdAt']=_0x59a440['sessionCreatedAt'],_0x57c8cd['_isInit']=!0x0,_0x57c8cd['_authorId']=null;}),this['_applyOperationsSet'](_0x189664,!0x0),this['serverHistory']['version']=-_0x189664['length']+this['_offset'],this['_updateServerHistory'](_0x189664);}this['_document']['history']['version']=_0x160727,_0x5bc146=this['_decompressOperations'](_0x59a440['data'],_0x59a440['metadata']),await this['_fetchMissingUsers'](_0x5bc146),this['_applyOperationsSet'](_0x5bc146,_0x46fd4a);}_0x59a440['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5bc146,_0x59a440['lastOperationId']),this['_lastSyncedOperationId']=_0x59a440['lastOperationId']),this['serverHistory']['version']=_0x160727+this['_offset'],this['_updateServerHistory'](_0x5bc146),_0x4b3131['filter'](_0x3e91f0=>{const _0x44c8f9=this['_getAffectedRoot'](_0x3e91f0);return _0x44c8f9&&!this['_knownRootNames']['has'](_0x44c8f9);})['forEach']((_0x3f515d,_0xb6361a)=>{_0x3f515d['baseVersion']=this['_document']['version']+_0xb6361a,this['_saveOperationInBuffer'](_0x3f515d);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xddf8a8,_0xfd3afa){const _0x4d007c=_0xfd3afa&&_0xfd3afa['message'];if(_0x4d007c&&_0x4d007c['startsWith']('realtimecollaborationclient'))throw _0xfd3afa;const _0xdbaf84=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0xdbaf84['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1eae7a(_0xddf8a8,this['editor'],_0x4d007c?{'originalError':_0x4d007c}:void 0x0);}['_saveOperationInBuffer'](_0x529e0e){this['_knownOperations']['has'](_0x529e0e)||(this['_knownOperations']['add'](_0x529e0e),this['_bufferedOperations']['push'](_0x529e0e),this['_pendingAction']||'marker'==_0x529e0e['type']&&!_0x529e0e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x122284=!0x1){!_0x122284&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x12485a=>{_0x12485a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x44c4c8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5b10f8){return _0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5b10f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x44c4c8)||this['_crash'](_0x44c4c8['message'],_0x44c4c8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5da56b=>{this['on']('change:_isPendingUpdate',()=>{_0x5da56b();});});}async['_sendBufferedOperations'](){const _0x23abc4=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x23abc4['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x356dfe=[...this['_bufferedOperations']];for(const _0x4f1c99 of _0x356dfe)_0x4f1c99['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4f1c99);const _0x3e0a35=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x356dfe),_0x1b6e70=$++,_0x15107f=this['_compressOperations'](_0x356dfe),_0x13abf0=await this['_service']['sendOperations'](_0x15107f,_0x15107f['baseVersion'],_0x3e0a35);try{return await this['_handleServerResponse'](_0x356dfe,_0x13abf0,_0x1b6e70);}catch(_0x336a22){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x336a22);}}async['_handleServerResponse'](_0x2e9b31,_0x5d996d,_0x3f0753){if('error'in _0x5d996d)throw _0x5d996d['error'];let _0x470c7d=!0x1;if(_0x5d996d['wereChangesApplied']){_0x5d996d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d996d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2279c5=>!_0x2e9b31['includes'](_0x2279c5));for(const _0x362936 of _0x2e9b31)_0x362936['createdAt']='lastOperationAcceptedAt'in _0x5d996d&&_0x5d996d['lastOperationAcceptedAt']||void 0x0;J(_0x2e9b31,_0x5d996d['version']-_0x2e9b31['length']),this['_updateServerHistory'](_0x2e9b31);const _0x179f14=_0x2e9b31['filter'](_0xd6052b=>{if(!_0xd6052b['_isInit'])return!0x1;const _0x389588=this['_getAffectedRoot'](_0xd6052b);return _0x389588&&!this['_knownRootNames']['has'](_0x389588);});J(_0x179f14,this['_document']['version']),this['_applyOperationsSet'](_0x179f14),_0x470c7d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x44a754=this['_decompressOperations'](_0x5d996d['data'],_0x5d996d['metadata'])['filter'](_0x5f98da=>_0x5f98da['baseVersion']>=this['_lastServerVersion']);_0x44a754['forEach'](_0x2d4554=>this['_addKnownRoot'](_0x2d4554)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4ac41f=>!_0x4ac41f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4ac41f))),this['_bufferedOperations']['length']&&J(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x44a754),_0x470c7d=this['_handleExternalOperations'](_0x44a754,_0x5d996d['version'],_0x5d996d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x470c7d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1b57e9,_0x238f18,_0x1c69ad){try{const _0x5ae6d4={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x13515b,operationsB:_0x43ace2,originalOperations:_0x48084a}=_0x3d32e8(_0x1b57e9,this['_bufferedOperations'],_0x5ae6d4);J(_0x13515b,this['_document']['version']),J(_0x43ace2,_0x238f18);for(const _0x392bcf of _0x13515b){const _0x51b3bd=_0x48084a['get'](_0x392bcf);_0x392bcf['_authorId']=_0x51b3bd?_0x51b3bd['_authorId']:null;}_0x1c69ad&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b57e9,_0x1c69ad),this['_lastSyncedOperationId']=_0x1c69ad),this['_bufferedOperations']=[..._0x43ace2],this['_applyOperationsSet'](_0x13515b),this['_updateServerHistory'](_0x1b57e9);}catch(_0xa8927e){return console['error'](_0xa8927e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1485f0,_0x5b1e4a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4f3154=>{for(const _0x280f45 of _0x1485f0)this['_knownOperations']['add'](_0x280f45),this['_addKnownRoot'](_0x280f45),_0x4f3154['batch']['addOperation'](_0x280f45),this['editor']['model']['applyOperation'](_0x280f45);});}['_addKnownRoot'](_0x260369){const _0x5077eb=this['_getAffectedRoot'](_0x260369);_0x5077eb&&this['_knownRootNames']['add'](_0x5077eb);}['_getAffectedRoot'](_0x5b880a){let _0x2b304b,_0x412da4;switch(_0x5b880a['type']){case'insert':_0x2b304b=_0x5b880a['position']['root'];break;case'marker':if(_0x412da4=_0x5b880a['newRange'],!_0x412da4)return null;_0x2b304b=_0x412da4['root'];break;case'addRootAttribute':_0x2b304b=_0x5b880a['root'];break;case'addRoot':_0x2b304b=_0x5b880a['affectedSelectable'];break;case'move':_0x2b304b=_0x5b880a['targetPosition']['root'];break;default:return null;}return _0x2b304b['rootName'];}['_updateServerHistory'](_0x28fc84){_0x28fc84['forEach'](_0x410e16=>{const _0x3a5603=_0x410e16['clone']();_0x3a5603['_authorId']=_0x410e16['_authorId'],_0x3a5603['_isInit']=!!_0x410e16['_isInit'],_0x3a5603['createdAt']=_0x410e16['createdAt'],_0x3a5603['baseVersion']+=this['_offset'],_0x410e16['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x3a5603),this['serverHistory']['addOperation'](_0x3a5603);});}['_handleReconnectionError'](_0x260f8c){const _0x2c6247=this['editor']['plugins']['get']('Notification'),_0x5e9e46=this['editor']['locale'];_0x260f8c||(_0x260f8c=F(_0x5e9e46,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x2c6247['showWarning'](_0x260f8c,{'title':F(_0x5e9e46,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x1d653d)['add'](F(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1d653d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x78dc93){const _0x3eb065=_0x78dc93['map'](_0x3f6d2e=>_0x3f6d2e['toJSON']());return this['_compressor']['compress'](_0x3eb065);}['_decompressOperations'](_0x3b92d7,_0x2665f7){return this['_compressor']['decompress'](_0x3b92d7)['map']((_0x24b8f5,_0x484d50)=>{const _0x247590='init'==_0x2665f7[_0x484d50]['type'];if('InsertOperation'==_0x24b8f5['__className']){const _0x476f6f=_0x24b8f5['position']['root'];!this['_document']['getRoot'](_0x476f6f)&&(this['_document']['createRoot']('$root',_0x476f6f)['_isAttached']=!0x1);}const _0x36b3a3=_0x178468['fromJSON'](_0x24b8f5,this['_document']);return _0x36b3a3['wasUndone']=_0x24b8f5['wasUndone'],_0x36b3a3['_isInit']=_0x247590,_0x36b3a3['_authorId']=_0x247590?null:_0x2665f7[_0x484d50]['userId'],_0x36b3a3['_isDisconnection']='cs:removeUser'===_0x2665f7[_0x484d50]['type'],_0x36b3a3['createdAt']=_0x2665f7[_0x484d50]['createdAt'],_0x36b3a3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x300ea3=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x300ea3&&_0x300ea3['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class K extends Error{}function J(_0xab018c,_0x2954d9){for(const _0x4f0938 of _0xab018c)_0x4f0938['baseVersion']=_0x2954d9++;}class Q{['_ignoredOperations'];['_operationToId'];constructor(_0xc32a7b){this['_ignoredOperations']=_0xc32a7b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x152a25){let _0x3fc6c7=_0x152a25['length'];for(;_0x3fc6c7--;){const _0x58a41e=_0x152a25[_0x3fc6c7];if(!this['_ignoredOperations']['has'](_0x58a41e)){if(!this['_operationToId']['has'](_0x58a41e)){const _0x3b78e1=_0x510e6b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x58a41e,_0x3b78e1);}return this['_operationToId']['get'](_0x58a41e);}}}['setIdForTheLastOperation'](_0x41e1fd,_0x2854a6){if(!_0x2854a6)return;let _0x5f18b4=_0x41e1fd['length'];for(;_0x5f18b4--;){const _0x40406a=_0x41e1fd[_0x5f18b4];this['_ignoredOperations']['has'](_0x40406a)||this['_operationToId']['set'](_0x40406a,_0x2854a6);}}}class a extends _0x4f787e{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4c249c{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x176ee1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x7acc95){super(_0x7acc95),this['_services']=new Map();}async['init'](){const _0x4e9a5c=this['context'],_0xdd6ccd=_0x4e9a5c['plugins']['get']('CommentsRepository');if(_0x4e9a5c['plugins']['get'](n)['addToReconnectionStack'](this),_0xdd6ccd['adapter']={'addCommentThread':async({channelId:_0x1a1029,threadId:_0x1fef69,comments:_0x519510,resolvedAt:_0x571044,resolvedBy:_0x29648a,context:_0x2cad7c,attributes:_0x52c574})=>{const _0x2a2da9=await this['_getService'](_0x1a1029)['addCommentThread']({'commentThreadId':_0x1fef69,'comments':_0x519510['map'](_0x52684c=>function(_0x251625,_0x51cda2,_0x59e5af){return{'commentThreadId':_0x59e5af,'commentId':_0x251625['commentId'],'userId':_0x251625['authorId'],'content':_0x251625['content'],'documentId':_0x51cda2,'createdAt':_0x251625['createdAt'],'attributes':_0x251625['attributes']||{}};}(_0x52684c,_0x1a1029,_0x1fef69)),'resolvedAt':_0x571044,'resolvedBy':_0x29648a,'context':_0x2cad7c,'attributes':_0x52c574})['catch'](dt);return{'threadId':_0x2a2da9['commentThreadId'],'comments':_0x2a2da9['comments']};},'getCommentThread':async({channelId:_0x27bf08,threadId:_0x28d97e})=>{const _0x7e3425=await this['_getService'](_0x27bf08)['getCommentThread'](_0x28d97e)['catch'](ot)['catch'](dt);return _0x7e3425?_0x7e3425['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x7e3425]),{'threadId':_0x7e3425['commentThreadId'],'comments':_0x7e3425['comments']['map'](nt),'context':_0x7e3425['context'],'resolvedAt':_0x7e3425['resolvedAt'],'resolvedBy':_0x7e3425['resolvedBy'],'attributes':_0x7e3425['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8061d0,threadId:_0xad3728,context:_0x32cae6,unlinkedAt:_0x1b20fc,attributes:_0x35ed38})=>this['_getService'](_0x8061d0)['updateCommentThread']({'commentThreadId':_0xad3728,'context':_0x32cae6,'attributes':_0x35ed38,'unlinkedAt':_0x1b20fc})['catch'](ot)['catch'](dt),'resolveCommentThread':async({channelId:_0x54a801,threadId:_0xca1582})=>{const _0x439bfe=await this['_getService'](_0x54a801)['resolveCommentThread'](_0xca1582)['catch'](ot)['catch'](dt);return{'threadId':_0x439bfe['commentThreadId'],'resolvedAt':_0x439bfe['resolvedAt'],'resolvedBy':_0x439bfe['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5f5089,threadId:_0x3ee42a})=>this['_getService'](_0x5f5089)['reopenCommentThread'](_0x3ee42a)['catch'](ot)['catch'](dt),'removeCommentThread':({channelId:_0x5324f0,threadId:_0x74421e})=>this['_getService'](_0x5324f0)['removeCommentThread'](_0x74421e)['catch'](ot)['catch'](dt),'addComment':({channelId:_0x785c1b,threadId:_0x1ed2e1,commentId:_0x8ffae7,content:_0x308d66,attributes:_0x35a0b2})=>this['_getService'](_0x785c1b)['addComment'](_0x1ed2e1,_0x8ffae7,_0x308d66,_0x35a0b2)['catch'](dt),'updateComment':({channelId:_0x1c05cd,threadId:_0x230cd1,commentId:_0x3cd478,content:_0x36df6b,attributes:_0x12a3b0})=>this['_getService'](_0x1c05cd)['updateComment'](_0x230cd1,_0x3cd478,_0x36df6b,_0x12a3b0)['catch'](ot)['catch'](dt),'removeComment':({channelId:_0x514887,threadId:_0x4070d4,commentId:_0x126fab})=>this['_getService'](_0x514887)['removeComment'](_0x4070d4,_0x126fab)['catch'](ot)['catch'](dt)},_0x4e9a5c instanceof tt){const _0x5cd789=_0x4e9a5c['config']['get']('collaboration.channelId'),_0x3dc054=_0x4e9a5c['plugins']['get'](i);await this['_setUpService'](_0x5cd789);const _0x2b2b11=await this['_services']['get'](_0x5cd789)['getConnectedSessions']();this['listenTo'](_0x3dc054,'sessionAdd:'+_0x5cd789,(_0x570ced,{session:_0x3a7270})=>{_0x3a7270['id']===_0x3dc054['mySessionId']&&(_0x570ced['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3a7270['permissions'],_0x5cd789));}),_0x3dc054['register'](_0x5cd789,_0x2b2b11);}}async['_setUpService'](_0x257a9e){if(this['_services']['has'](_0x257a9e))throw new _0x1eae7a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x257a9e});const _0x507d6b=this['context']['plugins']['get']('CommentsRepository'),_0x316ee6=new s['CommentsService'](_0x257a9e);this['_services']['set'](_0x257a9e,_0x316ee6),this['listenTo'](_0x316ee6,'commentThreadAdded',(_0x484784,_0x19dc69)=>{const {commentThreadId:_0x2d35c1,documentId:_0x11a013,context:_0x2c8bc6,attributes:_0x1b0ce1,resolvedAt:_0x11627a,resolvedBy:_0x4e59a5,comments:_0x25caab}=_0x19dc69;_0x507d6b['getCommentThread'](_0x2d35c1)||_0x507d6b['addCommentThread']({'threadId':_0x2d35c1,'channelId':_0x11a013,'comments':_0x25caab?_0x25caab['map'](nt):[],'context':_0x2c8bc6,'attributes':_0x1b0ce1,'resolvedAt':_0x11627a,'resolvedBy':_0x4e59a5,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadUpdated',(_0xb6d053,{commentThreadId:_0x4b29bc,documentId:_0x442768,context:_0x36719a,unlinkedAt:_0x4e91c6,attributes:_0x34a6c1})=>{_0x507d6b['getCommentThread'](_0x4b29bc)&&_0x507d6b['updateCommentThread']({'threadId':_0x4b29bc,'channelId':_0x442768,'context':_0x36719a,'unlinkedAt':_0x4e91c6,'attributes':_0x34a6c1,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadResolved',(_0x533913,{commentThreadId:_0x6991ae,resolvedBy:_0x356d7a,resolvedAt:_0xa5ec09})=>{const _0x20e600=_0x507d6b['getCommentThread'](_0x6991ae);_0x20e600&&_0x20e600['resolve']({'resolvedBy':_0x356d7a,'resolvedAt':_0xa5ec09,'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadReopened',(_0x40ca93,{commentThreadId:_0x31879f})=>{const _0x5ebe41=_0x507d6b['getCommentThread'](_0x31879f);_0x5ebe41&&_0x5ebe41['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentThreadRemoved',(_0x218801,{commentThreadId:_0x4f2a19})=>{const _0xa1a347=_0x507d6b['getCommentThread'](_0x4f2a19);_0xa1a347&&_0xa1a347['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentAdded',(_0x35738b,_0x4f87d1)=>{const _0x4bade2=_0x4f87d1['commentThreadId'],_0x58dbd7=_0x507d6b['getCommentThread'](_0x4bade2);_0x58dbd7&&_0x58dbd7['addComment']({...nt(_0x4f87d1),'isFromAdapter':!0x0});}),this['listenTo'](_0x316ee6,'commentUpdated',(_0x577868,{commentThreadId:_0x476fe1,commentId:_0x731e20,content:_0xe4aa06,attributes:_0x5070ce})=>{const _0x345833=_0x507d6b['getCommentThread'](_0x476fe1);if(_0x345833){const _0x13a101=_0x345833['getComment'](_0x731e20);_0x13a101&&_0x13a101['update']({'content':_0xe4aa06,'attributes':_0x5070ce,'isFromAdapter':!0x0});}}),this['listenTo'](_0x316ee6,'commentRemoved',(_0x519cc7,{commentThreadId:_0x491118,commentId:_0x57a2da})=>{const _0x2d2c70=_0x507d6b['getCommentThread'](_0x491118);if(_0x2d2c70){const _0x233cee=_0x2d2c70['getComment'](_0x57a2da);_0x233cee&&_0x233cee['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x257a9e);}['destroy'](){if(this['context']instanceof tt){const _0x4511d8=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4511d8);}}['_terminateService'](_0x20dfe7){if(!this['_services']['has'](_0x20dfe7))throw new _0x1eae7a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x20dfe7});this['_getService'](_0x20dfe7)['disconnect'](),this['_services']['delete'](_0x20dfe7);}async['reconnect'](){for(const _0x42b398 of this['_services']['keys']())await this['_connectService'](_0x42b398);if(this['context']instanceof tt){const _0x1985c1=this['context']['config']['get']('collaboration.channelId'),_0x3da24a=this['context']['plugins']['get'](i);_0x3da24a['unregister'](_0x1985c1);const _0x26f038=await this['_services']['get'](_0x1985c1)['getConnectedSessions']();_0x3da24a['register'](_0x1985c1,_0x26f038);}}async['_connectService'](_0x386e5f){const {connection:_0xd65b8b}=this['context']['plugins']['get'](n),_0x123d78=this['context']['plugins']['get']('CommentsRepository'),_0x39d5c0=this['_services']['get'](_0x386e5f),_0x4c248f=await _0x39d5c0['connect'](_0xd65b8b);await this['_fetchMissingUsersForThreads'](_0x4c248f);const _0xeb68f1=new Set(Array['from'](_0x123d78['getCommentThreads']({'channelId':_0x386e5f}),_0x84143f=>_0x84143f['id']));for(const _0x5d351c of _0x4c248f)_0x5d351c['deletedAt']||_0xeb68f1['delete'](_0x5d351c['commentThreadId']);for(const _0x5e6be5 of _0xeb68f1)_0x123d78['getCommentThread'](_0x5e6be5)['remove']({'isFromAdapter':!0x0});for(const _0x206bd5 of _0x4c248f){let _0xbbbb6a=_0x123d78['getCommentThread'](_0x206bd5['commentThreadId']);const {commentThreadId:_0x4a3762,context:_0x5b8c2a,attributes:_0x2845d9,resolvedBy:_0x227b3b,resolvedAt:_0x23e494,unlinkedAt:_0x1f6c12,deletedAt:_0x3179cc}=_0x206bd5;if(_0x3179cc)continue;_0xbbbb6a||(_0xbbbb6a=_0x123d78['addCommentThread']({'channelId':_0x386e5f,'threadId':_0x4a3762,'context':_0x5b8c2a,'attributes':_0x2845d9||{},'resolvedBy':_0x227b3b,'resolvedAt':_0x23e494,'unlinkedAt':_0x1f6c12,'isFromAdapter':!0x0}));const _0x32cabb=new Set(Array['from'](_0xbbbb6a['comments'],_0x35362a=>_0x35362a['id']));for(const _0x13a760 of _0x206bd5['comments'])_0x32cabb['delete'](_0x13a760['commentId']);for(const _0x1dac5b of _0x32cabb)_0xbbbb6a['getComment'](_0x1dac5b)['remove']({'isFromAdapter':!0x0});for(const _0x4aed55 of _0x206bd5['comments']){const _0x1ff43b=_0xbbbb6a['getComment'](_0x4aed55['commentId']);_0x1ff43b?_0x1ff43b['content']!==_0x4aed55['content']&&_0x1ff43b['update']({'content':_0x4aed55['content'],'isFromAdapter':!0x0}):_0xbbbb6a['addComment'](Object['assign'](nt(_0x4aed55),{'isFromAdapter':!0x0}));}}}['_getService'](_0x55a6c3){if(!this['_services']['has'](_0x55a6c3))throw new _0x1eae7a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x55a6c3});return this['_services']['get'](_0x55a6c3);}async['_fetchMissingUsersForThreads'](_0x5b1c8a){const _0x2fa03a=this['context']['plugins']['get'](_0x176ee1),{connection:_0x3a8bc4}=this['context']['plugins']['get'](n),_0x390e42=new Set();for(const {resolvedBy:_0x30e565,comments:_0x2ada54}of _0x5b1c8a){_0x30e565&&!_0x2fa03a['getUser'](_0x30e565)&&_0x390e42['add'](_0x30e565);for(const {userId:_0x4ef07e}of _0x2ada54)_0x2fa03a['getUser'](_0x4ef07e)||_0x390e42['add'](_0x4ef07e);}if(0x0===_0x390e42['size'])return;const _0x2b7c06=await lt['getMany'](_0x3a8bc4,Array['from'](_0x390e42));for(const _0x9eeba3 of _0x2b7c06)_0x2fa03a['getUser'](_0x9eeba3['id'])||_0x2fa03a['addUser'](_0x9eeba3);}}async function ot(_0x2d08b0){if('404'!==_0x2d08b0['code'])throw _0x2d08b0;}function dt(_0x4b125b){if((_0x3e75f9=_0x4b125b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3e75f9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e75f9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3e75f9;throw _0x4b125b;}function nt(_0x4ef86d){return{'threadId':_0x4ef86d['commentThreadId'],'commentId':_0x4ef86d['commentId'],'content':_0x4ef86d['content'],'createdAt':_0x4ef86d['createdAt'],'authorId':_0x4ef86d['userId'],'attributes':_0x4ef86d['attributes']||{}};}class m extends _0x4f787e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x5386cf)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x49c4c0){super(_0x49c4c0);const _0x266627=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x266627);}['init'](){const _0x2f81ac=this['editor']['plugins']['get'](n),_0x3983e3=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3983e3['adapter']={'getSuggestion':async _0x384b95=>{await this['_waitForServiceReady']();const _0x233c16=await this['_trackChangesService']['get'](_0x384b95)['catch'](T);return await this['_fetchMissingUsersForThreads']([_0x233c16]),_0x233c16;},'addSuggestion':async({id:_0x43ceca,type:_0x57fff4,data:_0x204032,originalSuggestionId:_0x348e9f,attributes:_0x17dc30})=>{await this['_waitForServiceReady']();const _0x3bd0c3={'id':_0x43ceca,'type':_0x57fff4,'data':_0x204032,'originalSuggestionId':_0x348e9f,'attributes':_0x17dc30},_0x4c7357=await this['_trackChangesService']['add'](_0x43ceca,_0x57fff4,_0x204032,_0x348e9f,_0x17dc30)['catch'](_0x30fe3d=>{if(ut(_0x30fe3d))return new Promise(_0x30b7fe=>{this['_bufferedRequests']['set'](_0x43ceca,{'resolve':_0x30b7fe,'suggestionData':_0x3bd0c3});});throw _0x30fe3d;});return this['_bufferedRequests']['delete'](_0x43ceca),_0x4c7357;},'updateSuggestion':async(_0x38aebd,_0x5df9a5)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5df9a5['state'])return this['_trackChangesService']['update'](_0x38aebd,_0x5df9a5)['catch'](T);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x416ea5,_0x320fa2)=>{_0x3983e3['hasSuggestion'](_0x320fa2['id'])&&(_0x3983e3['getSuggestion'](_0x320fa2['id'])['attributes']=_0x320fa2['attributes']);}),this['_trackChangesService']['connect'](_0x2f81ac['connection'])['then'](_0x184cab=>(_0x2f81ac['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x184cab)['then'](()=>{for(const _0x57c46c of _0x184cab){_0x3983e3['addSuggestionData'](_0x57c46c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x480622=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x8ad526}=this['editor']['plugins']['get'](n),_0x59a41b=await this['_trackChangesService']['connect'](_0x8ad526);await this['_fetchMissingUsersForThreads'](_0x59a41b);for(const {suggestionData:_0x46bec2,resolve:_0x528f35}of this['_bufferedRequests']['values']()){let _0x29e537=_0x59a41b['find'](_0x29dbea=>_0x29dbea['id']===_0x46bec2['id']);_0x29e537||(_0x29e537=await this['_trackChangesService']['add'](_0x46bec2['id'],_0x46bec2['type'],_0x46bec2['data'],_0x46bec2['originalSuggestionId'])),_0x528f35(_0x29e537);}for(const _0x1a415c of _0x59a41b)_0x480622['hasSuggestion'](_0x1a415c['id'])||_0x480622['addSuggestionData'](_0x1a415c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0xe33f16=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3fd0b3=>{_0x3fd0b3['off'](),_0xe33f16();});});}async['_fetchMissingUsersForThreads'](_0x1a20f7){const _0x29f079=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x45b3b2}=this['editor']['plugins']['get'](n),_0x2b7622=new Set();for(const {authorId:_0x49f3f7}of _0x1a20f7)_0x29f079['getUser'](_0x49f3f7)||_0x2b7622['add'](_0x49f3f7);if(0x0===_0x2b7622['size'])return;const _0x125470=await lt['getMany'](_0x45b3b2,Array['from'](_0x2b7622));for(const _0x547468 of _0x125470)_0x29f079['getUser'](_0x547468['id'])||_0x29f079['addUser'](_0x547468);}}function T(_0x321819){if(ut(_0x321819))return new Promise(()=>{});throw _0x321819;}function ut(_0x3df97d){return _0x3df97d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3df97d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4f787e{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x581e31=this['editor']['plugins']['get'](n),_0x335471=this['editor']['plugins']['get']('CommentsEditing'),_0x4be549=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x581e31,'change:state',(_0x4609c9,_0x1dbed3,_0x514eae)=>{_0x335471['isThreadsLoadingPaused']='connected'!==_0x514eae;});}),this['listenTo'](_0x581e31,'change:state',(_0x46fca3,_0x2f0617,_0x2f8fd0)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2f8fd0);}),_0x4be549['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x4f787e{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x4f787e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0xd59705)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x176ee1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ccfe1){super(_0x5ccfe1);const _0x3f1133=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3f1133);}async['init'](){const _0x23e47b=this['editor']['plugins']['get'](l),_0x139cea=_0x23e47b['serverHistory'],_0x45dc49=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x139cea,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x23e47b['sessionId']});const _0x503cb1=this['editor']['config']['get']('cloudServices.bundleVersion')||at,_0x5a0736=await _0x26af7d['isBundleUploaded'](_0x45dc49['connection'],_0x503cb1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x129203})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x129203)),'updateRevisions':async _0x3880b3=>{await this['_waitForServiceReady']();const _0xc47eec=this['_revisionTracker']['currentRevision'];if(_0x5a0736&&0x1===_0x3880b3['length']&&_0x3880b3[0x0]['id']===_0xc47eec['id'])return _0x3880b3;for(const _0x2d2fbe of _0x3880b3)_0x2d2fbe['id']===_0xc47eec['id']&&(_0x2d2fbe['isEmptyCurrent']=_0x2d2fbe['fromVersion']===_0x2d2fbe['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3880b3,this['_lastRequestId'])['then'](_0x3da43a=>(this['_lastRequestId']=_0x3da43a,_0x3880b3))['catch'](_0x2aa298=>{if(w(_0x2aa298)||'400'===_0x2aa298['code']&&void 0x0!==_0x2aa298['data']['wrongRequestId']){for(const _0x3ff1f8 of _0x3880b3){!this['_revisionTracker']['repository']['getRevision'](_0x3ff1f8['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3ff1f8['id'],_0x3ff1f8,!0x1);}if(w(_0x2aa298))throw _0x2aa298;return _0x3880b3;}throw _0x2aa298;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x36358b,{revisionsData:_0xf6163a,requestId:_0x45e4d1})=>{Math['max'](..._0xf6163a['map'](_0x18d475=>_0x18d475['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0xf6163a,_0x45e4d1);}):this['_handleRevisionsUpdate'](_0xf6163a,_0x45e4d1);});const {revisions:_0x187601,requestId:_0x406310}=await this['_revisionHistoryService']['connect'](_0x45dc49['connection']);_0x45dc49['addToReconnectionStack'](this),this['_lastRequestId']=_0x406310,await this['_fetchMissingUsers'](_0x187601);for(const _0x2b2e03 of _0x187601)this['_revisionTracker']['addRevisionData'](_0x2b2e03);this['listenTo'](_0x23e47b,'change:_isConnected',(_0x121f85,_0x22321e,_0x5be66f)=>{_0x5be66f&&(this['_oldOffset']=_0x23e47b['_offset'],_0x121f85['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x45dc49,'state',_0x4b83a5=>_0x4b83a5===_0x52c1ac['CONNECTED']);}async['reconnect'](){const _0x50c633=this['editor']['plugins']['get'](n),_0xaaed1d=this['editor']['plugins']['get'](l),_0x113683=async()=>{const _0x32ca21=this['_revisionTracker']['currentRevision'],_0x2f0940=_0x32ca21['id'],_0x14a28a=_0x2f0940!==_0xaaed1d['sessionId'];if(_0x14a28a){const _0x58acee=_0xaaed1d['_offset']-this['_oldOffset'],_0x20d980=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x32ca21['toVersion']+_0x58acee!==_0x20d980){const _0x4dae0e=_0x32ca21['fromVersion']+_0x58acee,_0x32281e=this['editor']['plugins']['get'](_0x176ee1),_0x4a0643=this['_revisionTracker']['buildRevisionData']({'revision':_0x32ca21,'from':_0x4dae0e,'to':_0x20d980});_0x4a0643['id']=_0x32ca21['id'];const _0x3847e9=_0x4a0643['authorsIds']['map'](_0x962d8e=>_0x32281e['getUser'](_0x962d8e));_0x32ca21['_update']({..._0x4a0643,'authors':_0x3847e9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x32ca21['id'],_0x4a0643,!0x0);}this['_revisionTracker']['_startingVersion']=_0x20d980,(_0x32ca21['toVersion']===_0x32ca21['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2f0940)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2f0940),this['_revisionTracker']['_createCurrentRevision'](_0x20d980));}const {revisions:_0x1f6cd7,requestId:_0x35aca1}=await this['_revisionHistoryService']['reconnect'](_0x50c633['connection'],this['_lastRequestId']);_0x14a28a&&_0x1f6cd7['length']>0x0?_0xaaed1d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1f6cd7),this['_handleRevisionsUpdate'](_0x1f6cd7,_0x35aca1),this['_revisionTracker']['sendBufferedUpdates']());};return _0xaaed1d['_isConnected']?_0x113683():new Promise((_0x373cb0,_0x422736)=>{_0xaaed1d['once']('change:_isConnected',()=>{_0x113683()['then'](_0x373cb0)['catch'](_0x422736);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xbeaa69=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3c31bb=>{_0x3c31bb['off'](),_0xbeaa69();});});}['_getLatestVersionFromServerOperations'](){const _0x33b63f=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1ed794 of _0x33b63f)if('marker'!==_0x1ed794['type']||_0x1ed794['affectsData'])return _0x1ed794['baseVersion']+0x1;}['_getLatestVersion'](){const _0x986429=this['editor']['plugins']['get'](l);return new Promise(_0x3b7edd=>{_0x986429['_isPendingUpdate']?_0x986429['once']('change:_isPendingUpdate',()=>{_0x3b7edd(this['_getLatestVersionFromServerOperations']());}):_0x3b7edd(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4c9d4f,_0xfcef73){const _0x54b41e=this['_revisionTracker']['repository'];this['_lastRequestId']=_0xfcef73;for(const _0x5b8155 of _0x4c9d4f){const _0x1656cd=_0x54b41e['getRevision'](_0x5b8155['id']);if(_0x1656cd){if((_0x5b8155['fromVersion']||_0x5b8155['toVersion'])&&(_0x5b8155['diffData']=null),_0x1656cd===this['_revisionTracker']['currentRevision']){const _0x27099a=Math['max'](_0x1656cd['toVersion'],_0x5b8155['toVersion']),_0x29d47c=Math['max'](_0x1656cd['fromVersion'],_0x5b8155['fromVersion']);let _0x146a07;_0x1656cd['toVersion']===_0x5b8155['toVersion']&&_0x1656cd['fromVersion']===_0x5b8155['fromVersion']?(_0x146a07=!0x0,this['_preventResendingRevisionData'](_0x5b8155)):_0x5b8155['toVersion']===_0x27099a&&_0x5b8155['fromVersion']===_0x29d47c?_0x146a07=!0x1:(_0x1656cd['toVersion']===_0x27099a&&_0x1656cd['fromVersion']===_0x29d47c||this['_fixRevision']({'revision':_0x1656cd,'from':_0x29d47c,'to':_0x27099a}),_0x146a07=!0x0),_0x146a07&&(delete _0x5b8155['fromVersion'],delete _0x5b8155['toVersion'],delete _0x5b8155['diffData'],delete _0x5b8155['createdAt'],delete _0x5b8155['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5b8155),this['_preventResendingRevisionData'](_0x5b8155);}else this['_revisionTracker']['addRevisionData'](_0x5b8155);}const _0x599d8c=_0x54b41e['getRevisions']();_0x599d8c['reverse']();for(let _0xeef501=0x0;_0xeef501<_0x599d8c['length']-0x1;_0xeef501++){const _0x3c6b2d=_0x599d8c[_0xeef501],_0x428583=_0x599d8c[_0xeef501+0x1];if(_0x3c6b2d['fromVersion']<_0x428583['toVersion']){const _0x405360=_0x428583['toVersion'],_0x3fd6e4=Math['max'](_0x405360,_0x3c6b2d['toVersion']);this['_fixRevision']({'revision':_0x3c6b2d,'from':_0x405360,'to':_0x3fd6e4});}}}['_fixRevision']({revision:_0xde0384,from:_0x5c306c,to:_0x2f04c7}={}){const _0x19248c=this['editor']['plugins']['get'](_0x176ee1),_0xa30426=this['_revisionTracker']['buildRevisionData']({'revision':_0xde0384,'from':_0x5c306c,'to':_0x2f04c7});_0xa30426['authors']=_0xa30426['authorsIds']['map'](_0x2a1608=>_0x19248c['getUser'](_0x2a1608)),_0xde0384['_update'](_0xa30426);}['_preventResendingRevisionData'](_0x2053bd){const _0x2ea2ea={};_0x2ea2ea['id']=_0x2053bd['id'];for(const _0x322cf8 of Object['keys'](_0x2053bd))'id'!==_0x322cf8&&(_0x2ea2ea[_0x322cf8]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2ea2ea['id'],_0x2ea2ea,!0x0);}async['_fetchMissingUsers'](_0x4377fd){const _0xde1c0f=this['editor']['plugins']['get'](_0x176ee1),{connection:_0x1bd2c6}=this['editor']['plugins']['get'](n),_0x42aa83=new Set();for(const _0x3a5985 of _0x4377fd){for(const _0x18dc87 of _0x3a5985['authorsIds'])_0x24d2d3(_0x18dc87);_0x3a5985['creatorId']&&_0x24d2d3(_0x3a5985['creatorId']);}if(0x0===_0x42aa83['size'])return;const _0x3d314c=await lt['getMany'](_0x1bd2c6,Array['from'](_0x42aa83));for(const _0x439c8c of _0x3d314c)_0xde1c0f['getUser'](_0x439c8c['id'])||_0xde1c0f['addUser'](_0x439c8c);function _0x24d2d3(_0x8b0de2){_0xde1c0f['getUser'](_0x8b0de2)||_0x42aa83['add'](_0x8b0de2);}}}function w(_0x1d8c2d){return _0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1d8c2d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x4f787e{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class C extends _0x25c62f{['_collapseAt'];constructor(_0x6f0e5,_0x278bec=0x6){super(_0x6f0e5);const _0x2eeb40=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x278bec,this['bind']('isHidden')['to'](this,'usersCount',_0x4ebced=>_0x4ebced<_0x278bec),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2eeb40['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x2eeb40['to']('usersCount',_0x52add2=>'+'+(_0x52add2-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x25c62f{['items'];['keystrokes'];constructor(_0x34852b){super(_0x34852b);const _0xf26053=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5fd0a(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xf26053['if']('hasPopup'),'aria-expanded':_0xf26053['to']('isExpanded',_0x5eb68f=>this['hasPopup']&&String(_0x5eb68f)),'aria-label':_0xf26053['to']('hasPopup',_0x50b595=>F(_0x34852b,_0x50b595?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xf26053['to']('hasPopup',_0x20fc8e=>!!_0x20fc8e&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xf26053['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xf26053['to'](_0x1862b0=>{const _0x13db5d=_0x1862b0,_0x337b50=document['querySelector']('.ck-presence-list__dropdown-list'),_0x247f52=document['querySelector']('.ck-balloon-panel_with-arrow');_0x337b50?.['contains'](_0x13db5d['relatedTarget'])||_0x247f52?.['contains'](_0x13db5d['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2965b2,_0x341d54,_0x5e5618)=>{this['element']&&(_0x5e5618?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class y extends _0x25c62f{['counterView'];['inlineListView'];constructor(_0x1a6ccd,_0x28dbbc=0x6){super(_0x1a6ccd);const _0x29a17d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new C(this['locale'],_0x28dbbc),this['inlineListView']=new is(_0x1a6ccd),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4af116 of this['inlineListView']['items'])_0x4af116['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x29a17d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class P extends _0x25c62f{['listWrapperView'];constructor(_0x5513e2,_0x702678){super(_0x5513e2);const _0x2bc602=this['bindTemplate'];this['listWrapperView']=new pt(_0x5513e2,_0x702678),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':F(_0x5513e2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x2bc602['to'](_0x4eb717=>{const _0xae333a=_0x4eb717,_0x1fea0f=document['querySelector']('.ck-presence-list__list'),_0x23edc8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1fea0f?.['contains'](_0xae333a['relatedTarget'])||_0x23edc8?.['contains'](_0xae333a['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x48ce87{constructor(_0x67f925,_0x2db9fd){super(_0x67f925);const _0x2d039b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2db9fd?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2d039b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2d039b['to']('role'),'aria-label':_0x2d039b['to']('ariaLabel'),'aria-labelledby':_0x2d039b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x54019e['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1aa0d3=this['element'];_0x1aa0d3&&(this['_isScrollable']=Math['max'](_0x1aa0d3['scrollHeight'],_0x1aa0d3['clientHeight'])>0.8*window['innerHeight']);}}class _ extends st{['userView'];constructor(_0x412138,_0x40141e,_0x296711){super(_0x412138);const _0x48dc63=this['bindTemplate'];this['userView']=new rt(_0x412138,_0x40141e);const _0x16eac2={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x40141e['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x40141e['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x40141e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x296711&&(_0x16eac2['tag']='button',_0x16eac2['on']={'click':_0x48dc63['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x16eac2);}['focus'](){this['element']['focus']();}}class U extends _0x25c62f{['userView'];['markerView'];constructor(_0x4937d3,_0x3e77bf,_0x891c1){super(_0x4937d3);const _0x2f0bcf=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new rt(_0x4937d3,_0x3e77bf),this['markerView']=new ct(_0x4937d3,_0x3e77bf);const _0x301d4f=new it(_0x4937d3);_0x301d4f['template']['tag']='span',_0x301d4f['text']=_0x3e77bf['name'];const _0x2ef37c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2f0bcf['to']('isFocusable',_0x4ceaed=>!!_0x4ceaed&&0x0),'aria-labelledby':_0x301d4f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2f0bcf['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2f0bcf['to']('hasTooltip',_0x1fbb26=>!_0x1fbb26),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x301d4f]};_0x891c1&&(_0x2ef37c['tag']='button',_0x2ef37c['on']={'click':_0x2f0bcf['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2ef37c);}}class ct extends _0x25c62f{constructor(_0x3939b8,_0x20a0b5){super(_0x3939b8),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x20a0b5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const D={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4c249c{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18b1ca){super(_0x18b1ca),this['context']['config']['define']('presenceList',D);const _0x5a15fa=_0x18b1ca['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5a15fa)throw new _0x1eae7a('presencelist-collapseat-invalid-format',this);if(_0x5a15fa<0x1)throw new _0x1eae7a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3e0019(),this['balloonPanelView']=new _0x36d5d9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2595b5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2595b5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x195399,_0x59f11c)=>{this['_handleUserAdd'](_0x59f11c);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2b4b35,_0x5b5bed)=>{this['_handleUserRemove'](_0x5b5bed);});}['_createView'](){const _0x34e06b=this['context'],_0x52aa87=new y(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x154f74=this['balloonPanelView'];if(!_0x2f0fba(_0x34e06b['config']['get']('presenceList.container')))throw new _0x1eae7a('presencelist-missing-container',this);return _0x52aa87['counterView']['bind']('usersCount')['to'](this),_0x52aa87['bind']('isCollapsed')['to'](this,'usersCount',_0x22b23a=>{const {collapseAt:_0x5938e1}=_0x34e06b['config']['get']('presenceList'),_0x59bf14=_0x22b23a>=_0x5938e1;if(_0x59bf14&&!_0x52aa87['inlineListView']['items']['find'](_0xa58181=>_0xa58181 instanceof C)){const _0x3e226d=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x3e226d&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x52aa87['inlineListView']['items']['add'](_0x52aa87['counterView']);}return _0x59bf14||this['hideDropdown'](),_0x59bf14;}),_0x52aa87['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x18ac76=>{const _0x5b34a5=_0x34e06b['config']['get']('presenceList'),_0xf5a11e=new U(_0x34e06b['locale'],_0x18ac76,!!_0x5b34a5['onClick']);return _0xf5a11e['bind']('hasTooltip')['to'](_0x52aa87,'isCollapsed',_0x557bbc=>!_0x557bbc),_0xf5a11e['bind']('isFocusable')['to'](_0x52aa87,'isCollapsed',_0x23a9fc=>!_0x23a9fc),_0x5b34a5['onClick']&&this['listenTo'](_0xf5a11e,'execute',()=>{this['view']['isCollapsed']||_0x5b34a5['onClick'](_0x18ac76,_0xf5a11e['element']);}),_0xf5a11e;}),this['listenTo'](_0x52aa87['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x52aa87['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x52aa87['inlineListView']['keystrokes']['set']('Enter',(_0x4d4dce,_0x14030e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x14030e());}),_0x52aa87['render'](),_0x154f74['render'](),_0x5c002c({'emitter':_0x52aa87,'activator':()=>_0x154f74['isVisible'],'contextElements':[_0x154f74['element'],_0x52aa87['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x34e06b['config']['get']('presenceList.container')['appendChild'](_0x52aa87['element']),this['_bodyCollection']=new _0x5d787f(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x52aa87;}['_handleUserAdd'](_0x4c4176){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4c4176['isMe'])return;const _0x4f2ba7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4f2ba7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x9975ee=_0x4c4176['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4c4176,_0x9975ee);}['_handleUserRemove'](_0x47b7c7){this['usersCount']--;const {collapseAt:_0x3779dd}=this['context']['config']['get']('presenceList'),_0x3ad640=this['usersCount']>=_0x3779dd;if(this['currentDisplayedUsers']['get'](_0x47b7c7['id']))this['currentDisplayedUsers']['remove'](_0x47b7c7['id']);else{if(_0x3ad640&&this['currentDisplayedUsers']['length']+0x1===_0x3779dd-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x3ad640?0x1:0x0)<this['usersCount']){for(const _0x1f754c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f754c['id'])&&(this['currentDisplayedUsers']['add'](_0x1f754c,Math['min'](this['currentDisplayedUsers']['length']-(_0x3ad640?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x3ad640?0x1:0x0)===_0x3779dd-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xe8fbfc=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new P(this['context']['locale'],!!_0xe8fbfc['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x482947}=this['presenceDropdownView'];_0x482947['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3033f4=>{if(!_0xe8fbfc['displayMe']&&_0x3033f4['isMe'])return null;const _0x4684da=new _(this['context']['locale'],_0x3033f4,!!_0xe8fbfc['onClick']);return _0xe8fbfc['onClick']&&this['listenTo'](_0x4684da,'execute',()=>{_0xe8fbfc['onClick'](_0x3033f4,_0x4684da['element']);}),_0x4684da;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x482947['focus'](),_0x482947['checkIfScrollable']();const _0xd5e7b3=(_0x3ac967,_0x445112)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x445112();};_0x482947['keystrokes']['set']('Esc',_0xd5e7b3),_0x482947['keystrokes']['set']('Shift+Tab',_0xd5e7b3),_0x482947['keystrokes']['set']('Tab',(_0x348c2c,_0x55bfc7)=>{!function(_0xcccaba){const _0x385c8a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8ff12a=>_0x8ff12a+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x137a01=[...document['body']['querySelectorAll'](_0x385c8a)]['filter'](_0x41ecd7=>_0x41ecd7===document['activeElement']||_0x41ecd7['offsetWidth']+_0x41ecd7['offsetHeight']>0x0)['sort']((_0x45696b,_0x1bc221)=>(_0x45696b['tabIndex']||0x0)-(_0x1bc221['tabIndex']||0x0)),_0x152085=_0x137a01['indexOf'](_0xcccaba),_0x17ff24=_0x137a01[(_0x152085+0x1)%_0x137a01['length']];_0x17ff24&&_0x17ff24['focus']();}(this['view']['element']),this['hideDropdown'](),_0x55bfc7();}),_0x482947['focusTracker']['add'](this['view']['element']),_0x482947['focusTracker']['on']('change:isFocused',(_0x401cb1,_0xafb56e,_0x388828)=>{_0x388828||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x4c249c{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};