@ckeditor/ckeditor5-real-time-collaboration 47.6.2-alpha.0 → 47.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x41f59a,Plugin as _0x56585b,PendingActions as _0x5f2a26,Context as _0x4cf009}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x51a28d,CKEditorError as _0x1ab299,Collection as _0x5de1df,global as _0xeba9f5,version as nt,uid as _0x2ba072,KeystrokeHandler as _0x15af9b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x547421,View as _0x204302,ListView as _0x1bf283,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x35d4fb,clickOutsideHandler as _0x303cd4,BodyCollection as _0x2fe61b}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4d0da4,History as _0xf45a31,NoOperation as _0x59a4b1,InsertOperation as _0x2ef9fd,MarkerOperation as _0x2a008f,RootAttributeOperation as _0x4834c9,transformOperationSets as _0x357da4,OperationFactory as _0x39d12a}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x48b24a,User as lt,CommentsService as _0x33f93a,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x2d9a51,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4a9b1f}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x35293d}from'es-toolkit/compat';class n extends _0x41f59a{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x547421];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1811a3){super(_0x1811a3),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x51a28d())();}['init'](){const _0x53c164=this['context'],_0x271a6d=_0x53c164['plugins']['get']('CloudServices'),_0x338e5d=_0x53c164['plugins']['get'](_0x547421);if(!_0x271a6d['token'])throw new _0x1ab299('websocketgateway-missing-token',this);if(!_0x271a6d['webSocketUrl'])throw new _0x1ab299('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'](_0x271a6d['token'],_0x271a6d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4ec1c1=>{if(this['connection']=_0x4ec1c1,this['bind']('state')['to'](_0x4ec1c1,'state',this,'_isBrowserOffline',(_0x408de9,_0x1bb0ba)=>('connected'!==_0x408de9&&(this['_shouldPluginsReconnect']=!0x0),_0x1bb0ba||_0x408de9!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x393061,_0x2ef755)=>{if('limitExceeded'!==_0x2ef755['code'])throw console['error'](_0x2ef755),new _0x1ab299('cloudservices-init',null,{'originalError':_0x2ef755});_0x338e5d['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'});}),!_0x4ec1c1['me'])return new Promise(_0x5a29c2=>_0x4ec1c1['on']('change:me',_0x5a29c2));})['catch'](_0x12d9fa=>{throw console['error'](_0x12d9fa),new _0x1ab299('cloudservices-init',null,{'originalError':_0x12d9fa});});}['addToReconnectionStack'](_0x519c75){if('function'!=typeof _0x519c75['reconnect'])throw new _0x1ab299('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x519c75))throw new _0x1ab299('websocketgateway-plugin-already-registered',this,{'name':_0x519c75['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x519c75);}['removeFromReconnectionStack'](_0x574cc4){this['_reconnectionStack']['delete'](_0x574cc4);}['isInReconnectionStack'](_0x4f230c){return this['_reconnectionStack']['has'](_0x4f230c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1d4f9c=>_0x1d4f9c['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x5c6a96=>{throw console['error'](_0x5c6a96),new _0x1ab299('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 _0x41f59a{['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,_0x2d9a51];}constructor(_0xdb494c){super(_0xdb494c),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5de1df(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2d9a51);}['init'](){const _0x4693b7=this['context']['plugins']['get'](n);this['listenTo'](_0x4693b7,'change:state',(_0xe30184,_0x13a468,_0x12925d)=>{if('connected'!==_0x12925d)this['channelSessions']['forEach'](_0x473f6d=>_0x473f6d['clear']()),this['channelConnectedUsers']['forEach'](_0x41e456=>_0x41e456['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x424afd,_0x104440]of this['_registeredSessions'])for(const _0x422564 of _0x104440)this['_handleSessionAdd'](_0x424afd,_0x422564);}}),this['_createUser'](_0x4693b7['connection']['me'],!0x0);}['register'](_0x4eb129,_0x341d97){if(this['_registeredSessions']['has'](_0x4eb129))throw new _0x1ab299('sessions-register-already-registered',null,{'channelId':_0x4eb129});this['_registeredSessions']['set'](_0x4eb129,_0x341d97),this['channelSessions']['set'](_0x4eb129,new _0x5de1df()),this['channelConnectedUsers']['set'](_0x4eb129,new _0x5de1df()),this['listenTo'](_0x341d97,'add',(_0xe03067,_0x1bee17)=>this['_handleSessionAdd'](_0x4eb129,_0x1bee17)),this['listenTo'](_0x341d97,'remove',(_0x317acc,_0x51b5c4)=>this['_handleSessionRemove'](_0x4eb129,_0x51b5c4));for(const _0x1c364d of _0x341d97)this['_handleSessionAdd'](_0x4eb129,_0x1c364d);}['unregister'](_0x26891a){if(!this['_registeredSessions']['has'](_0x26891a))throw new _0x1ab299('sessions-unregister-not-exist',null,{'channelId':_0x26891a});const _0x32e5ce=this['_registeredSessions']['get'](_0x26891a);this['stopListening'](_0x32e5ce);for(const _0x5ef229 of _0x32e5ce)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x26891a,_0x5ef229);this['_registeredSessions']['delete'](_0x26891a),this['channelSessions']['delete'](_0x26891a),this['channelConnectedUsers']['delete'](_0x26891a);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x1d23cd){for(const _0x47f673 of this['channelSessions']['values']())for(const _0x3484c2 of _0x47f673)if(_0x3484c2['id']===_0x1d23cd)return _0x3484c2['user'];}['getUserSessions'](_0x24d586,_0x3dbabd){const _0x3f75bc=_0x3dbabd?[this['channelSessions']['get'](_0x3dbabd)]:this['channelSessions']['values'](),_0x5c1fa9=new Set();for(const _0x2a5319 of _0x3f75bc)for(const _0x203610 of _0x2a5319)_0x203610['user']['id']===_0x24d586['id']&&_0x5c1fa9['add'](_0x203610['id']);return _0x5c1fa9;}['getUserRole'](_0x59268b){for(const _0x2ae562 of this['channelSessions']['values']())for(const _0x1bd001 of _0x2ae562)if(_0x1bd001['user']===_0x59268b)return _0x1bd001['role'];}['_handleSessionAdd'](_0x56a1b5,_0xad43a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x324587=_0xad43a['user'],_0x37059f=this['_users']['getUser'](_0x324587['id'])||this['_createUser'](_0x324587),_0xd3c365=Object['assign']({},_0xad43a,{'user':_0x37059f});if(this['channelSessions']['get'](_0x56a1b5)['add'](_0xd3c365),!_0x324587['hiddenInPresenceList']){const _0x242810=this['channelConnectedUsers']['get'](_0x56a1b5);_0x242810['has'](_0x37059f['id'])||_0x242810['add'](_0x37059f),this['allConnectedUsers']['has'](_0x37059f['id'])||_0x324587['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x37059f,_0x37059f['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x56a1b5,{'channelId':_0x56a1b5,'session':_0xd3c365});}['_handleSessionRemove'](_0x3157a8,_0x4858a5){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5b8dd8=this['channelConnectedUsers']['get'](_0x3157a8),_0x42e6a6=_0x4858a5['user'];_0x42e6a6['id']&&(this['channelSessions']['get'](_0x3157a8)['remove'](_0x4858a5['id']),_0x5b8dd8['has'](_0x42e6a6['id'])&&!this['getUserSessions'](_0x42e6a6,_0x3157a8)['size']&&_0x5b8dd8['remove'](_0x42e6a6['id']),this['allConnectedUsers']['get'](_0x42e6a6['id'])&&!this['getUserSessions'](_0x42e6a6)['size']&&this['allConnectedUsers']['remove'](_0x42e6a6['id']));}['_createUser'](_0x48b2b4,_0x8a729d){const _0x3bd219=this['_users']['addUser'](_0x48b2b4);return _0x8a729d&&this['_users']['defineMe'](_0x48b2b4['id']),_0x3bd219['orderNumber']=this['_uniqueUsersCount']++,_0x3bd219;}}class V extends _0x56585b{['_domEmitter']=new(_0x51a28d())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3d9967=this['editor'],_0x564dfe=_0x3d9967['plugins']['get'](i);_0x3d9967['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4bf3a4,{writer:_0x3210ec})=>function(_0x412736,_0x4ef376,_0x5e56ad,_0x5c5650){const _0x48fffc=_0x412736['markerName']['split'](':')[0x2],_0x37c406=_0x5e56ad['getUserBySessionId'](_0x48fffc);if(!_0x37c406||_0x48fffc===_0x5e56ad['mySessionId'])return;if(!_0x5c5650['model']['schema']['checkChild'](_0x412736['markerRange']['start'],'$text'))return;const _0x5c0ed6={'class':'ck-user__marker\x20'+_0x37c406['color']['getMarkerClass'](),'data-name':_0x37c406['name'],'data-session-id':_0x48fffc},_0x3c9ca2=_0x5c5650['model']['markers']['get'](_0x412736['markerName']),_0x1a695f=_0x3c9ca2['getStart'](),_0x5020dd=_0x1a695f['nodeAfter'],_0x4cc57b=_0x5c5650['model']['schema'];if(_0x5020dd&&_0x4cc57b['isObject'](_0x5020dd)&&_0x4cc57b['isInline'](_0x5020dd)&&!_0x5c5650['model']['markers']['get']('user:range:'+_0x48fffc)['getRange']()['isCollapsed'])return;const _0x1ac75c=_0x1a695f['parent'];return _0x5c5650['model']['schema']['isLimit'](_0x1ac75c)&&!_0x5c5650['model']['hasContent'](_0x1ac75c)&&(_0x5c0ed6['contenteditable']=!0x1),function(_0x32b9ea,_0x3fd24d,_0x27a399){const _0x4b0e05=_0x32b9ea['createUIElement']('span',_0x3fd24d);return _0x32b9ea['setCustomProperty']('userPositionMarker',!0x0,_0x4b0e05),_0x4b0e05['render']=function(_0x17a463){const _0x50794d=this['toDomElement'](_0x17a463),_0x4c82c8=document['createElement']('span');return _0x4c82c8['classList']['add']('ck-user__marker-tooltip'),_0x4c82c8['setAttribute']('contenteditable','false'),_0x4c82c8['setAttribute']('spellcheck','false'),_0x4c82c8['textContent']=_0x27a399['name'],_0x50794d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4c82c8['outerHTML']+'⁠',_0x50794d['addEventListener']('mouseenter',()=>{_0x50794d['classList']['add']('ck-user__marker_hovered');}),_0x50794d['addEventListener']('mouseleave',()=>{_0x50794d['classList']['remove']('ck-user__marker_hovered');}),_0x50794d;},_0x4b0e05['isSimilar']=function(_0x10f4fa){return!(!this['getCustomProperty']('userPositionMarker')||!_0x10f4fa['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x10f4fa['getAttribute']('data-session-id'));},_0x4b0e05;}(_0x4ef376,_0x5c0ed6,_0x37c406);}(_0x4bf3a4,_0x3210ec,_0x564dfe,_0x3d9967)}),_0x3d9967['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4c72ec=>function(_0x18a7f7,_0x148b6d){const _0x49ca45=_0x18a7f7['markerName']['split'](':')[0x2];if(_0x49ca45===_0x148b6d['mySessionId'])return null;const _0x4df00a=_0x148b6d['getUserBySessionId'](_0x49ca45);if(!_0x4df00a)return{'id':_0x49ca45,'classes':[]};return{'id':_0x49ca45,'classes':['ck-user__selection',_0x4df00a['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x49ca45},'priority':0x7d0+_0x4df00a['orderNumber']};}(_0x4c72ec,_0x564dfe)}),function(_0x41a812){const _0x4763ba=_0x41a812['model'],_0x30d975=new Map(),_0x2178b1=_0x41a812['plugins']['get'](i);_0x4763ba['markers']['on']('update:user:range',(_0x1a3a0a,_0x4021ea,_0x4286d4,_0x30f75f)=>{if(!_0x30f75f&&_0x30d975['get'](_0x4021ea['name']))return _0x30d975['get'](_0x4021ea['name'])['detach'](),void _0x30d975['delete'](_0x4021ea['name']);const _0x83b13f=_0x4021ea['name']['split'](':')[0x2];if(_0x83b13f===_0x2178b1['mySessionId'])return;const _0x5f0f0b='user:position:'+_0x83b13f;_0x4763ba['markers']['has'](_0x5f0f0b)&&_0x41a812['editing']['reconvertMarker'](_0x5f0f0b),_0x4021ea['on']('change:range',(_0x383ae1,_0x562ff8,_0x30d3ca)=>{if('$graveyard'!=_0x562ff8['root']['rootName']&&'$graveyard'==_0x4021ea['getRange']()['root']['rootName']&&!_0x30d975['has'](_0x4021ea['name'])){const _0xf3a08=_0x4763ba['schema']['getNearestSelectionRange'](_0x30d3ca['deletionPosition']);if(_0xf3a08){const _0x46a8b8=_0x4d0da4['fromRange'](_0xf3a08);_0x30d975['set'](_0x4021ea['name'],_0x46a8b8),_0x46a8b8['on']('change:range',(_0x422c24,_0x3d0032,_0x3346ef)=>{if('$graveyard'==_0x46a8b8['root']['rootName']){const _0x3175db=_0x4763ba['schema']['getNearestSelectionRange'](_0x3346ef['deletionPosition']);_0x3175db?(_0x46a8b8['start']=_0x3175db['start'],_0x46a8b8['end']=_0x3175db['end']):(_0x30d975['delete'](_0x4021ea['name']),_0x46a8b8['detach']());}});}}});}),_0x4763ba['document']['on']('change',()=>{_0x30d975['size']>0x0&&_0x4763ba['enqueueChange']({'isUndoable':!0x1},_0x1bacd9=>{for(const [_0x4f22bf,_0xb52b59]of _0x30d975)'$graveyard'==_0x4763ba['markers']['get'](_0x4f22bf)['getRange']()['root']['rootName']&&(Z(_0x4f22bf['split'](':')[0x2],_0xb52b59['toRange'](),_0x4763ba,_0x1bacd9),_0xb52b59['detach']());_0x30d975['clear']();});});}(_0x3d9967),this['_domEmitter']['listenTo'](_0xeba9f5['document'],'keydown',(_0x1810dc,{key:_0x23aedb})=>{'Escape'===_0x23aedb&&function(_0x59fc44){_0x59fc44['editing']['view']['change'](_0x121501=>{for(const _0x4c8c1a of _0x59fc44['model']['markers']){if(!_0x4c8c1a['name']['startsWith']('user:position'))continue;const _0x1fa531=_0x59fc44['editing']['mapper']['markerNameToElements'](_0x4c8c1a['name']);if(_0x1fa531){for(const _0x5a9233 of _0x1fa531)_0x121501['removeClass']('ck-user__marker_hovered',_0x5a9233);}}});}(_0x3d9967);},{'useCapture':!0x0});}['afterInit'](){const _0x2c1c65=this['editor'],_0x198714=_0x2c1c65['commands']['get']('undo');_0x198714&&_0x2c1c65['model']['on']('applyOperation',(_0x53c9ec,_0x5c3d99)=>{const _0x435306=_0x5c3d99[0x0];if(!_0x435306['isDocumentOperation'])return;if('marker'!=_0x435306['type']||!_0x435306['name']['startsWith']('user:'))return;const _0x1ae3d5=_0x435306['batch'];_0x198714['_createdBatches']['has'](_0x1ae3d5)&&(_0x435306['newRange']=_0x435306['oldRange']?_0x2c1c65['model']['createRange'](_0x435306['oldRange']['start'],_0x435306['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x11640d=this['editor'],_0x1d598c=_0x11640d['model']['document'],_0x2a0862=_0x11640d['plugins']['get'](i);_0x11640d['model']['enqueueChange']({'isUndoable':!0x1},_0x41e55d=>{const _0x460013='user:range:'+_0x2a0862['mySessionId'],_0x16c0c3='user:position:'+_0x2a0862['mySessionId'],_0x39b623=_0x11640d['model']['markers']['has'](_0x460013);_0x11640d['editing']['view']['hasDomSelection']?Z(_0x2a0862['mySessionId'],_0x1d598c['selection']['getFirstRange'](),_0x11640d['model'],_0x41e55d):_0x39b623&&(_0x41e55d['removeMarker'](_0x460013),_0x41e55d['removeMarker'](_0x16c0c3));});}}function Z(_0x2f2656,_0x40c2d9,_0x19fba7,_0x3a70e9){const _0x4ee1a4='user:range:'+_0x2f2656,_0x589ba8='user:position:'+_0x2f2656,_0x48ca59=_0x40c2d9['getContainedElement']();let _0x21a8e2=_0x40c2d9['start'];if(_0x48ca59&&_0x48ca59['is']('element','tableCell')){const _0x1668da=function(_0x21fb8f,_0x594a2a){for(const _0x239bae of _0x21fb8f['getPositions']())if(_0x594a2a['schema']['checkChild'](_0x239bae,'$text'))return _0x239bae;}(_0x40c2d9,_0x19fba7);_0x1668da&&(_0x21a8e2=_0x1668da,_0x40c2d9=_0x3a70e9['createRange'](_0x21a8e2));}const _0x5a578d=_0x3a70e9['createRange'](_0x21a8e2);_0x19fba7['markers']['has'](_0x4ee1a4)?(_0x3a70e9['updateMarker'](_0x4ee1a4,{'range':_0x40c2d9}),_0x3a70e9['updateMarker'](_0x589ba8,{'range':_0x5a578d})):(_0x3a70e9['addMarker'](_0x4ee1a4,{'range':_0x40c2d9,'usingOperation':!0x0}),_0x3a70e9['addMarker'](_0x589ba8,{'range':_0x5a578d,'usingOperation':!0x0}));}function W(_0x666458,_0x2b06f7,_0x2c295e){const _0x13a2b4=_0x666458['t'],t=_0x666458['t'];switch(_0x2b06f7){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 _0x13a2b4({'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'},_0x2c295e);default:return'';}}let G=0x1;class l extends _0x56585b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x48b24a)());['_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,_0x5f2a26,_0x2d9a51,_0x547421];}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 _0x40682f=this['serverHistory']['getOperations']();for(let _0x3d88f1=_0x40682f['length']-0x1;_0x3d88f1>=0x0;_0x3d88f1--){const _0x94a666=_0x40682f[_0x3d88f1];if(!this['_disconnectionOperations']['has'](_0x94a666))return _0x94a666['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5897d9){if(super(_0x5897d9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0xf45a31(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ab299('collaboration-missing-channelid',this);const _0x137e08=_0x5897d9['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x137e08,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4a9b1f(),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 _0x2c68d0=this['editor'],_0x9134f6=_0x2c68d0['plugins']['get'](_0x2d9a51),_0x5cae3f=_0x2c68d0['plugins']['get'](n);this['listenTo'](_0x9134f6,'getOperationAuthor',(_0x35f00f,_0x41bab2)=>{const _0x42572f=_0x41bab2[0x0];_0x42572f['_authorId']&&(_0x35f00f['return']=_0x9134f6['getUser'](_0x42572f['_authorId']),_0x35f00f['stop']()),null===_0x42572f['_authorId']&&(_0x35f00f['return']=null,_0x35f00f['stop']());},{'priority':'high'}),this['listenTo'](_0x2c68d0['model']['document']['selection'],'change:range',(_0xe7626,_0x10b934)=>{_0x10b934['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2c68d0['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2c68d0['model']['on']('applyOperation',(_0x5a2a87,_0x118081)=>{const _0x4a8eb8=_0x118081[0x0];_0x4a8eb8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4a8eb8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5cae3f,'state',this,'_hasSynchronizationProblem',(_0x4570a4,_0x403925)=>'connected'===_0x4570a4&&!_0x403925),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2c68d0['disableReadOnlyMode']('rtc-offline'):_0x2c68d0['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2c68d0['disableReadOnlyMode']('rtc-offline'):_0x2c68d0['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5282cf=this['editor']['plugins']['get'](i),_0x7f0624=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x5282cf['unregister'](this['_channelId']);const _0x1eff81=await this['_service']['reconnect'](_0x7f0624['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1eff81)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3755d3=await this['_service']['getConnectedSessions']();_0x5282cf['register'](this['_channelId'],_0x3755d3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1ffb80){if(function(_0x5d2256){return'404'===_0x5d2256['code'];}(_0x1ffb80)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3e2572){return'409'===_0x3e2572['code'];}(_0x1ffb80)){const _0x442a7b=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'](_0x442a7b);}else{if(!(_0x1ffb80 instanceof $))throw _0x1ffb80;this['_handleReconnectionError']();}}}}['destroy'](){const _0x459223=this['editor']['plugins']['get'](n),_0x22e52e=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x22e52e['channelSessions']['has'](this['_channelId'])&&_0x22e52e['unregister'](this['_channelId']),_0x459223['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2edd8e){if(this['sessionId']!==_0x2edd8e['sessionId']&&this['_lastSyncedOperationId']!==_0x2edd8e['lastOperationId'])throw new $();return this['sessionId']=_0x2edd8e['sessionId'],this['_handleServerResponse']([],{..._0x2edd8e,'wereChangesApplied':!0x1,'data':_0x2edd8e['data']},'reconnect');}async['_connectService'](_0x4b3530,_0x1ea1d4=!0x1){const {connection:_0x4888bf}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4888bf,this['_channelId'])['then'](_0x3debd7=>this['_initSessionsHandling'](_0x3debd7))['catch'](_0x32fc4f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x32fc4f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xdd9ed4,_0x33dd34)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x33dd34);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x21d2cd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4b3530);this['_isPendingUpdate']=!0x0;const _0x5f0055=await this['_service']['connect'](_0x4888bf,this['_compressOperations'](_0x4b3530),_0x21d2cd);if(this['sessionId']=_0x5f0055['sessionId'],_0x1ea1d4){if(!_0x5f0055['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5f0055['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4b3530,_0x5f0055,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5f0055,_0x4b3530);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5c4cfd=this['editor']['plugins']['get'](i),_0x436955=this['editor']['plugins']['get'](V),_0x12a119=_0x5c4cfd['channelSessions']['get'](this['_channelId']);_0x12a119&&_0x12a119['length']>0x1?_0x436955['createUserMarkerOperations']():this['listenTo'](_0x5c4cfd,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5c4cfd['channelSessions']['get'](this['_channelId'])['length']&&_0x436955['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x6c5d2c,_0x293112,_0xa24722,_0x5b7a78){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x293112){const _0x15de86=this['_decompressOperations'](_0xa24722,_0x5b7a78);await this['_fetchMissingUsers'](_0x15de86),this['_handleExternalOperations'](_0x15de86,_0x293112,_0xa24722['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x41c438}=this['editor'];let _0x1ac9bb;try{_0x1ac9bb=await this['_service']['getDocumentDetails']();}catch{const _0x42ba5d=W(_0x41c438,'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'](_0x42ba5d);}const _0x3c04fb=_0x1ac9bb['currentDocumentSession']||_0x1ac9bb['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3c04fb['lastOperationId']){const _0x756e8a=W(_0x41c438,'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'](_0x756e8a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x4a4676){const _0x11c470=this['editor']['plugins']['get'](i);this['listenTo'](_0x11c470,'sessionAdd:'+this['_channelId'],(_0x17170e,{session:_0x3e5f02})=>{if(_0x3e5f02['id']===_0x11c470['mySessionId']){_0x17170e['off']();const _0x3a2e90=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4e28bb=_0x3e5f02['permissions'];_0x3a2e90&&_0x3a2e90['isEnabled']&&(_0x4e28bb=_0x4e28bb['filter'](_0x2ab2c4=>'document:write'!==_0x2ab2c4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4e28bb,this['_channelId']);}}),_0x11c470['register'](this['_channelId'],_0x4a4676);}['_initThrowingOnDataSet'](){const _0x33e6de=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x334f0b)=>{if(!_0x334f0b[_0x334f0b['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ab299('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x33e6de['apply'](this['editor']['data'],_0x334f0b);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4c7440,[_0x37b9d3])=>{if(this['_document']['version'])throw new _0x1ab299('realtimecollaborationclient-init-document-already-initialized',this);_0x4c7440['stop'](),this['_setPendingAction']();const _0xe5e0ff=this['editor']['config']['get']('rootsAttributes'),_0x5a67ee=this['_getOperationsFromInitData'](_0x37b9d3,_0xe5e0ff);0x0==_0x5a67ee['length']&&_0x5a67ee['push'](new _0x59a4b1(0x0)),_0x4c7440['return']=this['_connectService'](_0x5a67ee)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x54662d=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x54662d))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4fc205,[_0x207191,_0x590bf4])=>{_0x4fc205['stop']();const _0x4a0b7f=this['editor']['model']['document']['getRoot'](_0x207191);if(!this['_knownRootNames']['has'](_0x207191)){const _0x2f5902=_0x590bf4&&_0x590bf4['data']?_0x590bf4['data']:'',_0x552c48=_0x590bf4&&_0x590bf4['attributes']?_0x590bf4['attributes']:{};await this['_loadRoot'](_0x207191,_0x2f5902,_0x552c48);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4a0b7f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4a0b7f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2f2a6a){const _0x2af0ba=this['editor']['plugins']['get'](_0x2d9a51),{connection:_0x6d6130}=this['editor']['plugins']['get'](n),_0x3a8373=new Set();for(const _0xf6f52e of _0x2f2a6a){const _0x404fce=_0xf6f52e['_authorId'];_0x404fce&&!_0x2af0ba['getUser'](_0x404fce)&&_0x3a8373['add'](_0x404fce);}if(0x0===_0x3a8373['size'])return;const _0x2a8bae=await lt['getMany'](_0x6d6130,Array['from'](_0x3a8373));for(const _0x54e34f of _0x2a8bae)_0x2af0ba['getUser'](_0x54e34f['id'])||_0x2af0ba['addUser'](_0x54e34f);}['_getOperationsFromInitData'](_0x3a8f73,_0x2cbb67={}){const _0x139714=this['editor']['model'],_0x3f26de=[];let _0x22606b=0x0;const _0xe3806b='string'==typeof _0x3a8f73?{'main':_0x3a8f73}:_0x3a8f73;for(const _0x2173a7 of Object['keys'](_0xe3806b)){if(!this['_document']['roots']['has'](_0x2173a7))throw new _0x1ab299('realtimecollaborationclient-init-non-existent-root',this);const _0x16a10d=this['editor']['data']['parse'](_0xe3806b[_0x2173a7]),_0x322454=this['_document']['getRoot'](_0x2173a7),_0x36d143=new _0x2ef9fd(_0x139714['createPositionAt'](_0x322454,0x0),_0x16a10d,_0x22606b++);_0x3f26de['push'](_0x36d143);for(const [_0x14a47a,_0xe7fbf5]of _0x16a10d['markers']){const _0x1c9042=_0x139714['createRange'](_0x139714['createPositionFromPath'](_0x322454,_0xe7fbf5['start']['path']['slice']()),_0x139714['createPositionFromPath'](_0x322454,_0xe7fbf5['end']['path']['slice']())),_0x77dc3f=new _0x2a008f(_0x14a47a,null,_0x1c9042,_0x139714['markers'],!0x0,_0x22606b++);_0x3f26de['push'](_0x77dc3f);}}if(_0x2cbb67)for(const [_0x512a67,_0x58d145]of Object['entries'](_0x2cbb67)){const _0x5a3c7b=_0x139714['document']['getRoot'](_0x512a67);if(!_0x5a3c7b)throw new _0x1ab299('multi-root-editor-root-attributes-no-root',null);for(const [_0x532584,_0x13689d]of Object['entries'](_0x58d145))if(null!==_0x13689d){const _0x43fe11=new _0x4834c9(_0x5a3c7b,_0x532584,null,_0x13689d,_0x22606b++);_0x3f26de['push'](_0x43fe11);}}return _0x3f26de;}async['_loadRoot'](_0x7a00f,_0xd92fe0,_0xd11f0e){this['_getOperationsFromInitData']({[_0x7a00f]:_0xd92fe0},{[_0x7a00f]:_0xd11f0e})['forEach']((_0x59e955,_0x1a9453)=>{_0x59e955['baseVersion']=this['_document']['version']+_0x1a9453,_0x59e955['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x59e955);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x54852c,_0x565857){let _0x2d4151;this['_offset']=_0x54852c['offset'];const _0x385fa5=_0x54852c['wereChangesApplied']&&!_0x54852c['initData'],_0x12eee3=_0x385fa5?0x0:_0x54852c['data']['baseVersion'];if(_0x565857['forEach'](_0x3921cc=>{_0x3921cc['_isInit']=!0x0,_0x3921cc['createdAt']=_0x54852c['sessionCreatedAt'],_0x3921cc['_authorId']=null;}),_0x385fa5)_0x2d4151=_0x565857,this['_applyOperationsSet'](_0x2d4151,_0x385fa5);else{if(_0x54852c['initData']){const _0x7b50c1=this['_getOperationsFromInitData'](_0x54852c['initData']);this['_document']['history']['version']=-_0x7b50c1['length'],_0x7b50c1['forEach'](_0x4eb5e3=>{_0x4eb5e3['baseVersion']-=_0x7b50c1['length'],_0x4eb5e3['createdAt']=_0x54852c['sessionCreatedAt'],_0x4eb5e3['_isInit']=!0x0,_0x4eb5e3['_authorId']=null;}),this['_applyOperationsSet'](_0x7b50c1,!0x0),this['serverHistory']['version']=-_0x7b50c1['length']+this['_offset'],this['_updateServerHistory'](_0x7b50c1);}this['_document']['history']['version']=_0x12eee3,_0x2d4151=this['_decompressOperations'](_0x54852c['data'],_0x54852c['metadata']),await this['_fetchMissingUsers'](_0x2d4151),this['_applyOperationsSet'](_0x2d4151,_0x385fa5);}_0x54852c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2d4151,_0x54852c['lastOperationId']),this['_lastSyncedOperationId']=_0x54852c['lastOperationId']),this['serverHistory']['version']=_0x12eee3+this['_offset'],this['_updateServerHistory'](_0x2d4151),_0x565857['filter'](_0x270ce1=>{const _0x223ced=this['_getAffectedRoot'](_0x270ce1);return _0x223ced&&!this['_knownRootNames']['has'](_0x223ced);})['forEach']((_0xa97b67,_0x8c873a)=>{_0xa97b67['baseVersion']=this['_document']['version']+_0x8c873a,this['_saveOperationInBuffer'](_0xa97b67);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3723f2,_0x5f0d90){const _0x50e6cc=_0x5f0d90&&_0x5f0d90['message'];if(_0x50e6cc&&_0x50e6cc['startsWith']('realtimecollaborationclient'))throw _0x5f0d90;const _0x22af64=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x22af64['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ab299(_0x3723f2,this['editor'],_0x50e6cc?{'originalError':_0x50e6cc}:void 0x0);}['_saveOperationInBuffer'](_0x2d2005){this['_knownOperations']['has'](_0x2d2005)||(this['_knownOperations']['add'](_0x2d2005),this['_bufferedOperations']['push'](_0x2d2005),this['_pendingAction']||'marker'==_0x2d2005['type']&&!_0x2d2005['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x209609=!0x1){!_0x209609&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x330e2f=>{_0x330e2f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4cbfd8=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3377b3){return _0x3377b3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3377b3['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3377b3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4cbfd8)||this['_crash'](_0x4cbfd8['message'],_0x4cbfd8);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3569aa=>{this['on']('change:_isPendingUpdate',()=>{_0x3569aa();});});}async['_sendBufferedOperations'](){const _0x47972e=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x47972e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3eae0e=[...this['_bufferedOperations']];for(const _0x401a79 of _0x3eae0e)_0x401a79['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x401a79);const _0x527648=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3eae0e),_0x593fca=G++,_0x2694e2=this['_compressOperations'](_0x3eae0e),_0x48a1b7=await this['_service']['sendOperations'](_0x2694e2,_0x2694e2['baseVersion'],_0x527648);try{return await this['_handleServerResponse'](_0x3eae0e,_0x48a1b7,_0x593fca);}catch(_0x15f3cc){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x15f3cc);}}async['_handleServerResponse'](_0x348b58,_0x12d48f,_0x14d16b){if('error'in _0x12d48f)throw _0x12d48f['error'];let _0x54f602=!0x1;if(_0x12d48f['wereChangesApplied']){_0x12d48f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x12d48f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1d8e6b=>!_0x348b58['includes'](_0x1d8e6b));for(const _0x4669dd of _0x348b58)_0x4669dd['createdAt']='lastOperationAcceptedAt'in _0x12d48f&&_0x12d48f['lastOperationAcceptedAt']||void 0x0;K(_0x348b58,_0x12d48f['version']-_0x348b58['length']),this['_updateServerHistory'](_0x348b58);const _0x401613=_0x348b58['filter'](_0x216d7a=>{if(!_0x216d7a['_isInit'])return!0x1;const _0xfbf2bb=this['_getAffectedRoot'](_0x216d7a);return _0xfbf2bb&&!this['_knownRootNames']['has'](_0xfbf2bb);});K(_0x401613,this['_document']['version']),this['_applyOperationsSet'](_0x401613),_0x54f602=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x196f59=this['_decompressOperations'](_0x12d48f['data'],_0x12d48f['metadata'])['filter'](_0x418bb3=>_0x418bb3['baseVersion']>=this['_lastServerVersion']);_0x196f59['forEach'](_0x4fa2a1=>this['_addKnownRoot'](_0x4fa2a1)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x263522=>!_0x263522['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x263522))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x196f59),_0x54f602=this['_handleExternalOperations'](_0x196f59,_0x12d48f['version'],_0x12d48f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x54f602?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4bd26f,_0x2a2c0f,_0x41840e){try{const _0x2204b1={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x561890,operationsB:_0x472538,originalOperations:_0x32cc73}=_0x357da4(_0x4bd26f,this['_bufferedOperations'],_0x2204b1);K(_0x561890,this['_document']['version']),K(_0x472538,_0x2a2c0f);for(const _0xb90d72 of _0x561890){const _0x5a53d5=_0x32cc73['get'](_0xb90d72);_0xb90d72['_authorId']=_0x5a53d5?_0x5a53d5['_authorId']:null;}_0x41840e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4bd26f,_0x41840e),this['_lastSyncedOperationId']=_0x41840e),this['_bufferedOperations']=[..._0x472538],this['_applyOperationsSet'](_0x561890),this['_updateServerHistory'](_0x4bd26f);}catch(_0x4b25c4){return console['error'](_0x4b25c4),!0x1;}return!0x0;}['_applyOperationsSet'](_0x32a45a,_0x4de134=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2eaa08=>{for(const _0x3714cf of _0x32a45a)this['_knownOperations']['add'](_0x3714cf),this['_addKnownRoot'](_0x3714cf),_0x2eaa08['batch']['addOperation'](_0x3714cf),this['editor']['model']['applyOperation'](_0x3714cf);});}['_addKnownRoot'](_0x56b097){const _0x3764a7=this['_getAffectedRoot'](_0x56b097);_0x3764a7&&this['_knownRootNames']['add'](_0x3764a7);}['_getAffectedRoot'](_0x29a620){let _0x1c9fb2,_0x1d59b9;switch(_0x29a620['type']){case'insert':_0x1c9fb2=_0x29a620['position']['root'];break;case'marker':if(_0x1d59b9=_0x29a620['newRange'],!_0x1d59b9)return null;_0x1c9fb2=_0x1d59b9['root'];break;case'addRootAttribute':_0x1c9fb2=_0x29a620['root'];break;case'addRoot':_0x1c9fb2=_0x29a620['affectedSelectable'];break;case'move':_0x1c9fb2=_0x29a620['targetPosition']['root'];break;default:return null;}return _0x1c9fb2['rootName'];}['_updateServerHistory'](_0x2afc68){_0x2afc68['forEach'](_0xb5dbb7=>{const _0x298ade=_0xb5dbb7['clone']();_0x298ade['_authorId']=_0xb5dbb7['_authorId'],_0x298ade['_isInit']=!!_0xb5dbb7['_isInit'],_0x298ade['createdAt']=_0xb5dbb7['createdAt'],_0x298ade['baseVersion']+=this['_offset'],_0xb5dbb7['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x298ade),this['serverHistory']['addOperation'](_0x298ade);});}['_handleReconnectionError'](_0xb775b8){const _0x43fc62=this['editor']['plugins']['get']('Notification'),_0x516431=this['editor']['locale'];_0xb775b8||(_0xb775b8=W(_0x516431,'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.')),_0x43fc62['showWarning'](_0xb775b8,{'title':W(_0x516431,'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'](_0x5f2a26)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5f2a26)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x15095){const _0x3d02fc=_0x15095['map'](_0x2f0c81=>_0x2f0c81['toJSON']());return this['_compressor']['compress'](_0x3d02fc);}['_decompressOperations'](_0x200677,_0x4e9045){return this['_compressor']['decompress'](_0x200677)['map']((_0x206f0f,_0x1b108d)=>{const _0x40cc1e='init'==_0x4e9045[_0x1b108d]['type'];if('InsertOperation'==_0x206f0f['__className']){const _0x48ece2=_0x206f0f['position']['root'];!this['_document']['getRoot'](_0x48ece2)&&(this['_document']['createRoot']('$root',_0x48ece2)['_isAttached']=!0x1);}const _0x39ff59=_0x39d12a['fromJSON'](_0x206f0f,this['_document']);return _0x39ff59['wasUndone']=_0x206f0f['wasUndone'],_0x39ff59['_isInit']=_0x40cc1e,_0x39ff59['_authorId']=_0x40cc1e?null:_0x4e9045[_0x1b108d]['userId'],_0x39ff59['_isDisconnection']='cs:removeUser'===_0x4e9045[_0x1b108d]['type'],_0x39ff59['createdAt']=_0x4e9045[_0x1b108d]['createdAt'],_0x39ff59;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2ad2a6=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2ad2a6&&_0x2ad2a6['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x2dd9d6,_0x5650a3){for(const _0x59808f of _0x2dd9d6)_0x59808f['baseVersion']=_0x5650a3++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x597f07){this['_ignoredOperations']=_0x597f07,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x501e38){let _0x329e6b=_0x501e38['length'];for(;_0x329e6b--;){const _0x4e320c=_0x501e38[_0x329e6b];if(!this['_ignoredOperations']['has'](_0x4e320c)){if(!this['_operationToId']['has'](_0x4e320c)){const _0x553cd3=_0x2ba072()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4e320c,_0x553cd3);}return this['_operationToId']['get'](_0x4e320c);}}}['setIdForTheLastOperation'](_0x11634f,_0x56d320){if(!_0x56d320)return;let _0x58e593=_0x11634f['length'];for(;_0x58e593--;){const _0x1b910f=_0x11634f[_0x58e593];this['_ignoredOperations']['has'](_0x1b910f)||this['_operationToId']['set'](_0x1b910f,_0x56d320);}}}class a extends _0x56585b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x41f59a{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x33f93a)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x2d9a51];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5e5491){super(_0x5e5491),this['_services']=new Map();}async['init'](){const _0x5a0910=this['context'],_0x4d1c84=_0x5a0910['plugins']['get']('CommentsRepository');if(_0x5a0910['plugins']['get'](n)['addToReconnectionStack'](this),_0x4d1c84['adapter']={'addCommentThread':async({channelId:_0x1fc40c,threadId:_0x1dc15b,comments:_0x272140,resolvedAt:_0x5d6fb8,resolvedBy:_0x45e2bd,context:_0x2c36a3,attributes:_0x241c80})=>{const _0x5b7a81=await this['_getService'](_0x1fc40c)['addCommentThread']({'commentThreadId':_0x1dc15b,'comments':_0x272140['map'](_0xaaafce=>function(_0x2ae47a,_0x25dec7,_0x34b100){return{'commentThreadId':_0x34b100,'commentId':_0x2ae47a['commentId'],'userId':_0x2ae47a['authorId'],'content':_0x2ae47a['content'],'documentId':_0x25dec7,'createdAt':_0x2ae47a['createdAt'],'attributes':_0x2ae47a['attributes']||{}};}(_0xaaafce,_0x1fc40c,_0x1dc15b)),'resolvedAt':_0x5d6fb8,'resolvedBy':_0x45e2bd,'context':_0x2c36a3,'attributes':_0x241c80})['catch'](dt);return{'threadId':_0x5b7a81['commentThreadId'],'comments':_0x5b7a81['comments']};},'getCommentThread':async({channelId:_0x5ad39e,threadId:_0xa845b})=>{const _0x43828e=await this['_getService'](_0x5ad39e)['getCommentThread'](_0xa845b)['catch'](f)['catch'](dt);return _0x43828e?_0x43828e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x43828e]),{'threadId':_0x43828e['commentThreadId'],'comments':_0x43828e['comments']['map'](p),'context':_0x43828e['context'],'resolvedAt':_0x43828e['resolvedAt'],'resolvedBy':_0x43828e['resolvedBy'],'attributes':_0x43828e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x285bdc,threadId:_0x4a8d07,context:_0x298242,unlinkedAt:_0x39f227,attributes:_0x337bba})=>this['_getService'](_0x285bdc)['updateCommentThread']({'commentThreadId':_0x4a8d07,'context':_0x298242,'attributes':_0x337bba,'unlinkedAt':_0x39f227})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x1ca5c6,threadId:_0x4a0d63})=>{const _0x1effd4=await this['_getService'](_0x1ca5c6)['resolveCommentThread'](_0x4a0d63)['catch'](f)['catch'](dt);return{'threadId':_0x1effd4['commentThreadId'],'resolvedAt':_0x1effd4['resolvedAt'],'resolvedBy':_0x1effd4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1ea5d2,threadId:_0x500e42})=>this['_getService'](_0x1ea5d2)['reopenCommentThread'](_0x500e42)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x4e0d9b,threadId:_0x1ecb4b})=>this['_getService'](_0x4e0d9b)['removeCommentThread'](_0x1ecb4b)['catch'](f)['catch'](dt),'addComment':({channelId:_0x539be7,threadId:_0x577c22,commentId:_0x39b3e6,content:_0x4ecbab,attributes:_0x2dbf75})=>this['_getService'](_0x539be7)['addComment'](_0x577c22,_0x39b3e6,_0x4ecbab,_0x2dbf75)['catch'](dt),'updateComment':({channelId:_0x18654d,threadId:_0x1032fc,commentId:_0x4a8dd2,content:_0x48f859,attributes:_0x352e75})=>this['_getService'](_0x18654d)['updateComment'](_0x1032fc,_0x4a8dd2,_0x48f859,_0x352e75)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x59e585,threadId:_0x524b58,commentId:_0x2cf307})=>this['_getService'](_0x59e585)['removeComment'](_0x524b58,_0x2cf307)['catch'](f)['catch'](dt)},_0x5a0910 instanceof _0x4cf009){const _0x1c2055=_0x5a0910['config']['get']('collaboration.channelId'),_0x507ab6=_0x5a0910['plugins']['get'](i);await this['_setUpService'](_0x1c2055);const _0x4644d9=await this['_services']['get'](_0x1c2055)['getConnectedSessions']();this['listenTo'](_0x507ab6,'sessionAdd:'+_0x1c2055,(_0x1e124e,{session:_0x188b8d})=>{_0x188b8d['id']===_0x507ab6['mySessionId']&&(_0x1e124e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x188b8d['permissions'],_0x1c2055));}),_0x507ab6['register'](_0x1c2055,_0x4644d9);}}async['_setUpService'](_0x118257){if(this['_services']['has'](_0x118257))throw new _0x1ab299('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x118257});const _0x2c1d9d=this['context']['plugins']['get']('CommentsRepository'),_0x4efc06=new s['CommentsService'](_0x118257);this['_services']['set'](_0x118257,_0x4efc06),this['listenTo'](_0x4efc06,'commentThreadAdded',(_0x2bb974,_0x16dd6d)=>{const {commentThreadId:_0x8170ef,documentId:_0x52991c,context:_0x3b0bec,attributes:_0x7d2149,resolvedAt:_0x1cb7e8,resolvedBy:_0x233fc5,comments:_0x5007b7}=_0x16dd6d;_0x2c1d9d['getCommentThread'](_0x8170ef)||_0x2c1d9d['addCommentThread']({'threadId':_0x8170ef,'channelId':_0x52991c,'comments':_0x5007b7?_0x5007b7['map'](p):[],'context':_0x3b0bec,'attributes':_0x7d2149,'resolvedAt':_0x1cb7e8,'resolvedBy':_0x233fc5,'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentThreadUpdated',(_0x4768d4,{commentThreadId:_0x4b8ed5,documentId:_0x3ff8b6,context:_0x55635f,unlinkedAt:_0x147df4,attributes:_0x5a2168})=>{_0x2c1d9d['getCommentThread'](_0x4b8ed5)&&_0x2c1d9d['updateCommentThread']({'threadId':_0x4b8ed5,'channelId':_0x3ff8b6,'context':_0x55635f,'unlinkedAt':_0x147df4,'attributes':_0x5a2168,'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentThreadResolved',(_0x3a8abc,{commentThreadId:_0x4efee9,resolvedBy:_0x349fb8,resolvedAt:_0x52daa4})=>{const _0x5390b1=_0x2c1d9d['getCommentThread'](_0x4efee9);_0x5390b1&&_0x5390b1['resolve']({'resolvedBy':_0x349fb8,'resolvedAt':_0x52daa4,'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentThreadReopened',(_0x3e3f7b,{commentThreadId:_0x43121c})=>{const _0x548efa=_0x2c1d9d['getCommentThread'](_0x43121c);_0x548efa&&_0x548efa['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentThreadRemoved',(_0x57a49f,{commentThreadId:_0x2d225e})=>{const _0x134835=_0x2c1d9d['getCommentThread'](_0x2d225e);_0x134835&&_0x134835['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentAdded',(_0x8aea1a,_0x58e50b)=>{const _0x69c1e=_0x58e50b['commentThreadId'],_0xfa3afd=_0x2c1d9d['getCommentThread'](_0x69c1e);_0xfa3afd&&_0xfa3afd['addComment']({...p(_0x58e50b),'isFromAdapter':!0x0});}),this['listenTo'](_0x4efc06,'commentUpdated',(_0x79dc85,{commentThreadId:_0xbe0dc2,commentId:_0x50d5e5,content:_0x25e411,attributes:_0x52a685})=>{const _0x234d84=_0x2c1d9d['getCommentThread'](_0xbe0dc2);if(_0x234d84){const _0x522188=_0x234d84['getComment'](_0x50d5e5);_0x522188&&_0x522188['update']({'content':_0x25e411,'attributes':_0x52a685,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4efc06,'commentRemoved',(_0x2d5f46,{commentThreadId:_0x6e2e8b,commentId:_0x40f39e})=>{const _0x53e93a=_0x2c1d9d['getCommentThread'](_0x6e2e8b);if(_0x53e93a){const _0x489b76=_0x53e93a['getComment'](_0x40f39e);_0x489b76&&_0x489b76['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x118257);}['destroy'](){if(this['context']instanceof _0x4cf009){const _0x26994c=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x26994c);}}['_terminateService'](_0x3a6b70){if(!this['_services']['has'](_0x3a6b70))throw new _0x1ab299('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3a6b70});this['_getService'](_0x3a6b70)['disconnect'](),this['_services']['delete'](_0x3a6b70);}async['reconnect'](){for(const _0x408e90 of this['_services']['keys']())await this['_connectService'](_0x408e90);if(this['context']instanceof _0x4cf009){const _0x3b1009=this['context']['config']['get']('collaboration.channelId'),_0x4b9c81=this['context']['plugins']['get'](i);_0x4b9c81['unregister'](_0x3b1009);const _0xdfb114=await this['_services']['get'](_0x3b1009)['getConnectedSessions']();_0x4b9c81['register'](_0x3b1009,_0xdfb114);}}async['_connectService'](_0x5a0298){const {connection:_0x107a46}=this['context']['plugins']['get'](n),_0x502514=this['context']['plugins']['get']('CommentsRepository'),_0x2070aa=this['_services']['get'](_0x5a0298),_0xc57bb4=await _0x2070aa['connect'](_0x107a46);await this['_fetchMissingUsersForThreads'](_0xc57bb4);const _0x2bc9e6=new Set(Array['from'](_0x502514['getCommentThreads']({'channelId':_0x5a0298}),_0x443b2d=>_0x443b2d['id']));for(const _0x3e49fc of _0xc57bb4)_0x3e49fc['deletedAt']||_0x2bc9e6['delete'](_0x3e49fc['commentThreadId']);for(const _0x12adfc of _0x2bc9e6)_0x502514['getCommentThread'](_0x12adfc)['remove']({'isFromAdapter':!0x0});for(const _0x1480b0 of _0xc57bb4){let _0x4fd713=_0x502514['getCommentThread'](_0x1480b0['commentThreadId']);const {commentThreadId:_0x275dc1,context:_0x434977,attributes:_0x145686,resolvedBy:_0x1000f,resolvedAt:_0x47199e,unlinkedAt:_0x511fe4,deletedAt:_0x12bc92}=_0x1480b0;if(_0x12bc92)continue;_0x4fd713||(_0x4fd713=_0x502514['addCommentThread']({'channelId':_0x5a0298,'threadId':_0x275dc1,'context':_0x434977,'attributes':_0x145686||{},'resolvedBy':_0x1000f,'resolvedAt':_0x47199e,'unlinkedAt':_0x511fe4,'isFromAdapter':!0x0}));const _0x44dd6f=new Set(Array['from'](_0x4fd713['comments'],_0x8e6a78=>_0x8e6a78['id']));for(const _0xd9119f of _0x1480b0['comments'])_0x44dd6f['delete'](_0xd9119f['commentId']);for(const _0x3b8251 of _0x44dd6f)_0x4fd713['getComment'](_0x3b8251)['remove']({'isFromAdapter':!0x0});for(const _0x4bef4c of _0x1480b0['comments']){const _0x47e3c5=_0x4fd713['getComment'](_0x4bef4c['commentId']);_0x47e3c5?_0x47e3c5['content']!==_0x4bef4c['content']&&_0x47e3c5['update']({'content':_0x4bef4c['content'],'isFromAdapter':!0x0}):_0x4fd713['addComment'](Object['assign'](p(_0x4bef4c),{'isFromAdapter':!0x0}));}}}['_getService'](_0x158c7b){if(!this['_services']['has'](_0x158c7b))throw new _0x1ab299('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x158c7b});return this['_services']['get'](_0x158c7b);}async['_fetchMissingUsersForThreads'](_0x419f0b){const _0x455818=this['context']['plugins']['get'](_0x2d9a51),{connection:_0x1c910c}=this['context']['plugins']['get'](n),_0x464cc6=new Set();for(const {resolvedBy:_0x38976f,comments:_0x555a8b}of _0x419f0b){_0x38976f&&!_0x455818['getUser'](_0x38976f)&&_0x464cc6['add'](_0x38976f);for(const {userId:_0x54b270}of _0x555a8b)_0x455818['getUser'](_0x54b270)||_0x464cc6['add'](_0x54b270);}if(0x0===_0x464cc6['size'])return;const _0x3b50b6=await lt['getMany'](_0x1c910c,Array['from'](_0x464cc6));for(const _0x497963 of _0x3b50b6)_0x455818['getUser'](_0x497963['id'])||_0x455818['addUser'](_0x497963);}}async function f(_0x5dc174){if('404'!==_0x5dc174['code'])throw _0x5dc174;}function dt(_0x502337){if((_0x36d579=_0x502337)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x36d579['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36d579['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x36d579;throw _0x502337;}function p(_0x226709){return{'threadId':_0x226709['commentThreadId'],'commentId':_0x226709['commentId'],'content':_0x226709['content'],'createdAt':_0x226709['createdAt'],'authorId':_0x226709['userId'],'attributes':_0x226709['attributes']||{}};}class m extends _0x56585b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_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(_0x3940a2){super(_0x3940a2);const _0x3cc546=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3cc546);}['init'](){const _0x283cba=this['editor']['plugins']['get'](n),_0x53159e=this['editor']['plugins']['get']('TrackChangesEditing');return _0x53159e['adapter']={'getSuggestion':async _0x156301=>{await this['_waitForServiceReady']();const _0x3e53d4=await this['_trackChangesService']['get'](_0x156301)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3e53d4]),_0x3e53d4;},'addSuggestion':async({id:_0x251cdc,type:_0x3385d4,data:_0xa3818a,originalSuggestionId:_0x338e92,attributes:_0x3fffdc})=>{await this['_waitForServiceReady']();const _0x18f644={'id':_0x251cdc,'type':_0x3385d4,'data':_0xa3818a,'originalSuggestionId':_0x338e92,'attributes':_0x3fffdc},_0x2cf735=await this['_trackChangesService']['add'](_0x251cdc,_0x3385d4,_0xa3818a,_0x338e92,_0x3fffdc)['catch'](_0x44451e=>{if(ut(_0x44451e))return new Promise(_0x16b4b5=>{this['_bufferedRequests']['set'](_0x251cdc,{'resolve':_0x16b4b5,'suggestionData':_0x18f644});});throw _0x44451e;});return this['_bufferedRequests']['delete'](_0x251cdc),_0x2cf735;},'updateSuggestion':async(_0x38910b,_0x1c1aac)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1c1aac['state'])return this['_trackChangesService']['update'](_0x38910b,_0x1c1aac)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4d5df3,_0x15ae45)=>{_0x53159e['hasSuggestion'](_0x15ae45['id'])&&(_0x53159e['getSuggestion'](_0x15ae45['id'])['attributes']=_0x15ae45['attributes']);}),this['_trackChangesService']['connect'](_0x283cba['connection'])['then'](_0x21f538=>(_0x283cba['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x21f538)['then'](()=>{for(const _0xffce48 of _0x21f538){_0x53159e['addSuggestionData'](_0xffce48)['_saved']=!0x0;}})));}async['reconnect'](){const _0x359e3a=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x41a76c}=this['editor']['plugins']['get'](n),_0x5cb1d8=await this['_trackChangesService']['connect'](_0x41a76c);await this['_fetchMissingUsersForThreads'](_0x5cb1d8);for(const {suggestionData:_0x100e98,resolve:_0x3894e3}of this['_bufferedRequests']['values']()){let _0x3b2c19=_0x5cb1d8['find'](_0x32961f=>_0x32961f['id']===_0x100e98['id']);_0x3b2c19||(_0x3b2c19=await this['_trackChangesService']['add'](_0x100e98['id'],_0x100e98['type'],_0x100e98['data'],_0x100e98['originalSuggestionId'])),_0x3894e3(_0x3b2c19);}for(const _0x637a06 of _0x5cb1d8)_0x359e3a['hasSuggestion'](_0x637a06['id'])||_0x359e3a['addSuggestionData'](_0x637a06);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x442034=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5f2ce9=>{_0x5f2ce9['off'](),_0x442034();});});}async['_fetchMissingUsersForThreads'](_0x209d45){const _0x209753=this['editor']['plugins']['get'](_0x2d9a51),{connection:_0x32d29a}=this['editor']['plugins']['get'](n),_0x10ab63=new Set();for(const {authorId:_0x32bde4}of _0x209d45)_0x209753['getUser'](_0x32bde4)||_0x10ab63['add'](_0x32bde4);if(0x0===_0x10ab63['size'])return;const _0x22d79b=await lt['getMany'](_0x32d29a,Array['from'](_0x10ab63));for(const _0x4aa036 of _0x22d79b)_0x209753['getUser'](_0x4aa036['id'])||_0x209753['addUser'](_0x4aa036);}}function A(_0x591b39){if(ut(_0x591b39))return new Promise(()=>{});throw _0x591b39;}function ut(_0x561d3e){return _0x561d3e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x561d3e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x56585b{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 _0x4a9d96=this['editor']['plugins']['get'](n),_0x5e1e91=this['editor']['plugins']['get']('CommentsEditing'),_0x8ef4f8=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4a9d96,'change:state',(_0x7a6a93,_0x4cc3b6,_0x30217f)=>{_0x5e1e91['isThreadsLoadingPaused']='connected'!==_0x30217f;});}),this['listenTo'](_0x4a9d96,'change:state',(_0x385dbf,_0x1e87d7,_0x1bdf74)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1bdf74);}),_0x8ef4f8['_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 _0x56585b{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 _0x56585b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x2d9a51];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5e8ccd){super(_0x5e8ccd);const _0x48b336=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x48b336);}async['init'](){const _0x3cec1d=this['editor']['plugins']['get'](l),_0x5e48b4=_0x3cec1d['serverHistory'],_0x3f5e07=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5e48b4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x3cec1d['sessionId']});const _0x446c33=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x129bd0=await it['isBundleUploaded'](_0x3f5e07['connection'],_0x446c33);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x414526})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x414526)),'updateRevisions':async _0x400d97=>{await this['_waitForServiceReady']();const _0x1ae7f9=this['_revisionTracker']['currentRevision'];if(_0x129bd0&&0x1===_0x400d97['length']&&_0x400d97[0x0]['id']===_0x1ae7f9['id'])return _0x400d97;for(const _0x2092f6 of _0x400d97)_0x2092f6['id']===_0x1ae7f9['id']&&(_0x2092f6['isEmptyCurrent']=_0x2092f6['fromVersion']===_0x2092f6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x400d97,this['_lastRequestId'])['then'](_0x8809b8=>(this['_lastRequestId']=_0x8809b8,_0x400d97))['catch'](_0x7aa56b=>{if(et(_0x7aa56b)||'400'===_0x7aa56b['code']&&void 0x0!==_0x7aa56b['data']['wrongRequestId']){for(const _0x20cd12 of _0x400d97){!this['_revisionTracker']['repository']['getRevision'](_0x20cd12['id'])||this['_revisionTracker']['_bufferUpdate'](_0x20cd12['id'],_0x20cd12,!0x1);}if(et(_0x7aa56b))throw _0x7aa56b;return _0x400d97;}throw _0x7aa56b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x51eba8,{revisionsData:_0x4f8af0,requestId:_0x608f05})=>{Math['max'](..._0x4f8af0['map'](_0x11d10f=>_0x11d10f['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4f8af0,_0x608f05);}):this['_handleRevisionsUpdate'](_0x4f8af0,_0x608f05);});const {revisions:_0x2e0110,requestId:_0x409106}=await this['_revisionHistoryService']['connect'](_0x3f5e07['connection']);_0x3f5e07['addToReconnectionStack'](this),this['_lastRequestId']=_0x409106,await this['_fetchMissingUsers'](_0x2e0110);for(const _0x2b5eb5 of _0x2e0110)this['_revisionTracker']['addRevisionData'](_0x2b5eb5);this['listenTo'](_0x3cec1d,'change:_isConnected',(_0x4c8315,_0x1bf015,_0x514672)=>{_0x514672&&(this['_oldOffset']=_0x3cec1d['_offset'],_0x4c8315['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3f5e07,'state',_0x5a77a5=>_0x5a77a5===te['CONNECTED']);}async['reconnect'](){const _0x57fe9b=this['editor']['plugins']['get'](n),_0x125ea4=this['editor']['plugins']['get'](l),_0x1bd42d=async()=>{const _0x1e60c8=this['_revisionTracker']['currentRevision'],_0x509fff=_0x1e60c8['id'],_0x7a1697=_0x509fff!==_0x125ea4['sessionId'];if(_0x7a1697){const _0x104856=_0x125ea4['_offset']-this['_oldOffset'],_0x2b83c4=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1e60c8['toVersion']+_0x104856!==_0x2b83c4){const _0x200fd3=_0x1e60c8['fromVersion']+_0x104856,_0x575580=this['editor']['plugins']['get'](_0x2d9a51),_0x55718b=this['_revisionTracker']['buildRevisionData']({'revision':_0x1e60c8,'from':_0x200fd3,'to':_0x2b83c4});_0x55718b['id']=_0x1e60c8['id'];const _0x49bc9a=_0x55718b['authorsIds']['map'](_0x5ca61f=>_0x575580['getUser'](_0x5ca61f));_0x1e60c8['_update']({..._0x55718b,'authors':_0x49bc9a},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1e60c8['id'],_0x55718b,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2b83c4,(_0x1e60c8['toVersion']===_0x1e60c8['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x509fff)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x509fff),this['_revisionTracker']['_createCurrentRevision'](_0x2b83c4));}const {revisions:_0x1d3167,requestId:_0x4d8055}=await this['_revisionHistoryService']['reconnect'](_0x57fe9b['connection'],this['_lastRequestId']);_0x7a1697&&_0x1d3167['length']>0x0?_0x125ea4['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x1d3167),this['_handleRevisionsUpdate'](_0x1d3167,_0x4d8055),this['_revisionTracker']['sendBufferedUpdates']());};return _0x125ea4['_isConnected']?_0x1bd42d():new Promise((_0x44dbab,_0x4c86ff)=>{_0x125ea4['once']('change:_isConnected',()=>{_0x1bd42d()['then'](_0x44dbab)['catch'](_0x4c86ff);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x30b7b3=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x51f525=>{_0x51f525['off'](),_0x30b7b3();});});}['_getLatestVersionFromServerOperations'](){const _0x3431bd=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x45cc42 of _0x3431bd)if('marker'!==_0x45cc42['type']||_0x45cc42['affectsData'])return _0x45cc42['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1c2c1e=this['editor']['plugins']['get'](l);return new Promise(_0x4a1ae3=>{_0x1c2c1e['_isPendingUpdate']?_0x1c2c1e['once']('change:_isPendingUpdate',()=>{_0x4a1ae3(this['_getLatestVersionFromServerOperations']());}):_0x4a1ae3(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1b44d3,_0x5cda5c){const _0x499e53=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5cda5c;for(const _0x140217 of _0x1b44d3){const _0x22a94a=_0x499e53['getRevision'](_0x140217['id']);if(_0x22a94a){if((_0x140217['fromVersion']||_0x140217['toVersion'])&&(_0x140217['diffData']=null),_0x22a94a===this['_revisionTracker']['currentRevision']){const _0x4ab558=Math['max'](_0x22a94a['toVersion'],_0x140217['toVersion']),_0xc9634e=Math['max'](_0x22a94a['fromVersion'],_0x140217['fromVersion']);let _0x4062c6;_0x22a94a['toVersion']===_0x140217['toVersion']&&_0x22a94a['fromVersion']===_0x140217['fromVersion']?(_0x4062c6=!0x0,this['_preventResendingRevisionData'](_0x140217)):_0x140217['toVersion']===_0x4ab558&&_0x140217['fromVersion']===_0xc9634e?_0x4062c6=!0x1:(_0x22a94a['toVersion']===_0x4ab558&&_0x22a94a['fromVersion']===_0xc9634e||this['_fixRevision']({'revision':_0x22a94a,'from':_0xc9634e,'to':_0x4ab558}),_0x4062c6=!0x0),_0x4062c6&&(delete _0x140217['fromVersion'],delete _0x140217['toVersion'],delete _0x140217['diffData'],delete _0x140217['createdAt'],delete _0x140217['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x140217),this['_preventResendingRevisionData'](_0x140217);}else this['_revisionTracker']['addRevisionData'](_0x140217);}const _0x20dc48=_0x499e53['getRevisions']();_0x20dc48['reverse']();for(let _0x987b80=0x0;_0x987b80<_0x20dc48['length']-0x1;_0x987b80++){const _0x4a8cbb=_0x20dc48[_0x987b80],_0xe0f59=_0x20dc48[_0x987b80+0x1];if(_0x4a8cbb['fromVersion']<_0xe0f59['toVersion']){const _0x329746=_0xe0f59['toVersion'],_0x44279f=Math['max'](_0x329746,_0x4a8cbb['toVersion']);this['_fixRevision']({'revision':_0x4a8cbb,'from':_0x329746,'to':_0x44279f});}}}['_fixRevision']({revision:_0x1ca338,from:_0x40bc56,to:_0x15b505}={}){const _0xb82fe0=this['editor']['plugins']['get'](_0x2d9a51),_0x45e734=this['_revisionTracker']['buildRevisionData']({'revision':_0x1ca338,'from':_0x40bc56,'to':_0x15b505});_0x45e734['authors']=_0x45e734['authorsIds']['map'](_0x74de3=>_0xb82fe0['getUser'](_0x74de3)),_0x1ca338['_update'](_0x45e734);}['_preventResendingRevisionData'](_0x4eefc6){const _0x23f532={};_0x23f532['id']=_0x4eefc6['id'];for(const _0x42188c of Object['keys'](_0x4eefc6))'id'!==_0x42188c&&(_0x23f532[_0x42188c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x23f532['id'],_0x23f532,!0x0);}async['_fetchMissingUsers'](_0x23fbe1){const _0x23c85c=this['editor']['plugins']['get'](_0x2d9a51),{connection:_0x474196}=this['editor']['plugins']['get'](n),_0x4e7943=new Set();for(const _0x1ceda0 of _0x23fbe1){for(const _0x10a77d of _0x1ceda0['authorsIds'])_0x2bf974(_0x10a77d);_0x1ceda0['creatorId']&&_0x2bf974(_0x1ceda0['creatorId']);}if(0x0===_0x4e7943['size'])return;const _0x14d050=await lt['getMany'](_0x474196,Array['from'](_0x4e7943));for(const _0x1d3001 of _0x14d050)_0x23c85c['getUser'](_0x1d3001['id'])||_0x23c85c['addUser'](_0x1d3001);function _0x2bf974(_0x1ecd72){_0x23c85c['getUser'](_0x1ecd72)||_0x4e7943['add'](_0x1ecd72);}}}function et(_0x2fd748){return _0x2fd748['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2fd748['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2fd748['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x56585b{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 _0x204302{['_collapseAt'];constructor(_0x2926cf,_0x187ba5=0x6){super(_0x2926cf);const _0x29f1b0=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x187ba5,this['bind']('isHidden')['to'](this,'usersCount',_0x198de8=>_0x198de8<_0x187ba5),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x29f1b0['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':_0x29f1b0['to']('usersCount',_0x558a6d=>'+'+(_0x558a6d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x204302{['items'];['keystrokes'];constructor(_0xdcef56){super(_0xdcef56);const _0x380ce3=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x15af9b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x380ce3['if']('hasPopup'),'aria-expanded':_0x380ce3['to']('isExpanded',_0x4304da=>this['hasPopup']&&String(_0x4304da)),'aria-label':_0x380ce3['to']('hasPopup',_0x5ad7a0=>W(_0xdcef56,_0x5ad7a0?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x380ce3['to']('hasPopup',_0x5443a2=>!!_0x5443a2&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x380ce3['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x380ce3['to'](_0x83dc20=>{const _0x1bd3c3=_0x83dc20,_0x32b61f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x57ec9c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x32b61f?.['contains'](_0x1bd3c3['relatedTarget'])||_0x57ec9c?.['contains'](_0x1bd3c3['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xb39d7c,_0x2d63a8,_0x26ca32)=>{this['element']&&(_0x26ca32?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 _0x204302{['counterView'];['inlineListView'];constructor(_0x584ee7,_0x2dae01=0x6){super(_0x584ee7);const _0x2ea6b3=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x2dae01),this['inlineListView']=new is(_0x584ee7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1adc29 of this['inlineListView']['items'])_0x1adc29['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',_0x2ea6b3['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x204302{['listWrapperView'];constructor(_0x3e9e34,_0x1f14f7){super(_0x3e9e34);const _0x474bef=this['bindTemplate'];this['listWrapperView']=new pt(_0x3e9e34,_0x1f14f7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x3e9e34,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x474bef['to'](_0x5a7672=>{const _0x3003c4=_0x5a7672,_0x25665e=document['querySelector']('.ck-presence-list__list'),_0x521213=document['querySelector']('.ck-balloon-panel_with-arrow');_0x25665e?.['contains'](_0x3003c4['relatedTarget'])||_0x521213?.['contains'](_0x3003c4['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x1bf283{constructor(_0x45dc35,_0xd657e1){super(_0x45dc35);const _0x255202=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xd657e1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x255202['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x255202['to']('role'),'aria-label':_0x255202['to']('ariaLabel'),'aria-labelledby':_0x255202['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0xeba9f5['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1848b4=this['element'];_0x1848b4&&(this['_isScrollable']=Math['max'](_0x1848b4['scrollHeight'],_0x1848b4['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x40ec8b,_0x2f0b6f,_0x28265f){super(_0x40ec8b);const _0x396491=this['bindTemplate'];this['userView']=new ct(_0x40ec8b,_0x2f0b6f);const _0x19dee9={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2f0b6f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2f0b6f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2f0b6f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x28265f&&(_0x19dee9['tag']='button',_0x19dee9['on']={'click':_0x396491['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x19dee9);}['focus'](){this['element']['focus']();}}class _ extends _0x204302{['userView'];['markerView'];constructor(_0x5ed56e,_0x161c5f,_0x134fa7){super(_0x5ed56e);const _0x30e5b6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x5ed56e,_0x161c5f),this['markerView']=new at(_0x5ed56e,_0x161c5f);const _0x3c2e44=new ot(_0x5ed56e);_0x3c2e44['template']['tag']='span',_0x3c2e44['text']=_0x161c5f['name'];const _0xbe7ed={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x30e5b6['to']('isFocusable',_0x389eaa=>!!_0x389eaa&&0x0),'aria-labelledby':_0x3c2e44['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x30e5b6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x30e5b6['to']('hasTooltip',_0x17d801=>!_0x17d801),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3c2e44]};_0x134fa7&&(_0xbe7ed['tag']='button',_0xbe7ed['on']={'click':_0x30e5b6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xbe7ed);}}class at extends _0x204302{constructor(_0xae3157,_0x507134){super(_0xae3157),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x507134['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x41f59a{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b63de){super(_0x2b63de),this['context']['config']['define']('presenceList',U);const _0x38cb5a=_0x2b63de['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x38cb5a)throw new _0x1ab299('presencelist-collapseat-invalid-format',this);if(_0x38cb5a<0x1)throw new _0x1ab299('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5de1df(),this['balloonPanelView']=new _0x35d4fb(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1efb6f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1efb6f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3db6f1,_0x295fc5)=>{this['_handleUserAdd'](_0x295fc5);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x22fc27,_0x455cd2)=>{this['_handleUserRemove'](_0x455cd2);});}['_createView'](){const _0x1e9084=this['context'],_0x34f804=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x50a6c5=this['balloonPanelView'];if(!_0x35293d(_0x1e9084['config']['get']('presenceList.container')))throw new _0x1ab299('presencelist-missing-container',this);return _0x34f804['counterView']['bind']('usersCount')['to'](this),_0x34f804['bind']('isCollapsed')['to'](this,'usersCount',_0x5697a3=>{const {collapseAt:_0x53a675}=_0x1e9084['config']['get']('presenceList'),_0xdc7bb9=_0x5697a3>=_0x53a675;if(_0xdc7bb9&&!_0x34f804['inlineListView']['items']['find'](_0x19c29c=>_0x19c29c instanceof y)){const _0x947858=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x947858&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x34f804['inlineListView']['items']['add'](_0x34f804['counterView']);}return _0xdc7bb9||this['hideDropdown'](),_0xdc7bb9;}),_0x34f804['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x32bf28=>{const _0x114f0e=_0x1e9084['config']['get']('presenceList'),_0x2763df=new _(_0x1e9084['locale'],_0x32bf28,!!_0x114f0e['onClick']);return _0x2763df['bind']('hasTooltip')['to'](_0x34f804,'isCollapsed',_0x5c3e38=>!_0x5c3e38),_0x2763df['bind']('isFocusable')['to'](_0x34f804,'isCollapsed',_0x158391=>!_0x158391),_0x114f0e['onClick']&&this['listenTo'](_0x2763df,'execute',()=>{this['view']['isCollapsed']||_0x114f0e['onClick'](_0x32bf28,_0x2763df['element']);}),_0x2763df;}),this['listenTo'](_0x34f804['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x34f804['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x34f804['inlineListView']['keystrokes']['set']('Enter',(_0x6e2a82,_0x4a96e3)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4a96e3());}),_0x34f804['render'](),_0x50a6c5['render'](),_0x303cd4({'emitter':_0x34f804,'activator':()=>_0x50a6c5['isVisible'],'contextElements':[_0x50a6c5['element'],_0x34f804['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1e9084['config']['get']('presenceList.container')['appendChild'](_0x34f804['element']),this['_bodyCollection']=new _0x2fe61b(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x34f804;}['_handleUserAdd'](_0x53b6b6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x53b6b6['isMe'])return;const _0x1212a9=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x1212a9-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xa046d9=_0x53b6b6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x53b6b6,_0xa046d9);}['_handleUserRemove'](_0x324348){this['usersCount']--;const {collapseAt:_0x146d52}=this['context']['config']['get']('presenceList'),_0x21b14f=this['usersCount']>=_0x146d52;if(this['currentDisplayedUsers']['get'](_0x324348['id']))this['currentDisplayedUsers']['remove'](_0x324348['id']);else{if(_0x21b14f&&this['currentDisplayedUsers']['length']+0x1===_0x146d52-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x21b14f?0x1:0x0)<this['usersCount']){for(const _0x462076 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x462076['id'])&&(this['currentDisplayedUsers']['add'](_0x462076,Math['min'](this['currentDisplayedUsers']['length']-(_0x21b14f?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x21b14f?0x1:0x0)===_0x146d52-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x61dcb1=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x61dcb1['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4299c1}=this['presenceDropdownView'];_0x4299c1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5c2cf6=>{if(!_0x61dcb1['displayMe']&&_0x5c2cf6['isMe'])return null;const _0x1f9b90=new P(this['context']['locale'],_0x5c2cf6,!!_0x61dcb1['onClick']);return _0x61dcb1['onClick']&&this['listenTo'](_0x1f9b90,'execute',()=>{_0x61dcb1['onClick'](_0x5c2cf6,_0x1f9b90['element']);}),_0x1f9b90;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4299c1['focus'](),_0x4299c1['checkIfScrollable']();const _0x1f5139=(_0x4ec0ce,_0x41ec3a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x41ec3a();};_0x4299c1['keystrokes']['set']('Esc',_0x1f5139),_0x4299c1['keystrokes']['set']('Shift+Tab',_0x1f5139),_0x4299c1['keystrokes']['set']('Tab',(_0x63a4ed,_0x1bfb6f)=>{!function(_0x215ef0){const _0x675b21=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x240316=>_0x240316+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x49bd72=[...document['body']['querySelectorAll'](_0x675b21)]['filter'](_0x2f1269=>_0x2f1269===document['activeElement']||_0x2f1269['offsetWidth']+_0x2f1269['offsetHeight']>0x0)['sort']((_0x10f840,_0xad662)=>(_0x10f840['tabIndex']||0x0)-(_0xad662['tabIndex']||0x0)),_0x2d919a=_0x49bd72['indexOf'](_0x215ef0),_0x2f2020=_0x49bd72[(_0x2d919a+0x1)%_0x49bd72['length']];_0x2f2020&&_0x2f2020['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1bfb6f();}),_0x4299c1['focusTracker']['add'](this['view']['element']),_0x4299c1['focusTracker']['on']('change:isFocused',(_0x55d350,_0x2b488a,_0x5a3963)=>{_0x5a3963||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 _0x41f59a{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 _0x3c4a20,Plugin as _0x48f48e,PendingActions as _0xce00af,Context as _0x2be848}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xba3cf1,CKEditorError as _0xc85303,Collection as _0x34a3f1,global as _0x4ec46b,version as nt,uid as _0x554784,KeystrokeHandler as _0x394896}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x28f9a8,View as _0x30fc24,ListView as _0x55838b,ListItemView as ct,LabelView as at,BalloonPanelView as _0x4cd3ca,clickOutsideHandler as _0x3647d9,BodyCollection as _0x3399fb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4f73e7,History as _0x25e414,NoOperation as _0x2c227a,InsertOperation as _0x9a6876,MarkerOperation as _0x37fc56,RootAttributeOperation as _0x4bcd6c,transformOperationSets as _0x5ca9b4,OperationFactory as _0x335a0b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x224891,CollaborativeEditingService as _0x76e626,User as ut,CommentsService as _0x2573cf,TrackChangesService as _0x1cba5f,RevisionHistoryService as _0x3c4de0,EditorService as _0x5d34f7}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1ba899,UserView as ot}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xcaacee}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x466c71}from'es-toolkit/compat';class n extends _0x3c4a20{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x28f9a8];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1045d7){super(_0x1045d7),this['set']('state',_0x224891['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xba3cf1())();}['init'](){const _0xd724d1=this['context'],_0x42d40e=_0xd724d1['plugins']['get']('CloudServices'),_0xb25346=_0xd724d1['plugins']['get'](_0x28f9a8);if(!_0x42d40e['token'])throw new _0xc85303('websocketgateway-missing-token',this);if(!_0x42d40e['webSocketUrl'])throw new _0xc85303('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'](_0x42d40e['token'],_0x42d40e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x13831a=>{if(this['connection']=_0x13831a,this['bind']('state')['to'](_0x13831a,'state',this,'_isBrowserOffline',(_0x372bdd,_0x330ba4)=>('connected'!==_0x372bdd&&(this['_shouldPluginsReconnect']=!0x0),_0x330ba4||_0x372bdd!==_0x224891['CONNECTED']?_0x224891['DISCONNECTED']:this['state']==_0x224891['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x224891['CONNECTING']):_0x224891['CONNECTED'])),this['connection']['on']('error',(_0x1c93df,_0x28bbca)=>{if('limitExceeded'!==_0x28bbca['code'])throw console['error'](_0x28bbca),new _0xc85303('cloudservices-init',null,{'originalError':_0x28bbca});_0xb25346['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'});}),!_0x13831a['me'])return new Promise(_0x2a77db=>_0x13831a['on']('change:me',_0x2a77db));})['catch'](_0x4470b1=>{throw console['error'](_0x4470b1),new _0xc85303('cloudservices-init',null,{'originalError':_0x4470b1});});}['addToReconnectionStack'](_0x46c4e8){if('function'!=typeof _0x46c4e8['reconnect'])throw new _0xc85303('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x46c4e8))throw new _0xc85303('websocketgateway-plugin-already-registered',this,{'name':_0x46c4e8['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x46c4e8);}['removeFromReconnectionStack'](_0x1d7ab2){this['_reconnectionStack']['delete'](_0x1d7ab2);}['isInReconnectionStack'](_0x3b0f29){return this['_reconnectionStack']['has'](_0x3b0f29);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x36ce10=>_0x36ce10['reconnect']())))['then'](()=>this['state']=_0x224891['CONNECTED'])['catch'](_0x39a78a=>{throw console['error'](_0x39a78a),new _0xc85303('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x224891['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3c4a20{['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,_0x1ba899];}constructor(_0x3b28f6){super(_0x3b28f6),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x34a3f1(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1ba899);}['init'](){const _0x686fe7=this['context']['plugins']['get'](n);this['listenTo'](_0x686fe7,'change:state',(_0x264536,_0x189876,_0x4cae22)=>{if('connected'!==_0x4cae22)this['channelSessions']['forEach'](_0x49c67f=>_0x49c67f['clear']()),this['channelConnectedUsers']['forEach'](_0x3834db=>_0x3834db['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x26cbff,_0x402734]of this['_registeredSessions'])for(const _0x4e891f of _0x402734)this['_handleSessionAdd'](_0x26cbff,_0x4e891f);}}),this['_createUser'](_0x686fe7['connection']['me'],!0x0);}['register'](_0x1d8fe1,_0x13cff3){if(this['_registeredSessions']['has'](_0x1d8fe1))throw new _0xc85303('sessions-register-already-registered',null,{'channelId':_0x1d8fe1});this['_registeredSessions']['set'](_0x1d8fe1,_0x13cff3),this['channelSessions']['set'](_0x1d8fe1,new _0x34a3f1()),this['channelConnectedUsers']['set'](_0x1d8fe1,new _0x34a3f1()),this['listenTo'](_0x13cff3,'add',(_0x25fffc,_0x59c37d)=>this['_handleSessionAdd'](_0x1d8fe1,_0x59c37d)),this['listenTo'](_0x13cff3,'remove',(_0x2ee13c,_0x4a88ce)=>this['_handleSessionRemove'](_0x1d8fe1,_0x4a88ce));for(const _0x96ac66 of _0x13cff3)this['_handleSessionAdd'](_0x1d8fe1,_0x96ac66);}['unregister'](_0xa6e5d3){if(!this['_registeredSessions']['has'](_0xa6e5d3))throw new _0xc85303('sessions-unregister-not-exist',null,{'channelId':_0xa6e5d3});const _0x34ef1f=this['_registeredSessions']['get'](_0xa6e5d3);this['stopListening'](_0x34ef1f);for(const _0x5afd65 of _0x34ef1f)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xa6e5d3,_0x5afd65);this['_registeredSessions']['delete'](_0xa6e5d3),this['channelSessions']['delete'](_0xa6e5d3),this['channelConnectedUsers']['delete'](_0xa6e5d3);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x369709){for(const _0x28ce12 of this['channelSessions']['values']())for(const _0x3e865a of _0x28ce12)if(_0x3e865a['id']===_0x369709)return _0x3e865a['user'];}['getUserSessions'](_0x209527,_0x11f533){const _0xeef309=_0x11f533?[this['channelSessions']['get'](_0x11f533)]:this['channelSessions']['values'](),_0x1dee6f=new Set();for(const _0xa780b2 of _0xeef309)for(const _0x18141e of _0xa780b2)_0x18141e['user']['id']===_0x209527['id']&&_0x1dee6f['add'](_0x18141e['id']);return _0x1dee6f;}['getUserRole'](_0x57fb75){for(const _0x1a43a4 of this['channelSessions']['values']())for(const _0x16e20a of _0x1a43a4)if(_0x16e20a['user']===_0x57fb75)return _0x16e20a['role'];}['_handleSessionAdd'](_0x5e0f23,_0x50be12){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3cbc2c=_0x50be12['user'],_0x1c7cee=this['_users']['getUser'](_0x3cbc2c['id'])||this['_createUser'](_0x3cbc2c),_0x131d24=Object['assign']({},_0x50be12,{'user':_0x1c7cee});if(this['channelSessions']['get'](_0x5e0f23)['add'](_0x131d24),!_0x3cbc2c['hiddenInPresenceList']){const _0x449a89=this['channelConnectedUsers']['get'](_0x5e0f23);_0x449a89['has'](_0x1c7cee['id'])||_0x449a89['add'](_0x1c7cee),this['allConnectedUsers']['has'](_0x1c7cee['id'])||_0x3cbc2c['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1c7cee,_0x1c7cee['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5e0f23,{'channelId':_0x5e0f23,'session':_0x131d24});}['_handleSessionRemove'](_0x404f83,_0xdde9c5){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x503108=this['channelConnectedUsers']['get'](_0x404f83),_0x41fe99=_0xdde9c5['user'];_0x41fe99['id']&&(this['channelSessions']['get'](_0x404f83)['remove'](_0xdde9c5['id']),_0x503108['has'](_0x41fe99['id'])&&!this['getUserSessions'](_0x41fe99,_0x404f83)['size']&&_0x503108['remove'](_0x41fe99['id']),this['allConnectedUsers']['get'](_0x41fe99['id'])&&!this['getUserSessions'](_0x41fe99)['size']&&this['allConnectedUsers']['remove'](_0x41fe99['id']));}['_createUser'](_0x4e5ad3,_0x53a60a){const _0x3e32ef=this['_users']['addUser'](_0x4e5ad3);return _0x53a60a&&this['_users']['defineMe'](_0x4e5ad3['id']),_0x3e32ef['orderNumber']=this['_uniqueUsersCount']++,_0x3e32ef;}}class k extends _0x48f48e{['_domEmitter']=new(_0xba3cf1())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fc65b=this['editor'],_0x4c822c=_0x2fc65b['plugins']['get'](i);_0x2fc65b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4384b1,{writer:_0x14e988})=>function(_0x441ef1,_0x4bfcc6,_0x421d95,_0x2b2b37){const _0x3da688=_0x441ef1['markerName']['split'](':')[0x2],_0x57251e=_0x421d95['getUserBySessionId'](_0x3da688);if(!_0x57251e||_0x3da688===_0x421d95['mySessionId'])return;if(!_0x2b2b37['model']['schema']['checkChild'](_0x441ef1['markerRange']['start'],'$text'))return;const _0x3ca26f={'class':'ck-user__marker\x20'+_0x57251e['color']['getMarkerClass'](),'data-name':_0x57251e['name'],'data-session-id':_0x3da688},_0xc5aa47=_0x2b2b37['model']['markers']['get'](_0x441ef1['markerName']),_0x183386=_0xc5aa47['getStart'](),_0xcf4a42=_0x183386['nodeAfter'],_0x5076be=_0x2b2b37['model']['schema'];if(_0xcf4a42&&_0x5076be['isObject'](_0xcf4a42)&&_0x5076be['isInline'](_0xcf4a42)&&!_0x2b2b37['model']['markers']['get']('user:range:'+_0x3da688)['getRange']()['isCollapsed'])return;const _0x275fe2=_0x183386['parent'];return _0x2b2b37['model']['schema']['isLimit'](_0x275fe2)&&!_0x2b2b37['model']['hasContent'](_0x275fe2)&&(_0x3ca26f['contenteditable']=!0x1),function(_0x30cfe0,_0x2d8dca,_0x33daca){const _0x4eee81=_0x30cfe0['createUIElement']('span',_0x2d8dca);return _0x30cfe0['setCustomProperty']('userPositionMarker',!0x0,_0x4eee81),_0x4eee81['render']=function(_0x271a94){const _0x57d7ef=this['toDomElement'](_0x271a94),_0x5bf7b4=document['createElement']('span');return _0x5bf7b4['classList']['add']('ck-user__marker-tooltip'),_0x5bf7b4['setAttribute']('contenteditable','false'),_0x5bf7b4['setAttribute']('spellcheck','false'),_0x5bf7b4['textContent']=_0x33daca['name'],_0x57d7ef['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5bf7b4['outerHTML']+'⁠',_0x57d7ef['addEventListener']('mouseenter',()=>{_0x57d7ef['classList']['add']('ck-user__marker_hovered');}),_0x57d7ef['addEventListener']('mouseleave',()=>{_0x57d7ef['classList']['remove']('ck-user__marker_hovered');}),_0x57d7ef;},_0x4eee81['isSimilar']=function(_0x4c47ce){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4c47ce['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4c47ce['getAttribute']('data-session-id'));},_0x4eee81;}(_0x4bfcc6,_0x3ca26f,_0x57251e);}(_0x4384b1,_0x14e988,_0x4c822c,_0x2fc65b)}),_0x2fc65b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4dcb12=>function(_0x14a8de,_0x1f1b8e){const _0x4f06ba=_0x14a8de['markerName']['split'](':')[0x2];if(_0x4f06ba===_0x1f1b8e['mySessionId'])return null;const _0x155ca8=_0x1f1b8e['getUserBySessionId'](_0x4f06ba);if(!_0x155ca8)return{'id':_0x4f06ba,'classes':[]};return{'id':_0x4f06ba,'classes':['ck-user__selection',_0x155ca8['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4f06ba},'priority':0x7d0+_0x155ca8['orderNumber']};}(_0x4dcb12,_0x4c822c)}),function(_0x5407c5){const _0x222c80=_0x5407c5['model'],_0x5da8ce=new Map(),_0x1931bf=_0x5407c5['plugins']['get'](i);_0x222c80['markers']['on']('update:user:range',(_0x2c50b8,_0x22ebb3,_0x5e950e,_0x1430f8)=>{if(!_0x1430f8&&_0x5da8ce['get'](_0x22ebb3['name']))return _0x5da8ce['get'](_0x22ebb3['name'])['detach'](),void _0x5da8ce['delete'](_0x22ebb3['name']);const _0x2604a0=_0x22ebb3['name']['split'](':')[0x2];if(_0x2604a0===_0x1931bf['mySessionId'])return;const _0x57aae5='user:position:'+_0x2604a0;_0x222c80['markers']['has'](_0x57aae5)&&_0x5407c5['editing']['reconvertMarker'](_0x57aae5),_0x22ebb3['on']('change:range',(_0x5d1f04,_0x44c3f6,_0x2a1a50)=>{if('$graveyard'!=_0x44c3f6['root']['rootName']&&'$graveyard'==_0x22ebb3['getRange']()['root']['rootName']&&!_0x5da8ce['has'](_0x22ebb3['name'])){const _0x4808d0=_0x222c80['schema']['getNearestSelectionRange'](_0x2a1a50['deletionPosition']);if(_0x4808d0){const _0x39a62b=_0x4f73e7['fromRange'](_0x4808d0);_0x5da8ce['set'](_0x22ebb3['name'],_0x39a62b),_0x39a62b['on']('change:range',(_0x4c7c25,_0x181365,_0x3f5ad5)=>{if('$graveyard'==_0x39a62b['root']['rootName']){const _0x583530=_0x222c80['schema']['getNearestSelectionRange'](_0x3f5ad5['deletionPosition']);_0x583530?(_0x39a62b['start']=_0x583530['start'],_0x39a62b['end']=_0x583530['end']):(_0x5da8ce['delete'](_0x22ebb3['name']),_0x39a62b['detach']());}});}}});}),_0x222c80['document']['on']('change',()=>{_0x5da8ce['size']>0x0&&_0x222c80['enqueueChange']({'isUndoable':!0x1},_0x16db4b=>{for(const [_0x3692cf,_0x8ecbb0]of _0x5da8ce)'$graveyard'==_0x222c80['markers']['get'](_0x3692cf)['getRange']()['root']['rootName']&&(q(_0x3692cf['split'](':')[0x2],_0x8ecbb0['toRange'](),_0x222c80,_0x16db4b),_0x8ecbb0['detach']());_0x5da8ce['clear']();});});}(_0x2fc65b),this['_domEmitter']['listenTo'](_0x4ec46b['document'],'keydown',(_0x1c0257,{key:_0x41cfc1})=>{'Escape'===_0x41cfc1&&function(_0x56ed26){_0x56ed26['editing']['view']['change'](_0x7e2869=>{for(const _0x3d162f of _0x56ed26['model']['markers']){if(!_0x3d162f['name']['startsWith']('user:position'))continue;const _0xb80254=_0x56ed26['editing']['mapper']['markerNameToElements'](_0x3d162f['name']);if(_0xb80254){for(const _0x45321e of _0xb80254)_0x7e2869['removeClass']('ck-user__marker_hovered',_0x45321e);}}});}(_0x2fc65b);},{'useCapture':!0x0});}['afterInit'](){const _0x3c72e0=this['editor'],_0x5590c7=_0x3c72e0['commands']['get']('undo');_0x5590c7&&_0x3c72e0['model']['on']('applyOperation',(_0x12acd4,_0x48d2e7)=>{const _0xfbfd5f=_0x48d2e7[0x0];if(!_0xfbfd5f['isDocumentOperation'])return;if('marker'!=_0xfbfd5f['type']||!_0xfbfd5f['name']['startsWith']('user:'))return;const _0x2efa1f=_0xfbfd5f['batch'];_0x5590c7['_createdBatches']['has'](_0x2efa1f)&&(_0xfbfd5f['newRange']=_0xfbfd5f['oldRange']?_0x3c72e0['model']['createRange'](_0xfbfd5f['oldRange']['start'],_0xfbfd5f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44ee63=this['editor'],_0x4c701b=_0x44ee63['model']['document'],_0x4619b6=_0x44ee63['plugins']['get'](i);_0x44ee63['model']['enqueueChange']({'isUndoable':!0x1},_0x58e686=>{const _0x32a283='user:range:'+_0x4619b6['mySessionId'],_0x1560f3='user:position:'+_0x4619b6['mySessionId'],_0x3faeac=_0x44ee63['model']['markers']['has'](_0x32a283);_0x44ee63['editing']['view']['hasDomSelection']?q(_0x4619b6['mySessionId'],_0x4c701b['selection']['getFirstRange'](),_0x44ee63['model'],_0x58e686):_0x3faeac&&(_0x58e686['removeMarker'](_0x32a283),_0x58e686['removeMarker'](_0x1560f3));});}}function q(_0x3234bc,_0x59e2ed,_0x5dd730,_0x1679a0){const _0xa6b474='user:range:'+_0x3234bc,_0x2d190d='user:position:'+_0x3234bc,_0x271b45=_0x59e2ed['getContainedElement']();let _0x110cd4=_0x59e2ed['start'];if(_0x271b45&&_0x271b45['is']('element','tableCell')){const _0x55af41=function(_0x5bc731,_0x106511){for(const _0x35363b of _0x5bc731['getPositions']())if(_0x106511['schema']['checkChild'](_0x35363b,'$text'))return _0x35363b;}(_0x59e2ed,_0x5dd730);_0x55af41&&(_0x110cd4=_0x55af41,_0x59e2ed=_0x1679a0['createRange'](_0x110cd4));}const _0x2de46b=_0x1679a0['createRange'](_0x110cd4);_0x5dd730['markers']['has'](_0xa6b474)?(_0x1679a0['updateMarker'](_0xa6b474,{'range':_0x59e2ed}),_0x1679a0['updateMarker'](_0x2d190d,{'range':_0x2de46b})):(_0x1679a0['addMarker'](_0xa6b474,{'range':_0x59e2ed,'usingOperation':!0x0}),_0x1679a0['addMarker'](_0x2d190d,{'range':_0x2de46b,'usingOperation':!0x0}));}function T(_0x2076d0,_0x5c4a18,_0x467c5c){const _0x3743bd=_0x2076d0['t'],t=_0x2076d0['t'];switch(_0x5c4a18){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 _0x3743bd({'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'},_0x467c5c);default:return'';}}let j=0x1;class l extends _0x48f48e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x76e626)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,k,_0xce00af,_0x1ba899,_0x28f9a8];}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 _0x4d5916=this['serverHistory']['getOperations']();for(let _0x125ea1=_0x4d5916['length']-0x1;_0x125ea1>=0x0;_0x125ea1--){const _0x35c233=_0x4d5916[_0x125ea1];if(!this['_disconnectionOperations']['has'](_0x35c233))return _0x35c233['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2838e2){if(super(_0x2838e2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x25e414(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xc85303('collaboration-missing-channelid',this);const _0xe3b8a2=_0x2838e2['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0xe3b8a2,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xcaacee(),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 U(this['_disconnectionOperations']);}['init'](){const _0x4fad54=this['editor'],_0x68b7b8=_0x4fad54['plugins']['get'](_0x1ba899),_0xaa58f1=_0x4fad54['plugins']['get'](n);this['listenTo'](_0x68b7b8,'getOperationAuthor',(_0x77e176,_0xa1e563)=>{const _0x51723e=_0xa1e563[0x0];_0x51723e['_authorId']&&(_0x77e176['return']=_0x68b7b8['getUser'](_0x51723e['_authorId']),_0x77e176['stop']()),null===_0x51723e['_authorId']&&(_0x77e176['return']=null,_0x77e176['stop']());},{'priority':'high'}),this['listenTo'](_0x4fad54['model']['document']['selection'],'change:range',(_0x3b6d0e,_0x3b3c27)=>{_0x3b3c27['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4fad54['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4fad54['model']['on']('applyOperation',(_0x3ae54c,_0x3b5c61)=>{const _0x3c22b1=_0x3b5c61[0x0];_0x3c22b1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3c22b1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xaa58f1,'state',this,'_hasSynchronizationProblem',(_0x3c8194,_0x574b74)=>'connected'===_0x3c8194&&!_0x574b74),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4fad54['disableReadOnlyMode']('rtc-offline'):_0x4fad54['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4fad54['disableReadOnlyMode']('rtc-offline'):_0x4fad54['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x539cc7=this['editor']['plugins']['get'](i),_0x20d92f=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x539cc7['unregister'](this['_channelId']);const _0x5bad75=await this['_service']['reconnect'](_0x20d92f['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5bad75)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2e58f7=await this['_service']['getConnectedSessions']();_0x539cc7['register'](this['_channelId'],_0x2e58f7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xce683e){if(function(_0x82420d){return'404'===_0x82420d['code'];}(_0xce683e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x137953){return'409'===_0x137953['code'];}(_0xce683e)){const _0x15e254=T(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'](_0x15e254);}else{if(!(_0xce683e instanceof D))throw _0xce683e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x28648a=this['editor']['plugins']['get'](n),_0x4033db=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4033db['channelSessions']['has'](this['_channelId'])&&_0x4033db['unregister'](this['_channelId']),_0x28648a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2a851f){if(this['sessionId']!==_0x2a851f['sessionId']&&this['_lastSyncedOperationId']!==_0x2a851f['lastOperationId'])throw new D();return this['sessionId']=_0x2a851f['sessionId'],this['_handleServerResponse']([],{..._0x2a851f,'wereChangesApplied':!0x1,'data':_0x2a851f['data']},'reconnect');}async['_connectService'](_0x2c7321,_0x5a9328=!0x1){const {connection:_0x3ca886}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x3ca886,this['_channelId'])['then'](_0x496d9d=>this['_initSessionsHandling'](_0x496d9d))['catch'](_0x4467a6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4467a6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5c32da,_0x1835d0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1835d0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xcf2ed7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2c7321);this['_isPendingUpdate']=!0x0;const _0xe167c1=await this['_service']['connect'](_0x3ca886,this['_compressOperations'](_0x2c7321),_0xcf2ed7);if(this['sessionId']=_0xe167c1['sessionId'],_0x5a9328){if(!_0xe167c1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xe167c1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2c7321,_0xe167c1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xe167c1,_0x2c7321);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x530d3a=this['editor']['plugins']['get'](i),_0x1bb245=this['editor']['plugins']['get'](k),_0x4244c1=_0x530d3a['channelSessions']['get'](this['_channelId']);_0x4244c1&&_0x4244c1['length']>0x1?_0x1bb245['createUserMarkerOperations']():this['listenTo'](_0x530d3a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x530d3a['channelSessions']['get'](this['_channelId'])['length']&&_0x1bb245['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3d1312,_0x23b0d4,_0x321b28,_0x2ecc09){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23b0d4){const _0x4bb00d=this['_decompressOperations'](_0x321b28,_0x2ecc09);await this['_fetchMissingUsers'](_0x4bb00d),this['_handleExternalOperations'](_0x4bb00d,_0x23b0d4,_0x321b28['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x37e385}=this['editor'];let _0x474e55;try{_0x474e55=await this['_service']['getDocumentDetails']();}catch{const _0x1bec5f=T(_0x37e385,'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'](_0x1bec5f);}const _0x586dfe=_0x474e55['currentDocumentSession']||_0x474e55['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x586dfe['lastOperationId']){const _0xc59bda=T(_0x37e385,'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'](_0xc59bda);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1be282){const _0x5e2df4=this['editor']['plugins']['get'](i);this['listenTo'](_0x5e2df4,'sessionAdd:'+this['_channelId'],(_0x2f9d44,{session:_0x1d39b8})=>{if(_0x1d39b8['id']===_0x5e2df4['mySessionId']){_0x2f9d44['off']();const _0x256ff2=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4be765=_0x1d39b8['permissions'];_0x256ff2&&_0x256ff2['isEnabled']&&(_0x4be765=_0x4be765['filter'](_0x13d005=>'document:write'!==_0x13d005)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4be765,this['_channelId']);}}),_0x5e2df4['register'](this['_channelId'],_0x1be282);}['_initThrowingOnDataSet'](){const _0x18e0d5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4f549e)=>{if(!_0x4f549e[_0x4f549e['length']-0x1]['suppressErrorInCollaboration'])throw new _0xc85303('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x18e0d5['apply'](this['editor']['data'],_0x4f549e);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xb297d5,[_0x3fd428])=>{if(this['_document']['version'])throw new _0xc85303('realtimecollaborationclient-init-document-already-initialized',this);_0xb297d5['stop'](),this['_setPendingAction']();const _0x573e89=this['editor']['config']['get']('rootsAttributes'),_0x235b67=this['_getOperationsFromInitData'](_0x3fd428,_0x573e89);0x0==_0x235b67['length']&&_0x235b67['push'](new _0x2c227a(0x0)),_0xb297d5['return']=this['_connectService'](_0x235b67)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x39381c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x39381c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1988af,[_0x87a520,_0x46a46a])=>{_0x1988af['stop']();const _0x1d0035=this['editor']['model']['document']['getRoot'](_0x87a520);if(!this['_knownRootNames']['has'](_0x87a520)){const _0x4b4c2e=_0x46a46a&&_0x46a46a['data']?_0x46a46a['data']:'',_0x21b45e=_0x46a46a&&_0x46a46a['attributes']?_0x46a46a['attributes']:{};await this['_loadRoot'](_0x87a520,_0x4b4c2e,_0x21b45e);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1d0035['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1d0035);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x142e43){const _0x1e80a8=this['editor']['plugins']['get'](_0x1ba899),{connection:_0xf86e68}=this['editor']['plugins']['get'](n),_0x481f81=new Set();for(const _0x7ecd0d of _0x142e43){const _0x45e18b=_0x7ecd0d['_authorId'];_0x45e18b&&!_0x1e80a8['getUser'](_0x45e18b)&&_0x481f81['add'](_0x45e18b);}if(0x0===_0x481f81['size'])return;const _0xad3edd=await ut['getMany'](_0xf86e68,Array['from'](_0x481f81));for(const _0x260f39 of _0xad3edd)_0x1e80a8['getUser'](_0x260f39['id'])||_0x1e80a8['addUser'](_0x260f39);}['_getOperationsFromInitData'](_0x27e336,_0x22235b={}){const _0x3051b6=this['editor']['model'],_0x5d55da=[];let _0x55a5c9=0x0;const _0x3dbfab='string'==typeof _0x27e336?{'main':_0x27e336}:_0x27e336;for(const _0x24e218 of Object['keys'](_0x3dbfab)){if(!this['_document']['roots']['has'](_0x24e218))throw new _0xc85303('realtimecollaborationclient-init-non-existent-root',this);const _0x323842=this['editor']['data']['parse'](_0x3dbfab[_0x24e218]),_0x565440=this['_document']['getRoot'](_0x24e218),_0x3d7726=new _0x9a6876(_0x3051b6['createPositionAt'](_0x565440,0x0),_0x323842,_0x55a5c9++);_0x5d55da['push'](_0x3d7726);for(const [_0x2522d4,_0x5aa452]of _0x323842['markers']){const _0x2943ae=_0x3051b6['createRange'](_0x3051b6['createPositionFromPath'](_0x565440,_0x5aa452['start']['path']['slice']()),_0x3051b6['createPositionFromPath'](_0x565440,_0x5aa452['end']['path']['slice']())),_0x180f20=new _0x37fc56(_0x2522d4,null,_0x2943ae,_0x3051b6['markers'],!0x0,_0x55a5c9++);_0x5d55da['push'](_0x180f20);}}if(_0x22235b)for(const [_0x1ee43f,_0xbb65ee]of Object['entries'](_0x22235b)){const _0x288b8d=_0x3051b6['document']['getRoot'](_0x1ee43f);if(!_0x288b8d)throw new _0xc85303('multi-root-editor-root-attributes-no-root',null);for(const [_0x46ba18,_0x15cef1]of Object['entries'](_0xbb65ee))if(null!==_0x15cef1){const _0x476d8e=new _0x4bcd6c(_0x288b8d,_0x46ba18,null,_0x15cef1,_0x55a5c9++);_0x5d55da['push'](_0x476d8e);}}return _0x5d55da;}async['_loadRoot'](_0x35822e,_0x16850c,_0x562523){this['_getOperationsFromInitData']({[_0x35822e]:_0x16850c},{[_0x35822e]:_0x562523})['forEach']((_0x16404f,_0x409d21)=>{_0x16404f['baseVersion']=this['_document']['version']+_0x409d21,_0x16404f['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x16404f);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x461df9,_0x26309f){let _0x123111;this['_offset']=_0x461df9['offset'];const _0x20ac29=_0x461df9['wereChangesApplied']&&!_0x461df9['initData'],_0x477b73=_0x20ac29?0x0:_0x461df9['data']['baseVersion'];if(_0x26309f['forEach'](_0x43a741=>{_0x43a741['_isInit']=!0x0,_0x43a741['createdAt']=_0x461df9['sessionCreatedAt'],_0x43a741['_authorId']=null;}),_0x20ac29)_0x123111=_0x26309f,this['_applyOperationsSet'](_0x123111,_0x20ac29);else{if(_0x461df9['initData']){const _0x372109=this['_getOperationsFromInitData'](_0x461df9['initData']);this['_document']['history']['version']=-_0x372109['length'],_0x372109['forEach'](_0x4bd930=>{_0x4bd930['baseVersion']-=_0x372109['length'],_0x4bd930['createdAt']=_0x461df9['sessionCreatedAt'],_0x4bd930['_isInit']=!0x0,_0x4bd930['_authorId']=null;}),this['_applyOperationsSet'](_0x372109,!0x0),this['serverHistory']['version']=-_0x372109['length']+this['_offset'],this['_updateServerHistory'](_0x372109);}this['_document']['history']['version']=_0x477b73,_0x123111=this['_decompressOperations'](_0x461df9['data'],_0x461df9['metadata']),await this['_fetchMissingUsers'](_0x123111),this['_applyOperationsSet'](_0x123111,_0x20ac29);}_0x461df9['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x123111,_0x461df9['lastOperationId']),this['_lastSyncedOperationId']=_0x461df9['lastOperationId']),this['serverHistory']['version']=_0x477b73+this['_offset'],this['_updateServerHistory'](_0x123111),_0x26309f['filter'](_0x5570b6=>{const _0x12797b=this['_getAffectedRoot'](_0x5570b6);return _0x12797b&&!this['_knownRootNames']['has'](_0x12797b);})['forEach']((_0x168bf5,_0x246e9d)=>{_0x168bf5['baseVersion']=this['_document']['version']+_0x246e9d,this['_saveOperationInBuffer'](_0x168bf5);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x46e5e8,_0x3dab3f){const _0x5cdb98=_0x3dab3f&&_0x3dab3f['message'];if(_0x5cdb98&&_0x5cdb98['startsWith']('realtimecollaborationclient'))throw _0x3dab3f;const _0x253fe1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x253fe1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xc85303(_0x46e5e8,this['editor'],_0x5cdb98?{'originalError':_0x5cdb98}:void 0x0);}['_saveOperationInBuffer'](_0x21e127){this['_knownOperations']['has'](_0x21e127)||(this['_knownOperations']['add'](_0x21e127),this['_bufferedOperations']['push'](_0x21e127),this['_pendingAction']||'marker'==_0x21e127['type']&&!_0x21e127['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x8d6d5=!0x1){!_0x8d6d5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xa38bd5=>{_0xa38bd5&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3dc20f=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xa4afb3){return _0xa4afb3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa4afb3['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xa4afb3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3dc20f)||this['_crash'](_0x3dc20f['message'],_0x3dc20f);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5f08d1=>{this['on']('change:_isPendingUpdate',()=>{_0x5f08d1();});});}async['_sendBufferedOperations'](){const _0x2de339=this['editor']['plugins']['get'](k);if(this['_shouldSendSelectionUpdate']()&&(_0x2de339['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x520605=[...this['_bufferedOperations']];for(const _0x5089b9 of _0x520605)_0x5089b9['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5089b9);const _0x3a34fb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x520605),_0x4c1c1f=j++,_0x5eb05e=this['_compressOperations'](_0x520605),_0x53160=await this['_service']['sendOperations'](_0x5eb05e,_0x5eb05e['baseVersion'],_0x3a34fb);try{return await this['_handleServerResponse'](_0x520605,_0x53160,_0x4c1c1f);}catch(_0x29de18){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x29de18);}}async['_handleServerResponse'](_0x195d06,_0x2aa296,_0x40b3af){if('error'in _0x2aa296)throw _0x2aa296['error'];let _0x3d5efc=!0x1;if(_0x2aa296['wereChangesApplied']){_0x2aa296['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2aa296['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3efa3f=>!_0x195d06['includes'](_0x3efa3f));for(const _0x5a5b8c of _0x195d06)_0x5a5b8c['createdAt']='lastOperationAcceptedAt'in _0x2aa296&&_0x2aa296['lastOperationAcceptedAt']||void 0x0;P(_0x195d06,_0x2aa296['version']-_0x195d06['length']),this['_updateServerHistory'](_0x195d06);const _0x182734=_0x195d06['filter'](_0x4acafb=>{if(!_0x4acafb['_isInit'])return!0x1;const _0x1c0522=this['_getAffectedRoot'](_0x4acafb);return _0x1c0522&&!this['_knownRootNames']['has'](_0x1c0522);});P(_0x182734,this['_document']['version']),this['_applyOperationsSet'](_0x182734),_0x3d5efc=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x513bf1=this['_decompressOperations'](_0x2aa296['data'],_0x2aa296['metadata'])['filter'](_0x5e4d56=>_0x5e4d56['baseVersion']>=this['_lastServerVersion']);_0x513bf1['forEach'](_0x37a3d5=>this['_addKnownRoot'](_0x37a3d5)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x369a6e=>!_0x369a6e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x369a6e))),this['_bufferedOperations']['length']&&P(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x513bf1),_0x3d5efc=this['_handleExternalOperations'](_0x513bf1,_0x2aa296['version'],_0x2aa296['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3d5efc?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1c8508,_0x276df2,_0x46c0dd){try{const _0x21b2a5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xc05a7a,operationsB:_0x14ace2,originalOperations:_0x5065d7}=_0x5ca9b4(_0x1c8508,this['_bufferedOperations'],_0x21b2a5);P(_0xc05a7a,this['_document']['version']),P(_0x14ace2,_0x276df2);for(const _0x3f2482 of _0xc05a7a){const _0x3a8f4a=_0x5065d7['get'](_0x3f2482);_0x3f2482['_authorId']=_0x3a8f4a?_0x3a8f4a['_authorId']:null;}_0x46c0dd&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1c8508,_0x46c0dd),this['_lastSyncedOperationId']=_0x46c0dd),this['_bufferedOperations']=[..._0x14ace2],this['_applyOperationsSet'](_0xc05a7a),this['_updateServerHistory'](_0x1c8508);}catch(_0x47267a){return console['error'](_0x47267a),!0x1;}return!0x0;}['_applyOperationsSet'](_0xf94df,_0x4e750d=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x299286=>{for(const _0x3e763d of _0xf94df)this['_knownOperations']['add'](_0x3e763d),this['_addKnownRoot'](_0x3e763d),_0x299286['batch']['addOperation'](_0x3e763d),this['editor']['model']['applyOperation'](_0x3e763d);});}['_addKnownRoot'](_0x200ea5){const _0x5e7bbb=this['_getAffectedRoot'](_0x200ea5);_0x5e7bbb&&this['_knownRootNames']['add'](_0x5e7bbb);}['_getAffectedRoot'](_0x3b0c31){let _0x1cd6ea,_0x16e6b0;switch(_0x3b0c31['type']){case'insert':_0x1cd6ea=_0x3b0c31['position']['root'];break;case'marker':if(_0x16e6b0=_0x3b0c31['newRange'],!_0x16e6b0)return null;_0x1cd6ea=_0x16e6b0['root'];break;case'addRootAttribute':_0x1cd6ea=_0x3b0c31['root'];break;case'addRoot':_0x1cd6ea=_0x3b0c31['affectedSelectable'];break;case'move':_0x1cd6ea=_0x3b0c31['targetPosition']['root'];break;default:return null;}return _0x1cd6ea['rootName'];}['_updateServerHistory'](_0x240dda){_0x240dda['forEach'](_0x1408a1=>{const _0x1092c2=_0x1408a1['clone']();_0x1092c2['_authorId']=_0x1408a1['_authorId'],_0x1092c2['_isInit']=!!_0x1408a1['_isInit'],_0x1092c2['createdAt']=_0x1408a1['createdAt'],_0x1092c2['baseVersion']+=this['_offset'],_0x1408a1['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1092c2),this['serverHistory']['addOperation'](_0x1092c2);});}['_handleReconnectionError'](_0x1ed51e){const _0x57d7d5=this['editor']['plugins']['get']('Notification'),_0x496b8a=this['editor']['locale'];_0x1ed51e||(_0x1ed51e=T(_0x496b8a,'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.')),_0x57d7d5['showWarning'](_0x1ed51e,{'title':T(_0x496b8a,'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'](_0xce00af)['add'](T(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xce00af)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x1ac447){const _0x4e4c47=_0x1ac447['map'](_0x379018=>_0x379018['toJSON']());return this['_compressor']['compress'](_0x4e4c47);}['_decompressOperations'](_0x1107b2,_0x2004d6){return this['_compressor']['decompress'](_0x1107b2)['map']((_0x4614c5,_0x184960)=>{const _0x3303d7='init'==_0x2004d6[_0x184960]['type'];if('InsertOperation'==_0x4614c5['__className']){const _0xa24b5c=_0x4614c5['position']['root'];!this['_document']['getRoot'](_0xa24b5c)&&(this['_document']['createRoot']('$root',_0xa24b5c)['_isAttached']=!0x1);}const _0x11ef96=_0x335a0b['fromJSON'](_0x4614c5,this['_document']);return _0x11ef96['wasUndone']=_0x4614c5['wasUndone'],_0x11ef96['_isInit']=_0x3303d7,_0x11ef96['_authorId']=_0x3303d7?null:_0x2004d6[_0x184960]['userId'],_0x11ef96['_isDisconnection']='cs:removeUser'===_0x2004d6[_0x184960]['type'],_0x11ef96['createdAt']=_0x2004d6[_0x184960]['createdAt'],_0x11ef96;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x18ebab=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x18ebab&&_0x18ebab['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class D extends Error{}function P(_0x557959,_0x87422f){for(const _0x45f5bb of _0x557959)_0x45f5bb['baseVersion']=_0x87422f++;}class U{['_ignoredOperations'];['_operationToId'];constructor(_0x5e098c){this['_ignoredOperations']=_0x5e098c,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x528e90){let _0x4f5680=_0x528e90['length'];for(;_0x4f5680--;){const _0x52a1b8=_0x528e90[_0x4f5680];if(!this['_ignoredOperations']['has'](_0x52a1b8)){if(!this['_operationToId']['has'](_0x52a1b8)){const _0x16895d=_0x554784()['slice'](0x1,0x12);this['_operationToId']['set'](_0x52a1b8,_0x16895d);}return this['_operationToId']['get'](_0x52a1b8);}}}['setIdForTheLastOperation'](_0x5cd5a3,_0x4ecb7f){if(!_0x4ecb7f)return;let _0x5aaf68=_0x5cd5a3['length'];for(;_0x5aaf68--;){const _0x2da53f=_0x5cd5a3[_0x5aaf68];this['_ignoredOperations']['has'](_0x2da53f)||this['_operationToId']['set'](_0x2da53f,_0x4ecb7f);}}}class a extends _0x48f48e{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3c4a20{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x2573cf)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1ba899];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4be169){super(_0x4be169),this['_services']=new Map();}async['init'](){const _0x5d6296=this['context'],_0x4d5348=_0x5d6296['plugins']['get']('CommentsRepository');if(_0x5d6296['plugins']['get'](n)['addToReconnectionStack'](this),_0x4d5348['adapter']={'addCommentThread':async({channelId:_0x49ef7a,threadId:_0x553a53,comments:_0x111656,resolvedAt:_0x2410fb,resolvedBy:_0x5a4520,context:_0x347a68,attributes:_0xc5b82d})=>{const _0x10da63=await this['_getService'](_0x49ef7a)['addCommentThread']({'commentThreadId':_0x553a53,'comments':_0x111656['map'](_0x1273e3=>function(_0x30d9f4,_0x6d121d,_0xf59949){return{'commentThreadId':_0xf59949,'commentId':_0x30d9f4['commentId'],'userId':_0x30d9f4['authorId'],'content':_0x30d9f4['content'],'documentId':_0x6d121d,'createdAt':_0x30d9f4['createdAt'],'attributes':_0x30d9f4['attributes']||{}};}(_0x1273e3,_0x49ef7a,_0x553a53)),'resolvedAt':_0x2410fb,'resolvedBy':_0x5a4520,'context':_0x347a68,'attributes':_0xc5b82d})['catch'](ft);return{'threadId':_0x10da63['commentThreadId'],'comments':_0x10da63['comments']};},'getCommentThread':async({channelId:_0x5de014,threadId:_0x4b9729})=>{const _0x55c7cf=await this['_getService'](_0x5de014)['getCommentThread'](_0x4b9729)['catch'](N)['catch'](ft);return _0x55c7cf?_0x55c7cf['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x55c7cf]),{'threadId':_0x55c7cf['commentThreadId'],'comments':_0x55c7cf['comments']['map'](H),'context':_0x55c7cf['context'],'resolvedAt':_0x55c7cf['resolvedAt'],'resolvedBy':_0x55c7cf['resolvedBy'],'attributes':_0x55c7cf['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x27fb51,threadId:_0x5b2e84,context:_0x1cc27c,unlinkedAt:_0x4a2309,attributes:_0x28c6f8})=>this['_getService'](_0x27fb51)['updateCommentThread']({'commentThreadId':_0x5b2e84,'context':_0x1cc27c,'attributes':_0x28c6f8,'unlinkedAt':_0x4a2309})['catch'](N)['catch'](ft),'resolveCommentThread':async({channelId:_0x2aed8e,threadId:_0x12811d})=>{const _0x19b690=await this['_getService'](_0x2aed8e)['resolveCommentThread'](_0x12811d)['catch'](N)['catch'](ft);return{'threadId':_0x19b690['commentThreadId'],'resolvedAt':_0x19b690['resolvedAt'],'resolvedBy':_0x19b690['resolvedBy']};},'reopenCommentThread':async({channelId:_0x43b365,threadId:_0x43da0b})=>this['_getService'](_0x43b365)['reopenCommentThread'](_0x43da0b)['catch'](N)['catch'](ft),'removeCommentThread':({channelId:_0x543aff,threadId:_0x564f6e})=>this['_getService'](_0x543aff)['removeCommentThread'](_0x564f6e)['catch'](N)['catch'](ft),'addComment':({channelId:_0x45a1dc,threadId:_0x949a79,commentId:_0x1c0cb2,content:_0x1d0ff8,attributes:_0x3022ce})=>this['_getService'](_0x45a1dc)['addComment'](_0x949a79,_0x1c0cb2,_0x1d0ff8,_0x3022ce)['catch'](ft),'updateComment':({channelId:_0x4862b5,threadId:_0x54461f,commentId:_0x13a610,content:_0x429ff0,attributes:_0x4b8b84})=>this['_getService'](_0x4862b5)['updateComment'](_0x54461f,_0x13a610,_0x429ff0,_0x4b8b84)['catch'](N)['catch'](ft),'removeComment':({channelId:_0x58cbde,threadId:_0x2b61cf,commentId:_0x3e4f5f})=>this['_getService'](_0x58cbde)['removeComment'](_0x2b61cf,_0x3e4f5f)['catch'](N)['catch'](ft)},_0x5d6296 instanceof _0x2be848){const _0x44cd9a=_0x5d6296['config']['get']('collaboration.channelId'),_0x3c85e7=_0x5d6296['plugins']['get'](i);await this['_setUpService'](_0x44cd9a);const _0x25971c=await this['_services']['get'](_0x44cd9a)['getConnectedSessions']();this['listenTo'](_0x3c85e7,'sessionAdd:'+_0x44cd9a,(_0xf0d978,{session:_0x489815})=>{_0x489815['id']===_0x3c85e7['mySessionId']&&(_0xf0d978['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x489815['permissions'],_0x44cd9a));}),_0x3c85e7['register'](_0x44cd9a,_0x25971c);}}async['_setUpService'](_0xd409da){if(this['_services']['has'](_0xd409da))throw new _0xc85303('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xd409da});const _0x12c2d3=this['context']['plugins']['get']('CommentsRepository'),_0x296fa8=new s['CommentsService'](_0xd409da);this['_services']['set'](_0xd409da,_0x296fa8),this['listenTo'](_0x296fa8,'commentThreadAdded',(_0x4335c3,_0x541bf5)=>{const {commentThreadId:_0x4b7eba,documentId:_0x5a8568,context:_0x2138c6,attributes:_0x569171,resolvedAt:_0x2b7974,resolvedBy:_0x51c3b6,comments:_0x4732e5}=_0x541bf5;_0x12c2d3['getCommentThread'](_0x4b7eba)||_0x12c2d3['addCommentThread']({'threadId':_0x4b7eba,'channelId':_0x5a8568,'comments':_0x4732e5?_0x4732e5['map'](H):[],'context':_0x2138c6,'attributes':_0x569171,'resolvedAt':_0x2b7974,'resolvedBy':_0x51c3b6,'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentThreadUpdated',(_0x2e95c6,{commentThreadId:_0x10871a,documentId:_0x1f565d,context:_0x3d4c40,unlinkedAt:_0x330f37,attributes:_0x192fbd})=>{_0x12c2d3['getCommentThread'](_0x10871a)&&_0x12c2d3['updateCommentThread']({'threadId':_0x10871a,'channelId':_0x1f565d,'context':_0x3d4c40,'unlinkedAt':_0x330f37,'attributes':_0x192fbd,'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentThreadResolved',(_0x3eefc0,{commentThreadId:_0x2b8968,resolvedBy:_0x8610fb,resolvedAt:_0x4d31b0})=>{const _0xc06df8=_0x12c2d3['getCommentThread'](_0x2b8968);_0xc06df8&&_0xc06df8['resolve']({'resolvedBy':_0x8610fb,'resolvedAt':_0x4d31b0,'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentThreadReopened',(_0x31a023,{commentThreadId:_0x58b833})=>{const _0x38b10d=_0x12c2d3['getCommentThread'](_0x58b833);_0x38b10d&&_0x38b10d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentThreadRemoved',(_0x3fb15f,{commentThreadId:_0x2cb7ea})=>{const _0x6fe47a=_0x12c2d3['getCommentThread'](_0x2cb7ea);_0x6fe47a&&_0x6fe47a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentAdded',(_0x311ef3,_0x387990)=>{const _0x4175e5=_0x387990['commentThreadId'],_0xfacac8=_0x12c2d3['getCommentThread'](_0x4175e5);_0xfacac8&&_0xfacac8['addComment']({...H(_0x387990),'isFromAdapter':!0x0});}),this['listenTo'](_0x296fa8,'commentUpdated',(_0x4fee08,{commentThreadId:_0x3d7a9a,commentId:_0x1135ee,content:_0x1ee7fa,attributes:_0x313039})=>{const _0x34a5c3=_0x12c2d3['getCommentThread'](_0x3d7a9a);if(_0x34a5c3){const _0x2a5a52=_0x34a5c3['getComment'](_0x1135ee);_0x2a5a52&&_0x2a5a52['update']({'content':_0x1ee7fa,'attributes':_0x313039,'isFromAdapter':!0x0});}}),this['listenTo'](_0x296fa8,'commentRemoved',(_0x210fe9,{commentThreadId:_0x20f1e2,commentId:_0x1e7348})=>{const _0x4b8f90=_0x12c2d3['getCommentThread'](_0x20f1e2);if(_0x4b8f90){const _0x608167=_0x4b8f90['getComment'](_0x1e7348);_0x608167&&_0x608167['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xd409da);}['destroy'](){if(this['context']instanceof _0x2be848){const _0x203ebc=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x203ebc);}}['_terminateService'](_0x394223){if(!this['_services']['has'](_0x394223))throw new _0xc85303('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x394223});this['_getService'](_0x394223)['disconnect'](),this['_services']['delete'](_0x394223);}async['reconnect'](){for(const _0x69ba81 of this['_services']['keys']())await this['_connectService'](_0x69ba81);if(this['context']instanceof _0x2be848){const _0xeca15e=this['context']['config']['get']('collaboration.channelId'),_0x55e8c2=this['context']['plugins']['get'](i);_0x55e8c2['unregister'](_0xeca15e);const _0x3fdcee=await this['_services']['get'](_0xeca15e)['getConnectedSessions']();_0x55e8c2['register'](_0xeca15e,_0x3fdcee);}}async['_connectService'](_0x5e7b6b){const {connection:_0x16c0e}=this['context']['plugins']['get'](n),_0x206611=this['context']['plugins']['get']('CommentsRepository'),_0x4a3bfd=this['_services']['get'](_0x5e7b6b),_0x34eed7=await _0x4a3bfd['connect'](_0x16c0e);await this['_fetchMissingUsersForThreads'](_0x34eed7);const _0x5b408f=new Set(Array['from'](_0x206611['getCommentThreads']({'channelId':_0x5e7b6b}),_0x44bb44=>_0x44bb44['id']));for(const _0x4c09f4 of _0x34eed7)_0x4c09f4['deletedAt']||_0x5b408f['delete'](_0x4c09f4['commentThreadId']);for(const _0x3fbc8e of _0x5b408f)_0x206611['getCommentThread'](_0x3fbc8e)['remove']({'isFromAdapter':!0x0});for(const _0x147369 of _0x34eed7){let _0x24ce39=_0x206611['getCommentThread'](_0x147369['commentThreadId']);const {commentThreadId:_0x323a56,context:_0x52d22d,attributes:_0x267947,resolvedBy:_0x546d15,resolvedAt:_0x5ceaf1,unlinkedAt:_0x450c5e,deletedAt:_0x125ce8}=_0x147369;if(_0x125ce8)continue;_0x24ce39||(_0x24ce39=_0x206611['addCommentThread']({'channelId':_0x5e7b6b,'threadId':_0x323a56,'context':_0x52d22d,'attributes':_0x267947||{},'resolvedBy':_0x546d15,'resolvedAt':_0x5ceaf1,'unlinkedAt':_0x450c5e,'isFromAdapter':!0x0}));const _0x4f05f6=new Set(Array['from'](_0x24ce39['comments'],_0x5bcb8e=>_0x5bcb8e['id']));for(const _0x3baeec of _0x147369['comments'])_0x4f05f6['delete'](_0x3baeec['commentId']);for(const _0xbf56fd of _0x4f05f6)_0x24ce39['getComment'](_0xbf56fd)['remove']({'isFromAdapter':!0x0});for(const _0x263791 of _0x147369['comments']){const _0x3d83c6=_0x24ce39['getComment'](_0x263791['commentId']);_0x3d83c6?_0x3d83c6['content']!==_0x263791['content']&&_0x3d83c6['update']({'content':_0x263791['content'],'isFromAdapter':!0x0}):_0x24ce39['addComment'](Object['assign'](H(_0x263791),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5c6cc2){if(!this['_services']['has'](_0x5c6cc2))throw new _0xc85303('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5c6cc2});return this['_services']['get'](_0x5c6cc2);}async['_fetchMissingUsersForThreads'](_0x5ce89d){const _0x33c46d=this['context']['plugins']['get'](_0x1ba899),{connection:_0x1ffa4e}=this['context']['plugins']['get'](n),_0xc5cbc2=new Set();for(const {resolvedBy:_0x5d4053,comments:_0x5e61d0}of _0x5ce89d){_0x5d4053&&!_0x33c46d['getUser'](_0x5d4053)&&_0xc5cbc2['add'](_0x5d4053);for(const {userId:_0x1e24e8}of _0x5e61d0)_0x33c46d['getUser'](_0x1e24e8)||_0xc5cbc2['add'](_0x1e24e8);}if(0x0===_0xc5cbc2['size'])return;const _0x2e2fde=await ut['getMany'](_0x1ffa4e,Array['from'](_0xc5cbc2));for(const _0x33c0a9 of _0x2e2fde)_0x33c46d['getUser'](_0x33c0a9['id'])||_0x33c46d['addUser'](_0x33c0a9);}}async function N(_0x547c84){if('404'!==_0x547c84['code'])throw _0x547c84;}function ft(_0x177d6f){if((_0x11dbb9=_0x177d6f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x11dbb9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x11dbb9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x11dbb9;throw _0x177d6f;}function H(_0x2e777e){return{'threadId':_0x2e777e['commentThreadId'],'commentId':_0x2e777e['commentId'],'content':_0x2e777e['content'],'createdAt':_0x2e777e['createdAt'],'authorId':_0x2e777e['userId'],'attributes':_0x2e777e['attributes']||{}};}class m extends _0x48f48e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1cba5f)());['_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(_0x947779){super(_0x947779);const _0xc4f524=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0xc4f524);}['init'](){const _0x23f009=this['editor']['plugins']['get'](n),_0x3e91a5=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3e91a5['adapter']={'getSuggestion':async _0x1af65b=>{await this['_waitForServiceReady']();const _0x3575bf=await this['_trackChangesService']['get'](_0x1af65b)['catch'](z);return await this['_fetchMissingUsersForThreads']([_0x3575bf]),_0x3575bf;},'addSuggestion':async({id:_0x5282e0,type:_0x387ef1,data:_0x30fb36,originalSuggestionId:_0x3e3155,attributes:_0x3d7612})=>{await this['_waitForServiceReady']();const _0x2fec46={'id':_0x5282e0,'type':_0x387ef1,'data':_0x30fb36,'originalSuggestionId':_0x3e3155,'attributes':_0x3d7612},_0x9c7513=await this['_trackChangesService']['add'](_0x5282e0,_0x387ef1,_0x30fb36,_0x3e3155,_0x3d7612)['catch'](_0x405bfa=>{if(mt(_0x405bfa))return new Promise(_0xcddbe9=>{this['_bufferedRequests']['set'](_0x5282e0,{'resolve':_0xcddbe9,'suggestionData':_0x2fec46});});throw _0x405bfa;});return this['_bufferedRequests']['delete'](_0x5282e0),_0x9c7513;},'updateSuggestion':async(_0x34e745,_0x52eb93)=>{if(await this['_waitForServiceReady'](),'open'!==_0x52eb93['state'])return this['_trackChangesService']['update'](_0x34e745,_0x52eb93)['catch'](z);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x543d9b,_0x2d8c85)=>{_0x3e91a5['hasSuggestion'](_0x2d8c85['id'])&&(_0x3e91a5['getSuggestion'](_0x2d8c85['id'])['attributes']=_0x2d8c85['attributes']);}),this['_trackChangesService']['connect'](_0x23f009['connection'])['then'](_0xd38497=>(_0x23f009['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd38497)['then'](()=>{for(const _0x1789e8 of _0xd38497){_0x3e91a5['addSuggestionData'](_0x1789e8)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1fbfc0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x421cd9}=this['editor']['plugins']['get'](n),_0x2e4594=await this['_trackChangesService']['connect'](_0x421cd9);await this['_fetchMissingUsersForThreads'](_0x2e4594);for(const {suggestionData:_0x3e1d90,resolve:_0x572d8a}of this['_bufferedRequests']['values']()){let _0xaeda21=_0x2e4594['find'](_0x3868f0=>_0x3868f0['id']===_0x3e1d90['id']);_0xaeda21||(_0xaeda21=await this['_trackChangesService']['add'](_0x3e1d90['id'],_0x3e1d90['type'],_0x3e1d90['data'],_0x3e1d90['originalSuggestionId'])),_0x572d8a(_0xaeda21);}for(const _0x1a4866 of _0x2e4594)_0x1fbfc0['hasSuggestion'](_0x1a4866['id'])||_0x1fbfc0['addSuggestionData'](_0x1a4866);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x335ed4=>{this['listenTo'](this['_trackChangesService'],'connected',_0x590dec=>{_0x590dec['off'](),_0x335ed4();});});}async['_fetchMissingUsersForThreads'](_0x3c8f97){const _0x2605a2=this['editor']['plugins']['get'](_0x1ba899),{connection:_0x2d7e63}=this['editor']['plugins']['get'](n),_0x386891=new Set();for(const {authorId:_0x38e1d4}of _0x3c8f97)_0x2605a2['getUser'](_0x38e1d4)||_0x386891['add'](_0x38e1d4);if(0x0===_0x386891['size'])return;const _0xf6ea4f=await ut['getMany'](_0x2d7e63,Array['from'](_0x386891));for(const _0x45c01b of _0xf6ea4f)_0x2605a2['getUser'](_0x45c01b['id'])||_0x2605a2['addUser'](_0x45c01b);}}function z(_0x110715){if(mt(_0x110715))return new Promise(()=>{});throw _0x110715;}function mt(_0x409341){return _0x409341['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x409341['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x48f48e{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 _0x245fdf=this['editor']['plugins']['get'](n),_0x2c498e=this['editor']['plugins']['get']('CommentsEditing'),_0xd40bf0=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x245fdf,'change:state',(_0x6e48f7,_0x56d447,_0x1ad9bc)=>{_0x2c498e['isThreadsLoadingPaused']='connected'!==_0x1ad9bc;});}),this['listenTo'](_0x245fdf,'change:state',(_0x3c1a3a,_0x3abc82,_0x27a69f)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x27a69f);}),_0xd40bf0['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x48f48e{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 _0x48f48e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x3c4de0)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1ba899];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x177fef){super(_0x177fef);const _0x368516=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x368516);}async['init'](){const _0x45c005=this['editor']['plugins']['get'](l),_0x3f4a89=_0x45c005['serverHistory'],_0x593c3b=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3f4a89,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x45c005['sessionId']});const _0xc6841=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4c297a=await _0x5d34f7['isBundleUploaded'](_0x593c3b['connection'],_0xc6841);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3ec510})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3ec510)),'updateRevisions':async _0x50d810=>{await this['_waitForServiceReady']();const _0x10aa8e=this['_revisionTracker']['currentRevision'];if(_0x4c297a&&0x1===_0x50d810['length']&&_0x50d810[0x0]['id']===_0x10aa8e['id'])return _0x50d810;for(const _0x45f8d5 of _0x50d810)_0x45f8d5['id']===_0x10aa8e['id']&&(_0x45f8d5['isEmptyCurrent']=_0x45f8d5['fromVersion']===_0x45f8d5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x50d810,this['_lastRequestId'])['then'](_0x2599ef=>(this['_lastRequestId']=_0x2599ef,_0x50d810))['catch'](_0x1584e1=>{if(J(_0x1584e1)||'400'===_0x1584e1['code']&&void 0x0!==_0x1584e1['data']['wrongRequestId']){for(const _0x4d3d29 of _0x50d810){!this['_revisionTracker']['repository']['getRevision'](_0x4d3d29['id'])||this['_revisionTracker']['_bufferUpdate'](_0x4d3d29['id'],_0x4d3d29,!0x1);}if(J(_0x1584e1))throw _0x1584e1;return _0x50d810;}throw _0x1584e1;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xe611b4,{revisionsData:_0x276267,requestId:_0x9d1926})=>{Math['max'](..._0x276267['map'](_0x481531=>_0x481531['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x276267,_0x9d1926);}):this['_handleRevisionsUpdate'](_0x276267,_0x9d1926);});const {revisions:_0x52af5e,requestId:_0x3d5f62}=await this['_revisionHistoryService']['connect'](_0x593c3b['connection']);_0x593c3b['addToReconnectionStack'](this),this['_lastRequestId']=_0x3d5f62,await this['_fetchMissingUsers'](_0x52af5e);for(const _0x256ebc of _0x52af5e)this['_revisionTracker']['addRevisionData'](_0x256ebc);this['listenTo'](_0x45c005,'change:_isConnected',(_0x125285,_0xed6205,_0x56330d)=>{_0x56330d&&(this['_oldOffset']=_0x45c005['_offset'],_0x125285['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x593c3b,'state',_0x5afcfd=>_0x5afcfd===_0x224891['CONNECTED']);}async['reconnect'](){const _0x5072ac=this['editor']['plugins']['get'](n),_0x2e4664=this['editor']['plugins']['get'](l),_0x26df8b=async()=>{const _0x1f0e8c=this['_revisionTracker']['currentRevision'],_0x38e275=_0x1f0e8c['id'],_0x1fb809=_0x38e275!==_0x2e4664['sessionId'];if(_0x1fb809){const _0x20d4d4=_0x2e4664['_offset']-this['_oldOffset'],_0x5c9085=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1f0e8c['toVersion']+_0x20d4d4!==_0x5c9085){const _0x2a5463=_0x1f0e8c['fromVersion']+_0x20d4d4,_0x406efb=this['editor']['plugins']['get'](_0x1ba899),_0x139f25=this['_revisionTracker']['buildRevisionData']({'revision':_0x1f0e8c,'from':_0x2a5463,'to':_0x5c9085});_0x139f25['id']=_0x1f0e8c['id'];const _0x18c6f4=_0x139f25['authorsIds']['map'](_0x2dbf04=>_0x406efb['getUser'](_0x2dbf04));_0x1f0e8c['_update']({..._0x139f25,'authors':_0x18c6f4},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1f0e8c['id'],_0x139f25,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5c9085,(_0x1f0e8c['toVersion']===_0x1f0e8c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x38e275)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x38e275),this['_revisionTracker']['_createCurrentRevision'](_0x5c9085));}const {revisions:_0x2aab56,requestId:_0x5ee119}=await this['_revisionHistoryService']['reconnect'](_0x5072ac['connection'],this['_lastRequestId']);_0x1fb809&&_0x2aab56['length']>0x0?_0x2e4664['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2aab56),this['_handleRevisionsUpdate'](_0x2aab56,_0x5ee119),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2e4664['_isConnected']?_0x26df8b():new Promise((_0x48af9f,_0x1ea2d7)=>{_0x2e4664['once']('change:_isConnected',()=>{_0x26df8b()['then'](_0x48af9f)['catch'](_0x1ea2d7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x51f685=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x180840=>{_0x180840['off'](),_0x51f685();});});}['_getLatestVersionFromServerOperations'](){const _0x15d04e=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3d2fc9 of _0x15d04e)if('marker'!==_0x3d2fc9['type']||_0x3d2fc9['affectsData'])return _0x3d2fc9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x597fdc=this['editor']['plugins']['get'](l);return new Promise(_0xeac97=>{_0x597fdc['_isPendingUpdate']?_0x597fdc['once']('change:_isPendingUpdate',()=>{_0xeac97(this['_getLatestVersionFromServerOperations']());}):_0xeac97(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x704c28,_0x3e4c0d){const _0x59f708=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e4c0d;for(const _0x1b5998 of _0x704c28){const _0x20cc3a=_0x59f708['getRevision'](_0x1b5998['id']);if(_0x20cc3a){if((_0x1b5998['fromVersion']||_0x1b5998['toVersion'])&&(_0x1b5998['diffData']=null),_0x20cc3a===this['_revisionTracker']['currentRevision']){const _0x1f28cf=Math['max'](_0x20cc3a['toVersion'],_0x1b5998['toVersion']),_0x263346=Math['max'](_0x20cc3a['fromVersion'],_0x1b5998['fromVersion']);let _0x327dd4;_0x20cc3a['toVersion']===_0x1b5998['toVersion']&&_0x20cc3a['fromVersion']===_0x1b5998['fromVersion']?(_0x327dd4=!0x0,this['_preventResendingRevisionData'](_0x1b5998)):_0x1b5998['toVersion']===_0x1f28cf&&_0x1b5998['fromVersion']===_0x263346?_0x327dd4=!0x1:(_0x20cc3a['toVersion']===_0x1f28cf&&_0x20cc3a['fromVersion']===_0x263346||this['_fixRevision']({'revision':_0x20cc3a,'from':_0x263346,'to':_0x1f28cf}),_0x327dd4=!0x0),_0x327dd4&&(delete _0x1b5998['fromVersion'],delete _0x1b5998['toVersion'],delete _0x1b5998['diffData'],delete _0x1b5998['createdAt'],delete _0x1b5998['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b5998),this['_preventResendingRevisionData'](_0x1b5998);}else this['_revisionTracker']['addRevisionData'](_0x1b5998);}const _0x38602e=_0x59f708['getRevisions']();_0x38602e['reverse']();for(let _0x5314f9=0x0;_0x5314f9<_0x38602e['length']-0x1;_0x5314f9++){const _0x219191=_0x38602e[_0x5314f9],_0x2d97d7=_0x38602e[_0x5314f9+0x1];if(_0x219191['fromVersion']<_0x2d97d7['toVersion']){const _0x34d772=_0x2d97d7['toVersion'],_0x4ac2c3=Math['max'](_0x34d772,_0x219191['toVersion']);this['_fixRevision']({'revision':_0x219191,'from':_0x34d772,'to':_0x4ac2c3});}}}['_fixRevision']({revision:_0x48c4ba,from:_0x31fa79,to:_0x5d0583}={}){const _0x15ab82=this['editor']['plugins']['get'](_0x1ba899),_0x59e4ab=this['_revisionTracker']['buildRevisionData']({'revision':_0x48c4ba,'from':_0x31fa79,'to':_0x5d0583});_0x59e4ab['authors']=_0x59e4ab['authorsIds']['map'](_0x47f079=>_0x15ab82['getUser'](_0x47f079)),_0x48c4ba['_update'](_0x59e4ab);}['_preventResendingRevisionData'](_0x534147){const _0x1804c0={};_0x1804c0['id']=_0x534147['id'];for(const _0x4c9be7 of Object['keys'](_0x534147))'id'!==_0x4c9be7&&(_0x1804c0[_0x4c9be7]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1804c0['id'],_0x1804c0,!0x0);}async['_fetchMissingUsers'](_0x31c0dc){const _0x7aea9c=this['editor']['plugins']['get'](_0x1ba899),{connection:_0x17137e}=this['editor']['plugins']['get'](n),_0x419313=new Set();for(const _0x1d6a6b of _0x31c0dc){for(const _0x56ea26 of _0x1d6a6b['authorsIds'])_0x109fde(_0x56ea26);_0x1d6a6b['creatorId']&&_0x109fde(_0x1d6a6b['creatorId']);}if(0x0===_0x419313['size'])return;const _0xdcd08b=await ut['getMany'](_0x17137e,Array['from'](_0x419313));for(const _0x2c1409 of _0xdcd08b)_0x7aea9c['getUser'](_0x2c1409['id'])||_0x7aea9c['addUser'](_0x2c1409);function _0x109fde(_0x2b9d79){_0x7aea9c['getUser'](_0x2b9d79)||_0x419313['add'](_0x2b9d79);}}}function J(_0x281887){return _0x281887['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x281887['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x281887['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x48f48e{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class st extends _0x30fc24{['_collapseAt'];constructor(_0x367c19,_0x4deb18=0x6){super(_0x367c19);const _0x4267b5=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4deb18,this['bind']('isHidden')['to'](this,'usersCount',_0xfc9ec=>_0xfc9ec<_0x4deb18),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4267b5['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':_0x4267b5['to']('usersCount',_0x3e6b66=>'+'+(_0x3e6b66-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x30fc24{['items'];['keystrokes'];constructor(_0x5eb290){super(_0x5eb290);const _0x19c7af=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x394896(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x19c7af['if']('hasPopup'),'aria-expanded':_0x19c7af['to']('isExpanded',_0x48abff=>this['hasPopup']&&String(_0x48abff)),'aria-label':_0x19c7af['to']('hasPopup',_0x1d1aaf=>T(_0x5eb290,_0x1d1aaf?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x19c7af['to']('hasPopup',_0x1fdb85=>!!_0x1fdb85&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x19c7af['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x19c7af['to'](_0x15b109=>{const _0x3aff0b=_0x15b109,_0x4d2a40=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1e3240=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4d2a40?.['contains'](_0x3aff0b['relatedTarget'])||_0x1e3240?.['contains'](_0x3aff0b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4dd837,_0x420289,_0x464aef)=>{this['element']&&(_0x464aef?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 tt extends _0x30fc24{['counterView'];['inlineListView'];constructor(_0x399712,_0x2bfc68=0x6){super(_0x399712);const _0x3b1a4c=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new st(this['locale'],_0x2bfc68),this['inlineListView']=new is(_0x399712),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1ef89a of this['inlineListView']['items'])_0x1ef89a['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',_0x3b1a4c['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class it extends _0x30fc24{['listWrapperView'];constructor(_0x2a56ed,_0x5764f8){super(_0x2a56ed);const _0x221025=this['bindTemplate'];this['listWrapperView']=new wt(_0x2a56ed,_0x5764f8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':T(_0x2a56ed,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x221025['to'](_0x52bb7b=>{const _0x3e9337=_0x52bb7b,_0xc9ffe8=document['querySelector']('.ck-presence-list__list'),_0x5f204f=document['querySelector']('.ck-balloon-panel_with-arrow');_0xc9ffe8?.['contains'](_0x3e9337['relatedTarget'])||_0x5f204f?.['contains'](_0x3e9337['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x55838b{constructor(_0x70641d,_0x4aabc1){super(_0x70641d);const _0x5d48ea=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4aabc1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5d48ea['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5d48ea['to']('role'),'aria-label':_0x5d48ea['to']('ariaLabel'),'aria-labelledby':_0x5d48ea['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4ec46b['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5de405=this['element'];_0x5de405&&(this['_isScrollable']=Math['max'](_0x5de405['scrollHeight'],_0x5de405['clientHeight'])>0.8*window['innerHeight']);}}class et extends ct{['userView'];constructor(_0x43e7f6,_0x4d0dd2,_0x137709){super(_0x43e7f6);const _0x15ae6c=this['bindTemplate'];this['userView']=new ot(_0x43e7f6,_0x4d0dd2);const _0x32d6e7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4d0dd2['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4d0dd2['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4d0dd2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x137709&&(_0x32d6e7['tag']='button',_0x32d6e7['on']={'click':_0x15ae6c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32d6e7);}['focus'](){this['element']['focus']();}}class rt extends _0x30fc24{['userView'];['markerView'];constructor(_0xac6739,_0x4083ad,_0x34d641){super(_0xac6739);const _0x1db409=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ot(_0xac6739,_0x4083ad),this['markerView']=new lt(_0xac6739,_0x4083ad);const _0x533ee9=new at(_0xac6739);_0x533ee9['template']['tag']='span',_0x533ee9['text']=_0x4083ad['name'];const _0x574a19={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1db409['to']('isFocusable',_0x51dc49=>!!_0x51dc49&&0x0),'aria-labelledby':_0x533ee9['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1db409['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1db409['to']('hasTooltip',_0x1e236f=>!_0x1e236f),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x533ee9]};_0x34d641&&(_0x574a19['tag']='button',_0x574a19['on']={'click':_0x1db409['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x574a19);}}class lt extends _0x30fc24{constructor(_0x174334,_0x138e34){super(_0x174334),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x138e34['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ht={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3c4a20{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c55c4){super(_0x3c55c4),this['context']['config']['define']('presenceList',ht);const _0x13b0fb=_0x3c55c4['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x13b0fb)throw new _0xc85303('presencelist-collapseat-invalid-format',this);if(_0x13b0fb<0x1)throw new _0xc85303('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x34a3f1(),this['balloonPanelView']=new _0x4cd3ca(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x29d237 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x29d237);this['listenTo'](this['_allConnectedUsers'],'add',(_0x55b6fb,_0x535d10)=>{this['_handleUserAdd'](_0x535d10);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2a87d5,_0x5b49ce)=>{this['_handleUserRemove'](_0x5b49ce);});}['_createView'](){const _0x373870=this['context'],_0x1fc293=new tt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3f632e=this['balloonPanelView'];if(!_0x466c71(_0x373870['config']['get']('presenceList.container')))throw new _0xc85303('presencelist-missing-container',this);return _0x1fc293['counterView']['bind']('usersCount')['to'](this),_0x1fc293['bind']('isCollapsed')['to'](this,'usersCount',_0x34cea3=>{const {collapseAt:_0x3e5126}=_0x373870['config']['get']('presenceList'),_0xf3d193=_0x34cea3>=_0x3e5126;if(_0xf3d193&&!_0x1fc293['inlineListView']['items']['find'](_0x151ff1=>_0x151ff1 instanceof st)){const _0x647fe5=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x647fe5&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1fc293['inlineListView']['items']['add'](_0x1fc293['counterView']);}return _0xf3d193||this['hideDropdown'](),_0xf3d193;}),_0x1fc293['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5e723a=>{const _0x264810=_0x373870['config']['get']('presenceList'),_0x87c60a=new rt(_0x373870['locale'],_0x5e723a,!!_0x264810['onClick']);return _0x87c60a['bind']('hasTooltip')['to'](_0x1fc293,'isCollapsed',_0x2f8840=>!_0x2f8840),_0x87c60a['bind']('isFocusable')['to'](_0x1fc293,'isCollapsed',_0x263c70=>!_0x263c70),_0x264810['onClick']&&this['listenTo'](_0x87c60a,'execute',()=>{this['view']['isCollapsed']||_0x264810['onClick'](_0x5e723a,_0x87c60a['element']);}),_0x87c60a;}),this['listenTo'](_0x1fc293['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1fc293['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1fc293['inlineListView']['keystrokes']['set']('Enter',(_0x443a7e,_0x34f34b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x34f34b());}),_0x1fc293['render'](),_0x3f632e['render'](),_0x3647d9({'emitter':_0x1fc293,'activator':()=>_0x3f632e['isVisible'],'contextElements':[_0x3f632e['element'],_0x1fc293['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x373870['config']['get']('presenceList.container')['appendChild'](_0x1fc293['element']),this['_bodyCollection']=new _0x3399fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1fc293;}['_handleUserAdd'](_0x5e83b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5e83b['isMe'])return;const _0x4eef9b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4eef9b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xfaea75=_0x5e83b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5e83b,_0xfaea75);}['_handleUserRemove'](_0x14b2aa){this['usersCount']--;const {collapseAt:_0x2d235e}=this['context']['config']['get']('presenceList'),_0x30abe7=this['usersCount']>=_0x2d235e;if(this['currentDisplayedUsers']['get'](_0x14b2aa['id']))this['currentDisplayedUsers']['remove'](_0x14b2aa['id']);else{if(_0x30abe7&&this['currentDisplayedUsers']['length']+0x1===_0x2d235e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30abe7?0x1:0x0)<this['usersCount']){for(const _0x335412 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x335412['id'])&&(this['currentDisplayedUsers']['add'](_0x335412,Math['min'](this['currentDisplayedUsers']['length']-(_0x30abe7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30abe7?0x1:0x0)===_0x2d235e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x29ea3d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new it(this['context']['locale'],!!_0x29ea3d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5d0234}=this['presenceDropdownView'];_0x5d0234['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4aec53=>{if(!_0x29ea3d['displayMe']&&_0x4aec53['isMe'])return null;const _0x192c10=new et(this['context']['locale'],_0x4aec53,!!_0x29ea3d['onClick']);return _0x29ea3d['onClick']&&this['listenTo'](_0x192c10,'execute',()=>{_0x29ea3d['onClick'](_0x4aec53,_0x192c10['element']);}),_0x192c10;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5d0234['focus'](),_0x5d0234['checkIfScrollable']();const _0x15905f=(_0x1ac964,_0x536bdb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x536bdb();};_0x5d0234['keystrokes']['set']('Esc',_0x15905f),_0x5d0234['keystrokes']['set']('Shift+Tab',_0x15905f),_0x5d0234['keystrokes']['set']('Tab',(_0xb76680,_0x5a28fc)=>{!function(_0x45a66f){const _0x540521=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8b16f2=>_0x8b16f2+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x124207=[...document['body']['querySelectorAll'](_0x540521)]['filter'](_0x13e6ce=>_0x13e6ce===document['activeElement']||_0x13e6ce['offsetWidth']+_0x13e6ce['offsetHeight']>0x0)['sort']((_0x3a35e8,_0x4a0c6d)=>(_0x3a35e8['tabIndex']||0x0)-(_0x4a0c6d['tabIndex']||0x0)),_0x429c57=_0x124207['indexOf'](_0x45a66f),_0x32a297=_0x124207[(_0x429c57+0x1)%_0x124207['length']];_0x32a297&&_0x32a297['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5a28fc();}),_0x5d0234['focusTracker']['add'](this['view']['element']),_0x5d0234['focusTracker']['on']('change:isFocused',(_0x4c8497,_0x3ca0a8,_0x29a395)=>{_0x29a395||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 vt extends _0x3c4a20{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,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};