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

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 _0x1ee86a,Plugin as _0x2f0b4b,PendingActions as _0x483e8d,Context as _0x3cdc8a}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x40ea56,CKEditorError as _0x4c85a1,Collection as _0x2a7787,global as _0x403ff3,version as nt,uid as _0x511079,KeystrokeHandler as _0x423e40}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2aa95c,View as _0x2265b0,ListView as _0x20dea4,ListItemView as ct,LabelView as at,BalloonPanelView as _0x4f431,clickOutsideHandler as _0x1ee270,BodyCollection as _0x39f093}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x270959,History as _0x25d6dd,NoOperation as _0x1e2248,InsertOperation as _0x5a42c0,MarkerOperation as _0x224565,RootAttributeOperation as _0x19104d,transformOperationSets as _0x548f44,OperationFactory as _0x4e5b00}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x539539,CollaborativeEditingService as _0x5adad5,User as ut,CommentsService as _0x25ed7c,TrackChangesService as _0x44f89b,RevisionHistoryService as _0x251025,EditorService as _0x5dca73}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x28214f,UserView as ot}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x16aabe}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x47944e}from'es-toolkit/compat';class n extends _0x1ee86a{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2aa95c];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x519a4a){super(_0x519a4a),this['set']('state',_0x539539['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x40ea56())();}['init'](){const _0x1d83f2=this['context'],_0x28e447=_0x1d83f2['plugins']['get']('CloudServices'),_0x3ac1d3=_0x1d83f2['plugins']['get'](_0x2aa95c);if(!_0x28e447['token'])throw new _0x4c85a1('websocketgateway-missing-token',this);if(!_0x28e447['webSocketUrl'])throw new _0x4c85a1('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'](_0x28e447['token'],_0x28e447['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x307cc6=>{if(this['connection']=_0x307cc6,this['bind']('state')['to'](_0x307cc6,'state',this,'_isBrowserOffline',(_0x5bea16,_0x31bbb0)=>('connected'!==_0x5bea16&&(this['_shouldPluginsReconnect']=!0x0),_0x31bbb0||_0x5bea16!==_0x539539['CONNECTED']?_0x539539['DISCONNECTED']:this['state']==_0x539539['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x539539['CONNECTING']):_0x539539['CONNECTED'])),this['connection']['on']('error',(_0x315a97,_0x1f1ce9)=>{if('limitExceeded'!==_0x1f1ce9['code'])throw console['error'](_0x1f1ce9),new _0x4c85a1('cloudservices-init',null,{'originalError':_0x1f1ce9});_0x3ac1d3['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'});}),!_0x307cc6['me'])return new Promise(_0xdb8d86=>_0x307cc6['on']('change:me',_0xdb8d86));})['catch'](_0x5560ca=>{throw console['error'](_0x5560ca),new _0x4c85a1('cloudservices-init',null,{'originalError':_0x5560ca});});}['addToReconnectionStack'](_0x245e96){if('function'!=typeof _0x245e96['reconnect'])throw new _0x4c85a1('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x245e96))throw new _0x4c85a1('websocketgateway-plugin-already-registered',this,{'name':_0x245e96['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x245e96);}['removeFromReconnectionStack'](_0x2d1f50){this['_reconnectionStack']['delete'](_0x2d1f50);}['isInReconnectionStack'](_0x4ecdce){return this['_reconnectionStack']['has'](_0x4ecdce);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x52bed0=>_0x52bed0['reconnect']())))['then'](()=>this['state']=_0x539539['CONNECTED'])['catch'](_0x46fdd2=>{throw console['error'](_0x46fdd2),new _0x4c85a1('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x539539['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1ee86a{['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,_0x28214f];}constructor(_0x177ff4){super(_0x177ff4),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2a7787(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x28214f);}['init'](){const _0x1e078f=this['context']['plugins']['get'](n);this['listenTo'](_0x1e078f,'change:state',(_0x3b5f90,_0x2002a8,_0x3fa5d2)=>{if('connected'!==_0x3fa5d2)this['channelSessions']['forEach'](_0x31b10e=>_0x31b10e['clear']()),this['channelConnectedUsers']['forEach'](_0x2c4aea=>_0x2c4aea['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x43905f,_0x4614a9]of this['_registeredSessions'])for(const _0x8e6961 of _0x4614a9)this['_handleSessionAdd'](_0x43905f,_0x8e6961);}}),this['_createUser'](_0x1e078f['connection']['me'],!0x0);}['register'](_0x32d8b1,_0x2656a9){if(this['_registeredSessions']['has'](_0x32d8b1))throw new _0x4c85a1('sessions-register-already-registered',null,{'channelId':_0x32d8b1});this['_registeredSessions']['set'](_0x32d8b1,_0x2656a9),this['channelSessions']['set'](_0x32d8b1,new _0x2a7787()),this['channelConnectedUsers']['set'](_0x32d8b1,new _0x2a7787()),this['listenTo'](_0x2656a9,'add',(_0x3e0752,_0x48e66c)=>this['_handleSessionAdd'](_0x32d8b1,_0x48e66c)),this['listenTo'](_0x2656a9,'remove',(_0x56b48,_0x42c9dc)=>this['_handleSessionRemove'](_0x32d8b1,_0x42c9dc));for(const _0x3f15d6 of _0x2656a9)this['_handleSessionAdd'](_0x32d8b1,_0x3f15d6);}['unregister'](_0x189fe6){if(!this['_registeredSessions']['has'](_0x189fe6))throw new _0x4c85a1('sessions-unregister-not-exist',null,{'channelId':_0x189fe6});const _0x5cbfdd=this['_registeredSessions']['get'](_0x189fe6);this['stopListening'](_0x5cbfdd);for(const _0x38d86e of _0x5cbfdd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x189fe6,_0x38d86e);this['_registeredSessions']['delete'](_0x189fe6),this['channelSessions']['delete'](_0x189fe6),this['channelConnectedUsers']['delete'](_0x189fe6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x513c92){for(const _0x30ede2 of this['channelSessions']['values']())for(const _0x9f7ea8 of _0x30ede2)if(_0x9f7ea8['id']===_0x513c92)return _0x9f7ea8['user'];}['getUserSessions'](_0x3d0ae0,_0x38c843){const _0x5a70f4=_0x38c843?[this['channelSessions']['get'](_0x38c843)]:this['channelSessions']['values'](),_0x172c70=new Set();for(const _0x3e1220 of _0x5a70f4)for(const _0xb96f4a of _0x3e1220)_0xb96f4a['user']['id']===_0x3d0ae0['id']&&_0x172c70['add'](_0xb96f4a['id']);return _0x172c70;}['getUserRole'](_0x22ac52){for(const _0x3fe485 of this['channelSessions']['values']())for(const _0x3fe87e of _0x3fe485)if(_0x3fe87e['user']===_0x22ac52)return _0x3fe87e['role'];}['_handleSessionAdd'](_0xb60eb5,_0x8721f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3a7c4b=_0x8721f['user'],_0x2f19f4=this['_users']['getUser'](_0x3a7c4b['id'])||this['_createUser'](_0x3a7c4b),_0x4e33f2=Object['assign']({},_0x8721f,{'user':_0x2f19f4});if(this['channelSessions']['get'](_0xb60eb5)['add'](_0x4e33f2),!_0x3a7c4b['hiddenInPresenceList']){const _0x38c1a8=this['channelConnectedUsers']['get'](_0xb60eb5);_0x38c1a8['has'](_0x2f19f4['id'])||_0x38c1a8['add'](_0x2f19f4),this['allConnectedUsers']['has'](_0x2f19f4['id'])||_0x3a7c4b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2f19f4,_0x2f19f4['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0xb60eb5,{'channelId':_0xb60eb5,'session':_0x4e33f2});}['_handleSessionRemove'](_0x3946f1,_0x8152a5){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xa557fd=this['channelConnectedUsers']['get'](_0x3946f1),_0x5949d4=_0x8152a5['user'];_0x5949d4['id']&&(this['channelSessions']['get'](_0x3946f1)['remove'](_0x8152a5['id']),_0xa557fd['has'](_0x5949d4['id'])&&!this['getUserSessions'](_0x5949d4,_0x3946f1)['size']&&_0xa557fd['remove'](_0x5949d4['id']),this['allConnectedUsers']['get'](_0x5949d4['id'])&&!this['getUserSessions'](_0x5949d4)['size']&&this['allConnectedUsers']['remove'](_0x5949d4['id']));}['_createUser'](_0x599cb1,_0x48c94e){const _0x431c7b=this['_users']['addUser'](_0x599cb1);return _0x48c94e&&this['_users']['defineMe'](_0x599cb1['id']),_0x431c7b['orderNumber']=this['_uniqueUsersCount']++,_0x431c7b;}}class N extends _0x2f0b4b{['_domEmitter']=new(_0x40ea56())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x10b53f=this['editor'],_0x96b346=_0x10b53f['plugins']['get'](i);_0x10b53f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x925563,{writer:_0x177c05})=>function(_0x508d72,_0x31af52,_0x1d773d,_0x2c3f49){const _0x14ada1=_0x508d72['markerName']['split'](':')[0x2],_0x57d1c3=_0x1d773d['getUserBySessionId'](_0x14ada1);if(!_0x57d1c3||_0x14ada1===_0x1d773d['mySessionId'])return;if(!_0x2c3f49['model']['schema']['checkChild'](_0x508d72['markerRange']['start'],'$text'))return;const _0x340cf6={'class':'ck-user__marker\x20'+_0x57d1c3['color']['getMarkerClass'](),'data-name':_0x57d1c3['name'],'data-session-id':_0x14ada1},_0x45318c=_0x2c3f49['model']['markers']['get'](_0x508d72['markerName']),_0x381d57=_0x45318c['getStart'](),_0x3ea8e0=_0x381d57['nodeAfter'],_0x38ba45=_0x2c3f49['model']['schema'];if(_0x3ea8e0&&_0x38ba45['isObject'](_0x3ea8e0)&&_0x38ba45['isInline'](_0x3ea8e0)&&!_0x2c3f49['model']['markers']['get']('user:range:'+_0x14ada1)['getRange']()['isCollapsed'])return;const _0x537e52=_0x381d57['parent'];return _0x2c3f49['model']['schema']['isLimit'](_0x537e52)&&!_0x2c3f49['model']['hasContent'](_0x537e52)&&(_0x340cf6['contenteditable']=!0x1),function(_0x1bf2ff,_0x364a5e,_0x885d64){const _0x51624e=_0x1bf2ff['createUIElement']('span',_0x364a5e);return _0x1bf2ff['setCustomProperty']('userPositionMarker',!0x0,_0x51624e),_0x51624e['render']=function(_0x226883){const _0x2a7674=this['toDomElement'](_0x226883),_0x121254=document['createElement']('span');return _0x121254['classList']['add']('ck-user__marker-tooltip'),_0x121254['setAttribute']('contenteditable','false'),_0x121254['setAttribute']('spellcheck','false'),_0x121254['textContent']=_0x885d64['name'],_0x2a7674['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x121254['outerHTML']+'⁠',_0x2a7674['addEventListener']('mouseenter',()=>{_0x2a7674['classList']['add']('ck-user__marker_hovered');}),_0x2a7674['addEventListener']('mouseleave',()=>{_0x2a7674['classList']['remove']('ck-user__marker_hovered');}),_0x2a7674;},_0x51624e['isSimilar']=function(_0x372f43){return!(!this['getCustomProperty']('userPositionMarker')||!_0x372f43['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x372f43['getAttribute']('data-session-id'));},_0x51624e;}(_0x31af52,_0x340cf6,_0x57d1c3);}(_0x925563,_0x177c05,_0x96b346,_0x10b53f)}),_0x10b53f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5111cf=>function(_0x1e21f8,_0x7775c0){const _0x44504d=_0x1e21f8['markerName']['split'](':')[0x2];if(_0x44504d===_0x7775c0['mySessionId'])return null;const _0x4b2e17=_0x7775c0['getUserBySessionId'](_0x44504d);if(!_0x4b2e17)return{'id':_0x44504d,'classes':[]};return{'id':_0x44504d,'classes':['ck-user__selection',_0x4b2e17['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x44504d},'priority':0x7d0+_0x4b2e17['orderNumber']};}(_0x5111cf,_0x96b346)}),function(_0x125fe8){const _0x26303f=_0x125fe8['model'],_0x20ec07=new Map(),_0x219e7e=_0x125fe8['plugins']['get'](i);_0x26303f['markers']['on']('update:user:range',(_0x4fb919,_0x5c8a36,_0x8028ae,_0x5700dd)=>{if(!_0x5700dd&&_0x20ec07['get'](_0x5c8a36['name']))return _0x20ec07['get'](_0x5c8a36['name'])['detach'](),void _0x20ec07['delete'](_0x5c8a36['name']);const _0xec0a24=_0x5c8a36['name']['split'](':')[0x2];if(_0xec0a24===_0x219e7e['mySessionId'])return;const _0x3b5835='user:position:'+_0xec0a24;_0x26303f['markers']['has'](_0x3b5835)&&_0x125fe8['editing']['reconvertMarker'](_0x3b5835),_0x5c8a36['on']('change:range',(_0x430269,_0x140e7b,_0x11b417)=>{if('$graveyard'!=_0x140e7b['root']['rootName']&&'$graveyard'==_0x5c8a36['getRange']()['root']['rootName']&&!_0x20ec07['has'](_0x5c8a36['name'])){const _0xd020bf=_0x26303f['schema']['getNearestSelectionRange'](_0x11b417['deletionPosition']);if(_0xd020bf){const _0x37421f=_0x270959['fromRange'](_0xd020bf);_0x20ec07['set'](_0x5c8a36['name'],_0x37421f),_0x37421f['on']('change:range',(_0x8acc8d,_0x1f98bc,_0x2d28ee)=>{if('$graveyard'==_0x37421f['root']['rootName']){const _0x1ccc7a=_0x26303f['schema']['getNearestSelectionRange'](_0x2d28ee['deletionPosition']);_0x1ccc7a?(_0x37421f['start']=_0x1ccc7a['start'],_0x37421f['end']=_0x1ccc7a['end']):(_0x20ec07['delete'](_0x5c8a36['name']),_0x37421f['detach']());}});}}});}),_0x26303f['document']['on']('change',()=>{_0x20ec07['size']>0x0&&_0x26303f['enqueueChange']({'isUndoable':!0x1},_0x4e8097=>{for(const [_0x1695b9,_0x2023f6]of _0x20ec07)'$graveyard'==_0x26303f['markers']['get'](_0x1695b9)['getRange']()['root']['rootName']&&(J(_0x1695b9['split'](':')[0x2],_0x2023f6['toRange'](),_0x26303f,_0x4e8097),_0x2023f6['detach']());_0x20ec07['clear']();});});}(_0x10b53f),this['_domEmitter']['listenTo'](_0x403ff3['document'],'keydown',(_0x4f8df0,{key:_0x5e4eb9})=>{'Escape'===_0x5e4eb9&&function(_0x414167){_0x414167['editing']['view']['change'](_0x46245b=>{for(const _0x13906c of _0x414167['model']['markers']){if(!_0x13906c['name']['startsWith']('user:position'))continue;const _0x52a689=_0x414167['editing']['mapper']['markerNameToElements'](_0x13906c['name']);if(_0x52a689){for(const _0x4a6cfe of _0x52a689)_0x46245b['removeClass']('ck-user__marker_hovered',_0x4a6cfe);}}});}(_0x10b53f);},{'useCapture':!0x0});}['afterInit'](){const _0x3ced2a=this['editor'],_0xa2fcfa=_0x3ced2a['commands']['get']('undo');_0xa2fcfa&&_0x3ced2a['model']['on']('applyOperation',(_0x53f168,_0x38e59d)=>{const _0x516475=_0x38e59d[0x0];if(!_0x516475['isDocumentOperation'])return;if('marker'!=_0x516475['type']||!_0x516475['name']['startsWith']('user:'))return;const _0x6bda74=_0x516475['batch'];_0xa2fcfa['_createdBatches']['has'](_0x6bda74)&&(_0x516475['newRange']=_0x516475['oldRange']?_0x3ced2a['model']['createRange'](_0x516475['oldRange']['start'],_0x516475['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c109d=this['editor'],_0x1a2283=_0x1c109d['model']['document'],_0x1c3e02=_0x1c109d['plugins']['get'](i);_0x1c109d['model']['enqueueChange']({'isUndoable':!0x1},_0x38d4fd=>{const _0x5ef6e7='user:range:'+_0x1c3e02['mySessionId'],_0x1fcefa='user:position:'+_0x1c3e02['mySessionId'],_0x30b38e=_0x1c109d['model']['markers']['has'](_0x5ef6e7);_0x1c109d['editing']['view']['hasDomSelection']?J(_0x1c3e02['mySessionId'],_0x1a2283['selection']['getFirstRange'](),_0x1c109d['model'],_0x38d4fd):_0x30b38e&&(_0x38d4fd['removeMarker'](_0x5ef6e7),_0x38d4fd['removeMarker'](_0x1fcefa));});}}function J(_0x5eea0,_0x35702c,_0xdfafc6,_0x207820){const _0x15ae29='user:range:'+_0x5eea0,_0x5d2a8d='user:position:'+_0x5eea0,_0x2b4ade=_0x35702c['getContainedElement']();let _0x4c8c41=_0x35702c['start'];if(_0x2b4ade&&_0x2b4ade['is']('element','tableCell')){const _0x40a3e5=function(_0x3b7032,_0xc1e5ed){for(const _0x4a0f8c of _0x3b7032['getPositions']())if(_0xc1e5ed['schema']['checkChild'](_0x4a0f8c,'$text'))return _0x4a0f8c;}(_0x35702c,_0xdfafc6);_0x40a3e5&&(_0x4c8c41=_0x40a3e5,_0x35702c=_0x207820['createRange'](_0x4c8c41));}const _0xea1024=_0x207820['createRange'](_0x4c8c41);_0xdfafc6['markers']['has'](_0x15ae29)?(_0x207820['updateMarker'](_0x15ae29,{'range':_0x35702c}),_0x207820['updateMarker'](_0x5d2a8d,{'range':_0xea1024})):(_0x207820['addMarker'](_0x15ae29,{'range':_0x35702c,'usingOperation':!0x0}),_0x207820['addMarker'](_0x5d2a8d,{'range':_0xea1024,'usingOperation':!0x0}));}function B(_0x2d71df,_0x41feb2,_0x40271c){const _0x3c3a6f=_0x2d71df['t'],t=_0x2d71df['t'];switch(_0x41feb2){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 _0x3c3a6f({'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'},_0x40271c);default:return'';}}let z=0x1;class l extends _0x2f0b4b{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x5adad5)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,N,_0x483e8d,_0x28214f,_0x2aa95c];}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 _0x34b550=this['serverHistory']['getOperations']();for(let _0x38b306=_0x34b550['length']-0x1;_0x38b306>=0x0;_0x38b306--){const _0x2811b3=_0x34b550[_0x38b306];if(!this['_disconnectionOperations']['has'](_0x2811b3))return _0x2811b3['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1dc6e9){if(super(_0x1dc6e9),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x25d6dd(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4c85a1('collaboration-missing-channelid',this);const _0x469ef8=_0x1dc6e9['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x469ef8,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x16aabe(),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 W(this['_disconnectionOperations']);}['init'](){const _0x4406ee=this['editor'],_0x53bc75=_0x4406ee['plugins']['get'](_0x28214f),_0x1796d3=_0x4406ee['plugins']['get'](n);this['listenTo'](_0x53bc75,'getOperationAuthor',(_0xabda53,_0x426b7a)=>{const _0x30e6e4=_0x426b7a[0x0];_0x30e6e4['_authorId']&&(_0xabda53['return']=_0x53bc75['getUser'](_0x30e6e4['_authorId']),_0xabda53['stop']()),null===_0x30e6e4['_authorId']&&(_0xabda53['return']=null,_0xabda53['stop']());},{'priority':'high'}),this['listenTo'](_0x4406ee['model']['document']['selection'],'change:range',(_0x29fd94,_0x30bbde)=>{_0x30bbde['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4406ee['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4406ee['model']['on']('applyOperation',(_0x3d325b,_0x54f365)=>{const _0x3d9763=_0x54f365[0x0];_0x3d9763['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x3d9763),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1796d3,'state',this,'_hasSynchronizationProblem',(_0x59e7be,_0x49be73)=>'connected'===_0x59e7be&&!_0x49be73),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4406ee['disableReadOnlyMode']('rtc-offline'):_0x4406ee['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4406ee['disableReadOnlyMode']('rtc-offline'):_0x4406ee['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2aa429=this['editor']['plugins']['get'](i),_0x3e27c8=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2aa429['unregister'](this['_channelId']);const _0x3b2870=await this['_service']['reconnect'](_0x3e27c8['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x3b2870)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x30e6bb=await this['_service']['getConnectedSessions']();_0x2aa429['register'](this['_channelId'],_0x30e6bb),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3d1b9f){if(function(_0x3daf4c){return'404'===_0x3daf4c['code'];}(_0x3d1b9f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x364829){return'409'===_0x364829['code'];}(_0x3d1b9f)){const _0x3ff2f8=B(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'](_0x3ff2f8);}else{if(!(_0x3d1b9f instanceof H))throw _0x3d1b9f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4fc9c0=this['editor']['plugins']['get'](n),_0x295f71=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x295f71['channelSessions']['has'](this['_channelId'])&&_0x295f71['unregister'](this['_channelId']),_0x4fc9c0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1dc753){if(this['sessionId']!==_0x1dc753['sessionId']&&this['_lastSyncedOperationId']!==_0x1dc753['lastOperationId'])throw new H();return this['sessionId']=_0x1dc753['sessionId'],this['_handleServerResponse']([],{..._0x1dc753,'wereChangesApplied':!0x1,'data':_0x1dc753['data']},'reconnect');}async['_connectService'](_0x39db2f,_0x3cc972=!0x1){const {connection:_0x5c8edc}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x5c8edc,this['_channelId'])['then'](_0x146423=>this['_initSessionsHandling'](_0x146423))['catch'](_0x368fef=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x368fef);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x44bd30,_0x4b25de)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4b25de);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x307e35=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x39db2f);this['_isPendingUpdate']=!0x0;const _0x4254da=await this['_service']['connect'](_0x5c8edc,this['_compressOperations'](_0x39db2f),_0x307e35);if(this['sessionId']=_0x4254da['sessionId'],_0x3cc972){if(!_0x4254da['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4254da['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x39db2f,_0x4254da,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4254da,_0x39db2f);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2b9869=this['editor']['plugins']['get'](i),_0x39f10d=this['editor']['plugins']['get'](N),_0x1c7076=_0x2b9869['channelSessions']['get'](this['_channelId']);_0x1c7076&&_0x1c7076['length']>0x1?_0x39f10d['createUserMarkerOperations']():this['listenTo'](_0x2b9869,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2b9869['channelSessions']['get'](this['_channelId'])['length']&&_0x39f10d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x27fb17,_0x591fcb,_0x2e8bd6,_0x1ee497){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x591fcb){const _0x3a163e=this['_decompressOperations'](_0x2e8bd6,_0x1ee497);await this['_fetchMissingUsers'](_0x3a163e),this['_handleExternalOperations'](_0x3a163e,_0x591fcb,_0x2e8bd6['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x544d27}=this['editor'];let _0x26684b;try{_0x26684b=await this['_service']['getDocumentDetails']();}catch{const _0x1b6f9b=B(_0x544d27,'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'](_0x1b6f9b);}const _0x298284=_0x26684b['currentDocumentSession']||_0x26684b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x298284['lastOperationId']){const _0x506cc0=B(_0x544d27,'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'](_0x506cc0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x315f10){const _0x3e1d8d=this['editor']['plugins']['get'](i);this['listenTo'](_0x3e1d8d,'sessionAdd:'+this['_channelId'],(_0x26e647,{session:_0x267356})=>{if(_0x267356['id']===_0x3e1d8d['mySessionId']){_0x26e647['off']();const _0x25f41c=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4bda05=_0x267356['permissions'];_0x25f41c&&_0x25f41c['isEnabled']&&(_0x4bda05=_0x4bda05['filter'](_0x2d7b60=>'document:write'!==_0x2d7b60)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4bda05,this['_channelId']);}}),_0x3e1d8d['register'](this['_channelId'],_0x315f10);}['_initThrowingOnDataSet'](){const _0x2eae89=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x50c166)=>{if(!_0x50c166[_0x50c166['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4c85a1('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2eae89['apply'](this['editor']['data'],_0x50c166);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x299b10,[_0x331a57])=>{if(this['_document']['version'])throw new _0x4c85a1('realtimecollaborationclient-init-document-already-initialized',this);_0x299b10['stop'](),this['_setPendingAction']();const _0x4aa98d=this['editor']['config']['get']('rootsAttributes'),_0xebed2b=this['_getOperationsFromInitData'](_0x331a57,_0x4aa98d);0x0==_0xebed2b['length']&&_0xebed2b['push'](new _0x1e2248(0x0)),_0x299b10['return']=this['_connectService'](_0xebed2b)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x54e19a=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x54e19a))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x464d12,[_0x2e3700,_0xb07cf])=>{_0x464d12['stop']();const _0x184c98=this['editor']['model']['document']['getRoot'](_0x2e3700);if(!this['_knownRootNames']['has'](_0x2e3700)){const _0x501569=_0xb07cf&&_0xb07cf['data']?_0xb07cf['data']:'',_0x2d0d1a=_0xb07cf&&_0xb07cf['attributes']?_0xb07cf['attributes']:{};await this['_loadRoot'](_0x2e3700,_0x501569,_0x2d0d1a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x184c98['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x184c98);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x337332){const _0x3c6fa9=this['editor']['plugins']['get'](_0x28214f),{connection:_0x1f3b71}=this['editor']['plugins']['get'](n),_0x391bf3=new Set();for(const _0x70ecd9 of _0x337332){const _0x344323=_0x70ecd9['_authorId'];_0x344323&&!_0x3c6fa9['getUser'](_0x344323)&&_0x391bf3['add'](_0x344323);}if(0x0===_0x391bf3['size'])return;const _0x2f6e8f=await ut['getMany'](_0x1f3b71,Array['from'](_0x391bf3));for(const _0x3d34d2 of _0x2f6e8f)_0x3c6fa9['getUser'](_0x3d34d2['id'])||_0x3c6fa9['addUser'](_0x3d34d2);}['_getOperationsFromInitData'](_0x2143cd,_0x4c964b={}){const _0x6a7676=this['editor']['model'],_0x59309f=[];let _0x360640=0x0;const _0x1a1b51='string'==typeof _0x2143cd?{'main':_0x2143cd}:_0x2143cd;for(const _0x5ae25d of Object['keys'](_0x1a1b51)){if(!this['_document']['roots']['has'](_0x5ae25d))throw new _0x4c85a1('realtimecollaborationclient-init-non-existent-root',this);const _0x5d4322=this['editor']['data']['parse'](_0x1a1b51[_0x5ae25d]),_0x514bed=this['_document']['getRoot'](_0x5ae25d),_0x770049=new _0x5a42c0(_0x6a7676['createPositionAt'](_0x514bed,0x0),_0x5d4322,_0x360640++);_0x59309f['push'](_0x770049);for(const [_0x5df6f4,_0x35b4f4]of _0x5d4322['markers']){const _0x73bb54=_0x6a7676['createRange'](_0x6a7676['createPositionFromPath'](_0x514bed,_0x35b4f4['start']['path']['slice']()),_0x6a7676['createPositionFromPath'](_0x514bed,_0x35b4f4['end']['path']['slice']())),_0x17464a=new _0x224565(_0x5df6f4,null,_0x73bb54,_0x6a7676['markers'],!0x0,_0x360640++);_0x59309f['push'](_0x17464a);}}if(_0x4c964b)for(const [_0x18d08f,_0x3a649a]of Object['entries'](_0x4c964b)){const _0x55338a=_0x6a7676['document']['getRoot'](_0x18d08f);if(!_0x55338a)throw new _0x4c85a1('multi-root-editor-root-attributes-no-root',null);for(const [_0x2e84b1,_0x43725b]of Object['entries'](_0x3a649a))if(null!==_0x43725b){const _0x3eae3b=new _0x19104d(_0x55338a,_0x2e84b1,null,_0x43725b,_0x360640++);_0x59309f['push'](_0x3eae3b);}}return _0x59309f;}async['_loadRoot'](_0x3730e1,_0x226977,_0x1312fc){this['_getOperationsFromInitData']({[_0x3730e1]:_0x226977},{[_0x3730e1]:_0x1312fc})['forEach']((_0x2f4a9e,_0x512056)=>{_0x2f4a9e['baseVersion']=this['_document']['version']+_0x512056,_0x2f4a9e['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2f4a9e);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xa31c1b,_0x343445){let _0x49fdda;this['_offset']=_0xa31c1b['offset'];const _0x2c9c93=_0xa31c1b['wereChangesApplied']&&!_0xa31c1b['initData'],_0x13babe=_0x2c9c93?0x0:_0xa31c1b['data']['baseVersion'];if(_0x343445['forEach'](_0x42b6e5=>{_0x42b6e5['_isInit']=!0x0,_0x42b6e5['createdAt']=_0xa31c1b['sessionCreatedAt'],_0x42b6e5['_authorId']=null;}),_0x2c9c93)_0x49fdda=_0x343445,this['_applyOperationsSet'](_0x49fdda,_0x2c9c93);else{if(_0xa31c1b['initData']){const _0x828a44=this['_getOperationsFromInitData'](_0xa31c1b['initData']);this['_document']['history']['version']=-_0x828a44['length'],_0x828a44['forEach'](_0x222c0c=>{_0x222c0c['baseVersion']-=_0x828a44['length'],_0x222c0c['createdAt']=_0xa31c1b['sessionCreatedAt'],_0x222c0c['_isInit']=!0x0,_0x222c0c['_authorId']=null;}),this['_applyOperationsSet'](_0x828a44,!0x0),this['serverHistory']['version']=-_0x828a44['length']+this['_offset'],this['_updateServerHistory'](_0x828a44);}this['_document']['history']['version']=_0x13babe,_0x49fdda=this['_decompressOperations'](_0xa31c1b['data'],_0xa31c1b['metadata']),await this['_fetchMissingUsers'](_0x49fdda),this['_applyOperationsSet'](_0x49fdda,_0x2c9c93);}_0xa31c1b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x49fdda,_0xa31c1b['lastOperationId']),this['_lastSyncedOperationId']=_0xa31c1b['lastOperationId']),this['serverHistory']['version']=_0x13babe+this['_offset'],this['_updateServerHistory'](_0x49fdda),_0x343445['filter'](_0xe1aae3=>{const _0x568053=this['_getAffectedRoot'](_0xe1aae3);return _0x568053&&!this['_knownRootNames']['has'](_0x568053);})['forEach']((_0x54b495,_0x452d98)=>{_0x54b495['baseVersion']=this['_document']['version']+_0x452d98,this['_saveOperationInBuffer'](_0x54b495);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x555179,_0x652395){const _0x30ba8d=_0x652395&&_0x652395['message'];if(_0x30ba8d&&_0x30ba8d['startsWith']('realtimecollaborationclient'))throw _0x652395;const _0x58f8dc=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x58f8dc['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4c85a1(_0x555179,this['editor'],_0x30ba8d?{'originalError':_0x30ba8d}:void 0x0);}['_saveOperationInBuffer'](_0x48538e){this['_knownOperations']['has'](_0x48538e)||(this['_knownOperations']['add'](_0x48538e),this['_bufferedOperations']['push'](_0x48538e),this['_pendingAction']||'marker'==_0x48538e['type']&&!_0x48538e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1764fc=!0x1){!_0x1764fc&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4c62a4=>{_0x4c62a4&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4f0622=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x11f9b5){return _0x11f9b5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x11f9b5['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x11f9b5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4f0622)||this['_crash'](_0x4f0622['message'],_0x4f0622);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x20f596=>{this['on']('change:_isPendingUpdate',()=>{_0x20f596();});});}async['_sendBufferedOperations'](){const _0x698104=this['editor']['plugins']['get'](N);if(this['_shouldSendSelectionUpdate']()&&(_0x698104['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x17fcde=[...this['_bufferedOperations']];for(const _0x25691f of _0x17fcde)_0x25691f['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x25691f);const _0x211235=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x17fcde),_0x3d5e60=z++,_0x25f35d=this['_compressOperations'](_0x17fcde),_0x1065b6=await this['_service']['sendOperations'](_0x25f35d,_0x25f35d['baseVersion'],_0x211235);try{return await this['_handleServerResponse'](_0x17fcde,_0x1065b6,_0x3d5e60);}catch(_0x34b01e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x34b01e);}}async['_handleServerResponse'](_0x5b5c92,_0x28800c,_0x19e3c4){if('error'in _0x28800c)throw _0x28800c['error'];let _0x58e338=!0x1;if(_0x28800c['wereChangesApplied']){_0x28800c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x28800c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xcfd594=>!_0x5b5c92['includes'](_0xcfd594));for(const _0x421b88 of _0x5b5c92)_0x421b88['createdAt']='lastOperationAcceptedAt'in _0x28800c&&_0x28800c['lastOperationAcceptedAt']||void 0x0;V(_0x5b5c92,_0x28800c['version']-_0x5b5c92['length']),this['_updateServerHistory'](_0x5b5c92);const _0x5ea84c=_0x5b5c92['filter'](_0x250334=>{if(!_0x250334['_isInit'])return!0x1;const _0x469e95=this['_getAffectedRoot'](_0x250334);return _0x469e95&&!this['_knownRootNames']['has'](_0x469e95);});V(_0x5ea84c,this['_document']['version']),this['_applyOperationsSet'](_0x5ea84c),_0x58e338=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4dcc56=this['_decompressOperations'](_0x28800c['data'],_0x28800c['metadata'])['filter'](_0x252004=>_0x252004['baseVersion']>=this['_lastServerVersion']);_0x4dcc56['forEach'](_0x41ccf0=>this['_addKnownRoot'](_0x41ccf0)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4325a8=>!_0x4325a8['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4325a8))),this['_bufferedOperations']['length']&&V(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4dcc56),_0x58e338=this['_handleExternalOperations'](_0x4dcc56,_0x28800c['version'],_0x28800c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x58e338?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x13afa8,_0x1438da,_0x113a40){try{const _0xba8f26={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x25880a,operationsB:_0x1c26b0,originalOperations:_0x5a8611}=_0x548f44(_0x13afa8,this['_bufferedOperations'],_0xba8f26);V(_0x25880a,this['_document']['version']),V(_0x1c26b0,_0x1438da);for(const _0x49d45c of _0x25880a){const _0xdcc464=_0x5a8611['get'](_0x49d45c);_0x49d45c['_authorId']=_0xdcc464?_0xdcc464['_authorId']:null;}_0x113a40&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x13afa8,_0x113a40),this['_lastSyncedOperationId']=_0x113a40),this['_bufferedOperations']=[..._0x1c26b0],this['_applyOperationsSet'](_0x25880a),this['_updateServerHistory'](_0x13afa8);}catch(_0x57e3cb){return console['error'](_0x57e3cb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3cf2bd,_0x5b1c03=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1e66fc=>{for(const _0x2cf532 of _0x3cf2bd)this['_knownOperations']['add'](_0x2cf532),this['_addKnownRoot'](_0x2cf532),_0x1e66fc['batch']['addOperation'](_0x2cf532),this['editor']['model']['applyOperation'](_0x2cf532);});}['_addKnownRoot'](_0x2fca25){const _0x415a45=this['_getAffectedRoot'](_0x2fca25);_0x415a45&&this['_knownRootNames']['add'](_0x415a45);}['_getAffectedRoot'](_0x19961b){let _0x2a9c46,_0x15f662;switch(_0x19961b['type']){case'insert':_0x2a9c46=_0x19961b['position']['root'];break;case'marker':if(_0x15f662=_0x19961b['newRange'],!_0x15f662)return null;_0x2a9c46=_0x15f662['root'];break;case'addRootAttribute':_0x2a9c46=_0x19961b['root'];break;case'addRoot':_0x2a9c46=_0x19961b['affectedSelectable'];break;case'move':_0x2a9c46=_0x19961b['targetPosition']['root'];break;default:return null;}return _0x2a9c46['rootName'];}['_updateServerHistory'](_0x2561ee){_0x2561ee['forEach'](_0x367b46=>{const _0x5bc9da=_0x367b46['clone']();_0x5bc9da['_authorId']=_0x367b46['_authorId'],_0x5bc9da['_isInit']=!!_0x367b46['_isInit'],_0x5bc9da['createdAt']=_0x367b46['createdAt'],_0x5bc9da['baseVersion']+=this['_offset'],_0x367b46['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5bc9da),this['serverHistory']['addOperation'](_0x5bc9da);});}['_handleReconnectionError'](_0x41bc21){const _0x5c2b52=this['editor']['plugins']['get']('Notification'),_0x3d9a6b=this['editor']['locale'];_0x41bc21||(_0x41bc21=B(_0x3d9a6b,'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.')),_0x5c2b52['showWarning'](_0x41bc21,{'title':B(_0x3d9a6b,'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'](_0x483e8d)['add'](B(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x483e8d)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x35b65b){const _0x376d2=_0x35b65b['map'](_0x3a00be=>_0x3a00be['toJSON']());return this['_compressor']['compress'](_0x376d2);}['_decompressOperations'](_0x18e1e4,_0x5e18af){return this['_compressor']['decompress'](_0x18e1e4)['map']((_0x11b7a1,_0x52a6b3)=>{const _0x650622='init'==_0x5e18af[_0x52a6b3]['type'];if('InsertOperation'==_0x11b7a1['__className']){const _0xe8aa01=_0x11b7a1['position']['root'];!this['_document']['getRoot'](_0xe8aa01)&&(this['_document']['createRoot']('$root',_0xe8aa01)['_isAttached']=!0x1);}const _0x59df9c=_0x4e5b00['fromJSON'](_0x11b7a1,this['_document']);return _0x59df9c['wasUndone']=_0x11b7a1['wasUndone'],_0x59df9c['_isInit']=_0x650622,_0x59df9c['_authorId']=_0x650622?null:_0x5e18af[_0x52a6b3]['userId'],_0x59df9c['_isDisconnection']='cs:removeUser'===_0x5e18af[_0x52a6b3]['type'],_0x59df9c['createdAt']=_0x5e18af[_0x52a6b3]['createdAt'],_0x59df9c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2cb20b=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2cb20b&&_0x2cb20b['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class H extends Error{}function V(_0x2a15f7,_0x327be1){for(const _0x2ef64d of _0x2a15f7)_0x2ef64d['baseVersion']=_0x327be1++;}class W{['_ignoredOperations'];['_operationToId'];constructor(_0x42410d){this['_ignoredOperations']=_0x42410d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2d0c6e){let _0x22ccf0=_0x2d0c6e['length'];for(;_0x22ccf0--;){const _0xb482c2=_0x2d0c6e[_0x22ccf0];if(!this['_ignoredOperations']['has'](_0xb482c2)){if(!this['_operationToId']['has'](_0xb482c2)){const _0x33ef36=_0x511079()['slice'](0x1,0x12);this['_operationToId']['set'](_0xb482c2,_0x33ef36);}return this['_operationToId']['get'](_0xb482c2);}}}['setIdForTheLastOperation'](_0x41c303,_0x20a26c){if(!_0x20a26c)return;let _0x248ed3=_0x41c303['length'];for(;_0x248ed3--;){const _0x351b4e=_0x41c303[_0x248ed3];this['_ignoredOperations']['has'](_0x351b4e)||this['_operationToId']['set'](_0x351b4e,_0x20a26c);}}}class a extends _0x2f0b4b{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1ee86a{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x25ed7c)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x28214f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x288b6a){super(_0x288b6a),this['_services']=new Map();}async['init'](){const _0x2449b6=this['context'],_0x5dff32=_0x2449b6['plugins']['get']('CommentsRepository');if(_0x2449b6['plugins']['get'](n)['addToReconnectionStack'](this),_0x5dff32['adapter']={'addCommentThread':async({channelId:_0x20501e,threadId:_0xc97329,comments:_0x25511b,resolvedAt:_0xec30f,resolvedBy:_0x1a8f5f,context:_0x243d70,attributes:_0x433200})=>{const _0x1cd7e8=await this['_getService'](_0x20501e)['addCommentThread']({'commentThreadId':_0xc97329,'comments':_0x25511b['map'](_0x34b467=>function(_0x1bf63a,_0x4694fe,_0x45455a){return{'commentThreadId':_0x45455a,'commentId':_0x1bf63a['commentId'],'userId':_0x1bf63a['authorId'],'content':_0x1bf63a['content'],'documentId':_0x4694fe,'createdAt':_0x1bf63a['createdAt'],'attributes':_0x1bf63a['attributes']||{}};}(_0x34b467,_0x20501e,_0xc97329)),'resolvedAt':_0xec30f,'resolvedBy':_0x1a8f5f,'context':_0x243d70,'attributes':_0x433200})['catch'](ft);return{'threadId':_0x1cd7e8['commentThreadId'],'comments':_0x1cd7e8['comments']};},'getCommentThread':async({channelId:_0x3b7af2,threadId:_0x387365})=>{const _0x93e00f=await this['_getService'](_0x3b7af2)['getCommentThread'](_0x387365)['catch'](f)['catch'](ft);return _0x93e00f?_0x93e00f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x93e00f]),{'threadId':_0x93e00f['commentThreadId'],'comments':_0x93e00f['comments']['map'](p),'context':_0x93e00f['context'],'resolvedAt':_0x93e00f['resolvedAt'],'resolvedBy':_0x93e00f['resolvedBy'],'attributes':_0x93e00f['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x281554,threadId:_0x41884d,context:_0x152f8a,unlinkedAt:_0x116c57,attributes:_0x53ef6a})=>this['_getService'](_0x281554)['updateCommentThread']({'commentThreadId':_0x41884d,'context':_0x152f8a,'attributes':_0x53ef6a,'unlinkedAt':_0x116c57})['catch'](f)['catch'](ft),'resolveCommentThread':async({channelId:_0x2e8387,threadId:_0x1e1e88})=>{const _0x24badd=await this['_getService'](_0x2e8387)['resolveCommentThread'](_0x1e1e88)['catch'](f)['catch'](ft);return{'threadId':_0x24badd['commentThreadId'],'resolvedAt':_0x24badd['resolvedAt'],'resolvedBy':_0x24badd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1c3035,threadId:_0x5ab553})=>this['_getService'](_0x1c3035)['reopenCommentThread'](_0x5ab553)['catch'](f)['catch'](ft),'removeCommentThread':({channelId:_0x5190ea,threadId:_0x3f6de0})=>this['_getService'](_0x5190ea)['removeCommentThread'](_0x3f6de0)['catch'](f)['catch'](ft),'addComment':({channelId:_0xfc04c6,threadId:_0x213ea6,commentId:_0x923a7,content:_0x440a2a,attributes:_0x5e8e23})=>this['_getService'](_0xfc04c6)['addComment'](_0x213ea6,_0x923a7,_0x440a2a,_0x5e8e23)['catch'](ft),'updateComment':({channelId:_0xe98c4f,threadId:_0x2b1fd2,commentId:_0x34ae44,content:_0x2a5315,attributes:_0x1c3758})=>this['_getService'](_0xe98c4f)['updateComment'](_0x2b1fd2,_0x34ae44,_0x2a5315,_0x1c3758)['catch'](f)['catch'](ft),'removeComment':({channelId:_0x1d86a1,threadId:_0x4d17d3,commentId:_0x3f0f77})=>this['_getService'](_0x1d86a1)['removeComment'](_0x4d17d3,_0x3f0f77)['catch'](f)['catch'](ft)},_0x2449b6 instanceof _0x3cdc8a){const _0x2f86c5=_0x2449b6['config']['get']('collaboration.channelId'),_0x14ed8c=_0x2449b6['plugins']['get'](i);await this['_setUpService'](_0x2f86c5);const _0x4cb78f=await this['_services']['get'](_0x2f86c5)['getConnectedSessions']();this['listenTo'](_0x14ed8c,'sessionAdd:'+_0x2f86c5,(_0x2a5700,{session:_0x5e243a})=>{_0x5e243a['id']===_0x14ed8c['mySessionId']&&(_0x2a5700['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5e243a['permissions'],_0x2f86c5));}),_0x14ed8c['register'](_0x2f86c5,_0x4cb78f);}}async['_setUpService'](_0x3d7b87){if(this['_services']['has'](_0x3d7b87))throw new _0x4c85a1('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3d7b87});const _0x55c298=this['context']['plugins']['get']('CommentsRepository'),_0x2da9e4=new s['CommentsService'](_0x3d7b87);this['_services']['set'](_0x3d7b87,_0x2da9e4),this['listenTo'](_0x2da9e4,'commentThreadAdded',(_0x629727,_0x2bee87)=>{const {commentThreadId:_0x24d7df,documentId:_0x572910,context:_0x4feb9d,attributes:_0x2cd19d,resolvedAt:_0x23521d,resolvedBy:_0x4bf4ea,comments:_0x40028d}=_0x2bee87;_0x55c298['getCommentThread'](_0x24d7df)||_0x55c298['addCommentThread']({'threadId':_0x24d7df,'channelId':_0x572910,'comments':_0x40028d?_0x40028d['map'](p):[],'context':_0x4feb9d,'attributes':_0x2cd19d,'resolvedAt':_0x23521d,'resolvedBy':_0x4bf4ea,'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentThreadUpdated',(_0x28698f,{commentThreadId:_0x4ab813,documentId:_0x33c11e,context:_0x13fcab,unlinkedAt:_0x335961,attributes:_0x5eedc6})=>{_0x55c298['getCommentThread'](_0x4ab813)&&_0x55c298['updateCommentThread']({'threadId':_0x4ab813,'channelId':_0x33c11e,'context':_0x13fcab,'unlinkedAt':_0x335961,'attributes':_0x5eedc6,'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentThreadResolved',(_0x3e92fe,{commentThreadId:_0x42b026,resolvedBy:_0x85665f,resolvedAt:_0x93a64f})=>{const _0x546048=_0x55c298['getCommentThread'](_0x42b026);_0x546048&&_0x546048['resolve']({'resolvedBy':_0x85665f,'resolvedAt':_0x93a64f,'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentThreadReopened',(_0xd03785,{commentThreadId:_0x57bd55})=>{const _0x2d050b=_0x55c298['getCommentThread'](_0x57bd55);_0x2d050b&&_0x2d050b['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentThreadRemoved',(_0x40f565,{commentThreadId:_0x115e23})=>{const _0x304093=_0x55c298['getCommentThread'](_0x115e23);_0x304093&&_0x304093['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentAdded',(_0x133ab,_0x215d84)=>{const _0x1ffe17=_0x215d84['commentThreadId'],_0x394c38=_0x55c298['getCommentThread'](_0x1ffe17);_0x394c38&&_0x394c38['addComment']({...p(_0x215d84),'isFromAdapter':!0x0});}),this['listenTo'](_0x2da9e4,'commentUpdated',(_0x5dea5f,{commentThreadId:_0x49a1a4,commentId:_0x34659d,content:_0x4dd1ac,attributes:_0x4ae9fb})=>{const _0x34f2d5=_0x55c298['getCommentThread'](_0x49a1a4);if(_0x34f2d5){const _0x298b19=_0x34f2d5['getComment'](_0x34659d);_0x298b19&&_0x298b19['update']({'content':_0x4dd1ac,'attributes':_0x4ae9fb,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2da9e4,'commentRemoved',(_0x3654d3,{commentThreadId:_0x74f096,commentId:_0x103f08})=>{const _0x46a62e=_0x55c298['getCommentThread'](_0x74f096);if(_0x46a62e){const _0x3f9a17=_0x46a62e['getComment'](_0x103f08);_0x3f9a17&&_0x3f9a17['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3d7b87);}['destroy'](){if(this['context']instanceof _0x3cdc8a){const _0x31fb79=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x31fb79);}}['_terminateService'](_0x37f4b3){if(!this['_services']['has'](_0x37f4b3))throw new _0x4c85a1('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x37f4b3});this['_getService'](_0x37f4b3)['disconnect'](),this['_services']['delete'](_0x37f4b3);}async['reconnect'](){for(const _0x49f231 of this['_services']['keys']())await this['_connectService'](_0x49f231);if(this['context']instanceof _0x3cdc8a){const _0xa905a6=this['context']['config']['get']('collaboration.channelId'),_0x55ecbd=this['context']['plugins']['get'](i);_0x55ecbd['unregister'](_0xa905a6);const _0x4ac2da=await this['_services']['get'](_0xa905a6)['getConnectedSessions']();_0x55ecbd['register'](_0xa905a6,_0x4ac2da);}}async['_connectService'](_0x478fbf){const {connection:_0x4f00de}=this['context']['plugins']['get'](n),_0x5f06b0=this['context']['plugins']['get']('CommentsRepository'),_0x3b1a27=this['_services']['get'](_0x478fbf),_0x22c1c9=await _0x3b1a27['connect'](_0x4f00de);await this['_fetchMissingUsersForThreads'](_0x22c1c9);const _0x228319=new Set(Array['from'](_0x5f06b0['getCommentThreads']({'channelId':_0x478fbf}),_0x42e7d1=>_0x42e7d1['id']));for(const _0x231177 of _0x22c1c9)_0x231177['deletedAt']||_0x228319['delete'](_0x231177['commentThreadId']);for(const _0x316587 of _0x228319)_0x5f06b0['getCommentThread'](_0x316587)['remove']({'isFromAdapter':!0x0});for(const _0x17ebf8 of _0x22c1c9){let _0x41756c=_0x5f06b0['getCommentThread'](_0x17ebf8['commentThreadId']);const {commentThreadId:_0x4d8b93,context:_0x297544,attributes:_0x102392,resolvedBy:_0x1b8fe6,resolvedAt:_0x63848e,unlinkedAt:_0x5beea9,deletedAt:_0x1d53a6}=_0x17ebf8;if(_0x1d53a6)continue;_0x41756c||(_0x41756c=_0x5f06b0['addCommentThread']({'channelId':_0x478fbf,'threadId':_0x4d8b93,'context':_0x297544,'attributes':_0x102392||{},'resolvedBy':_0x1b8fe6,'resolvedAt':_0x63848e,'unlinkedAt':_0x5beea9,'isFromAdapter':!0x0}));const _0x1e65a7=new Set(Array['from'](_0x41756c['comments'],_0x2d4e70=>_0x2d4e70['id']));for(const _0x44c5a of _0x17ebf8['comments'])_0x1e65a7['delete'](_0x44c5a['commentId']);for(const _0x4be8af of _0x1e65a7)_0x41756c['getComment'](_0x4be8af)['remove']({'isFromAdapter':!0x0});for(const _0x206875 of _0x17ebf8['comments']){const _0x385b3f=_0x41756c['getComment'](_0x206875['commentId']);_0x385b3f?_0x385b3f['content']!==_0x206875['content']&&_0x385b3f['update']({'content':_0x206875['content'],'isFromAdapter':!0x0}):_0x41756c['addComment'](Object['assign'](p(_0x206875),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1fe734){if(!this['_services']['has'](_0x1fe734))throw new _0x4c85a1('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1fe734});return this['_services']['get'](_0x1fe734);}async['_fetchMissingUsersForThreads'](_0x240c9b){const _0x19a35e=this['context']['plugins']['get'](_0x28214f),{connection:_0x5c2c6c}=this['context']['plugins']['get'](n),_0x185e06=new Set();for(const {resolvedBy:_0x413980,comments:_0x4f540b}of _0x240c9b){_0x413980&&!_0x19a35e['getUser'](_0x413980)&&_0x185e06['add'](_0x413980);for(const {userId:_0x4704c8}of _0x4f540b)_0x19a35e['getUser'](_0x4704c8)||_0x185e06['add'](_0x4704c8);}if(0x0===_0x185e06['size'])return;const _0x204da8=await ut['getMany'](_0x5c2c6c,Array['from'](_0x185e06));for(const _0x143404 of _0x204da8)_0x19a35e['getUser'](_0x143404['id'])||_0x19a35e['addUser'](_0x143404);}}async function f(_0xe2b468){if('404'!==_0xe2b468['code'])throw _0xe2b468;}function ft(_0x5953cf){if((_0x3bd309=_0x5953cf)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3bd309['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3bd309['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3bd309;throw _0x5953cf;}function p(_0x255690){return{'threadId':_0x255690['commentThreadId'],'commentId':_0x255690['commentId'],'content':_0x255690['content'],'createdAt':_0x255690['createdAt'],'authorId':_0x255690['userId'],'attributes':_0x255690['attributes']||{}};}class m extends _0x2f0b4b{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x44f89b)());['_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(_0x2e1d15){super(_0x2e1d15);const _0x4a55b4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x4a55b4);}['init'](){const _0x48823d=this['editor']['plugins']['get'](n),_0xc2fe7c=this['editor']['plugins']['get']('TrackChangesEditing');return _0xc2fe7c['adapter']={'getSuggestion':async _0x51c3d8=>{await this['_waitForServiceReady']();const _0x24c67d=await this['_trackChangesService']['get'](_0x51c3d8)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x24c67d]),_0x24c67d;},'addSuggestion':async({id:_0x3b716d,type:_0x2d7881,data:_0x33d31b,originalSuggestionId:_0x1f83df,attributes:_0x2841ef})=>{await this['_waitForServiceReady']();const _0x31d881={'id':_0x3b716d,'type':_0x2d7881,'data':_0x33d31b,'originalSuggestionId':_0x1f83df,'attributes':_0x2841ef},_0x247edc=await this['_trackChangesService']['add'](_0x3b716d,_0x2d7881,_0x33d31b,_0x1f83df,_0x2841ef)['catch'](_0x3df5ba=>{if(mt(_0x3df5ba))return new Promise(_0x5aba54=>{this['_bufferedRequests']['set'](_0x3b716d,{'resolve':_0x5aba54,'suggestionData':_0x31d881});});throw _0x3df5ba;});return this['_bufferedRequests']['delete'](_0x3b716d),_0x247edc;},'updateSuggestion':async(_0x450030,_0x2eb250)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2eb250['state'])return this['_trackChangesService']['update'](_0x450030,_0x2eb250)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2992d0,_0x58e705)=>{_0xc2fe7c['hasSuggestion'](_0x58e705['id'])&&(_0xc2fe7c['getSuggestion'](_0x58e705['id'])['attributes']=_0x58e705['attributes']);}),this['_trackChangesService']['connect'](_0x48823d['connection'])['then'](_0xf9eac1=>(_0x48823d['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xf9eac1)['then'](()=>{for(const _0x35ec41 of _0xf9eac1){_0xc2fe7c['addSuggestionData'](_0x35ec41)['_saved']=!0x0;}})));}async['reconnect'](){const _0x32aa85=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xfaa67a}=this['editor']['plugins']['get'](n),_0x1c77fd=await this['_trackChangesService']['connect'](_0xfaa67a);await this['_fetchMissingUsersForThreads'](_0x1c77fd);for(const {suggestionData:_0xf45c70,resolve:_0x1faaff}of this['_bufferedRequests']['values']()){let _0x284b8b=_0x1c77fd['find'](_0x2afcd9=>_0x2afcd9['id']===_0xf45c70['id']);_0x284b8b||(_0x284b8b=await this['_trackChangesService']['add'](_0xf45c70['id'],_0xf45c70['type'],_0xf45c70['data'],_0xf45c70['originalSuggestionId'])),_0x1faaff(_0x284b8b);}for(const _0x1ffff7 of _0x1c77fd)_0x32aa85['hasSuggestion'](_0x1ffff7['id'])||_0x32aa85['addSuggestionData'](_0x1ffff7);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x254c07=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2ff83f=>{_0x2ff83f['off'](),_0x254c07();});});}async['_fetchMissingUsersForThreads'](_0x1a8f74){const _0x340f61=this['editor']['plugins']['get'](_0x28214f),{connection:_0xc19d51}=this['editor']['plugins']['get'](n),_0x41b449=new Set();for(const {authorId:_0x329064}of _0x1a8f74)_0x340f61['getUser'](_0x329064)||_0x41b449['add'](_0x329064);if(0x0===_0x41b449['size'])return;const _0x42ee7b=await ut['getMany'](_0xc19d51,Array['from'](_0x41b449));for(const _0x82cf80 of _0x42ee7b)_0x340f61['getUser'](_0x82cf80['id'])||_0x340f61['addUser'](_0x82cf80);}}function A(_0x1e4f73){if(mt(_0x1e4f73))return new Promise(()=>{});throw _0x1e4f73;}function mt(_0x404a3e){return _0x404a3e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x404a3e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2f0b4b{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 _0x43835a=this['editor']['plugins']['get'](n),_0x2c2d6f=this['editor']['plugins']['get']('CommentsEditing'),_0x307f6f=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x43835a,'change:state',(_0x419e26,_0x1dd090,_0x4a9801)=>{_0x2c2d6f['isThreadsLoadingPaused']='connected'!==_0x4a9801;});}),this['listenTo'](_0x43835a,'change:state',(_0x524602,_0x4b4190,_0x3f25f3)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3f25f3);}),_0x307f6f['_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 _0x2f0b4b{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 _0x2f0b4b{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x251025)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x28214f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c927a){super(_0x3c927a);const _0x16ccd3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x16ccd3);}async['init'](){const _0x4e3027=this['editor']['plugins']['get'](l),_0x3a2297=_0x4e3027['serverHistory'],_0x14e20b=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3a2297,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4e3027['sessionId']});const _0xb2f786=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x13f7a1=await _0x5dca73['isBundleUploaded'](_0x14e20b['connection'],_0xb2f786);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xe31a34})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xe31a34)),'updateRevisions':async _0x5d7975=>{await this['_waitForServiceReady']();const _0x2be9f8=this['_revisionTracker']['currentRevision'];if(_0x13f7a1&&0x1===_0x5d7975['length']&&_0x5d7975[0x0]['id']===_0x2be9f8['id'])return _0x5d7975;for(const _0x26e52c of _0x5d7975)_0x26e52c['id']===_0x2be9f8['id']&&(_0x26e52c['isEmptyCurrent']=_0x26e52c['fromVersion']===_0x26e52c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5d7975,this['_lastRequestId'])['then'](_0x49ba1b=>(this['_lastRequestId']=_0x49ba1b,_0x5d7975))['catch'](_0x18c17b=>{if(b(_0x18c17b)||'400'===_0x18c17b['code']&&void 0x0!==_0x18c17b['data']['wrongRequestId']){for(const _0x5c0df2 of _0x5d7975){!this['_revisionTracker']['repository']['getRevision'](_0x5c0df2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5c0df2['id'],_0x5c0df2,!0x1);}if(b(_0x18c17b))throw _0x18c17b;return _0x5d7975;}throw _0x18c17b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x367c73,{revisionsData:_0x592a3e,requestId:_0x3583e2})=>{Math['max'](..._0x592a3e['map'](_0x14dddc=>_0x14dddc['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x592a3e,_0x3583e2);}):this['_handleRevisionsUpdate'](_0x592a3e,_0x3583e2);});const {revisions:_0x4e1819,requestId:_0x26cb95}=await this['_revisionHistoryService']['connect'](_0x14e20b['connection']);_0x14e20b['addToReconnectionStack'](this),this['_lastRequestId']=_0x26cb95,await this['_fetchMissingUsers'](_0x4e1819);for(const _0x293e14 of _0x4e1819)this['_revisionTracker']['addRevisionData'](_0x293e14);this['listenTo'](_0x4e3027,'change:_isConnected',(_0x932f83,_0x39f24f,_0x4d880c)=>{_0x4d880c&&(this['_oldOffset']=_0x4e3027['_offset'],_0x932f83['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x14e20b,'state',_0x563615=>_0x563615===_0x539539['CONNECTED']);}async['reconnect'](){const _0x29cacb=this['editor']['plugins']['get'](n),_0xe5affa=this['editor']['plugins']['get'](l),_0x237eb4=async()=>{const _0x34d8a8=this['_revisionTracker']['currentRevision'],_0x44904c=_0x34d8a8['id'],_0x5a6225=_0x44904c!==_0xe5affa['sessionId'];if(_0x5a6225){const _0x31a889=_0xe5affa['_offset']-this['_oldOffset'],_0x5cd1ba=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x34d8a8['toVersion']+_0x31a889!==_0x5cd1ba){const _0x99f4c8=_0x34d8a8['fromVersion']+_0x31a889,_0x3786b=this['editor']['plugins']['get'](_0x28214f),_0x246759=this['_revisionTracker']['buildRevisionData']({'revision':_0x34d8a8,'from':_0x99f4c8,'to':_0x5cd1ba});_0x246759['id']=_0x34d8a8['id'];const _0x8f737c=_0x246759['authorsIds']['map'](_0x202cdf=>_0x3786b['getUser'](_0x202cdf));_0x34d8a8['_update']({..._0x246759,'authors':_0x8f737c},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x34d8a8['id'],_0x246759,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5cd1ba,(_0x34d8a8['toVersion']===_0x34d8a8['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x44904c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x44904c),this['_revisionTracker']['_createCurrentRevision'](_0x5cd1ba));}const {revisions:_0x458ab7,requestId:_0x53052b}=await this['_revisionHistoryService']['reconnect'](_0x29cacb['connection'],this['_lastRequestId']);_0x5a6225&&_0x458ab7['length']>0x0?_0xe5affa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x458ab7),this['_handleRevisionsUpdate'](_0x458ab7,_0x53052b),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe5affa['_isConnected']?_0x237eb4():new Promise((_0x497334,_0x47375f)=>{_0xe5affa['once']('change:_isConnected',()=>{_0x237eb4()['then'](_0x497334)['catch'](_0x47375f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1600e4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x157526=>{_0x157526['off'](),_0x1600e4();});});}['_getLatestVersionFromServerOperations'](){const _0xf20205=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x24c300 of _0xf20205)if('marker'!==_0x24c300['type']||_0x24c300['affectsData'])return _0x24c300['baseVersion']+0x1;}['_getLatestVersion'](){const _0x56b68a=this['editor']['plugins']['get'](l);return new Promise(_0x1696b9=>{_0x56b68a['_isPendingUpdate']?_0x56b68a['once']('change:_isPendingUpdate',()=>{_0x1696b9(this['_getLatestVersionFromServerOperations']());}):_0x1696b9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1f9242,_0x17f79c){const _0x214dd8=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x17f79c;for(const _0x5469d1 of _0x1f9242){const _0x55f9b9=_0x214dd8['getRevision'](_0x5469d1['id']);if(_0x55f9b9){if((_0x5469d1['fromVersion']||_0x5469d1['toVersion'])&&(_0x5469d1['diffData']=null),_0x55f9b9===this['_revisionTracker']['currentRevision']){const _0x4d5989=Math['max'](_0x55f9b9['toVersion'],_0x5469d1['toVersion']),_0x1dac0b=Math['max'](_0x55f9b9['fromVersion'],_0x5469d1['fromVersion']);let _0x2bebe7;_0x55f9b9['toVersion']===_0x5469d1['toVersion']&&_0x55f9b9['fromVersion']===_0x5469d1['fromVersion']?(_0x2bebe7=!0x0,this['_preventResendingRevisionData'](_0x5469d1)):_0x5469d1['toVersion']===_0x4d5989&&_0x5469d1['fromVersion']===_0x1dac0b?_0x2bebe7=!0x1:(_0x55f9b9['toVersion']===_0x4d5989&&_0x55f9b9['fromVersion']===_0x1dac0b||this['_fixRevision']({'revision':_0x55f9b9,'from':_0x1dac0b,'to':_0x4d5989}),_0x2bebe7=!0x0),_0x2bebe7&&(delete _0x5469d1['fromVersion'],delete _0x5469d1['toVersion'],delete _0x5469d1['diffData'],delete _0x5469d1['createdAt'],delete _0x5469d1['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5469d1),this['_preventResendingRevisionData'](_0x5469d1);}else this['_revisionTracker']['addRevisionData'](_0x5469d1);}const _0x4d6635=_0x214dd8['getRevisions']();_0x4d6635['reverse']();for(let _0x4a6564=0x0;_0x4a6564<_0x4d6635['length']-0x1;_0x4a6564++){const _0x2053fa=_0x4d6635[_0x4a6564],_0x192c0c=_0x4d6635[_0x4a6564+0x1];if(_0x2053fa['fromVersion']<_0x192c0c['toVersion']){const _0x29e063=_0x192c0c['toVersion'],_0x1c1e82=Math['max'](_0x29e063,_0x2053fa['toVersion']);this['_fixRevision']({'revision':_0x2053fa,'from':_0x29e063,'to':_0x1c1e82});}}}['_fixRevision']({revision:_0x1e1684,from:_0x385f68,to:_0x2a5c12}={}){const _0x4ea153=this['editor']['plugins']['get'](_0x28214f),_0x44fea8=this['_revisionTracker']['buildRevisionData']({'revision':_0x1e1684,'from':_0x385f68,'to':_0x2a5c12});_0x44fea8['authors']=_0x44fea8['authorsIds']['map'](_0x1886e2=>_0x4ea153['getUser'](_0x1886e2)),_0x1e1684['_update'](_0x44fea8);}['_preventResendingRevisionData'](_0x105212){const _0x5becee={};_0x5becee['id']=_0x105212['id'];for(const _0x332118 of Object['keys'](_0x105212))'id'!==_0x332118&&(_0x5becee[_0x332118]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5becee['id'],_0x5becee,!0x0);}async['_fetchMissingUsers'](_0x37ff93){const _0x3302a0=this['editor']['plugins']['get'](_0x28214f),{connection:_0x9f98a4}=this['editor']['plugins']['get'](n),_0x316507=new Set();for(const _0x580635 of _0x37ff93){for(const _0x8b0b1 of _0x580635['authorsIds'])_0x51ced0(_0x8b0b1);_0x580635['creatorId']&&_0x51ced0(_0x580635['creatorId']);}if(0x0===_0x316507['size'])return;const _0x24bf70=await ut['getMany'](_0x9f98a4,Array['from'](_0x316507));for(const _0x2facaf of _0x24bf70)_0x3302a0['getUser'](_0x2facaf['id'])||_0x3302a0['addUser'](_0x2facaf);function _0x51ced0(_0x3e2747){_0x3302a0['getUser'](_0x3e2747)||_0x316507['add'](_0x3e2747);}}}function b(_0x434c19){return _0x434c19['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x434c19['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x434c19['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2f0b4b{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 _0x2265b0{['_collapseAt'];constructor(_0x2f6e05,_0x4783e9=0x6){super(_0x2f6e05);const _0x2d96c4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4783e9,this['bind']('isHidden')['to'](this,'usersCount',_0x2f96fa=>_0x2f96fa<_0x4783e9),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2d96c4['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':_0x2d96c4['to']('usersCount',_0x58185e=>'+'+(_0x58185e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2265b0{['items'];['keystrokes'];constructor(_0x14a932){super(_0x14a932);const _0x5a3ab5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x423e40(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5a3ab5['if']('hasPopup'),'aria-expanded':_0x5a3ab5['to']('isExpanded',_0x34c547=>this['hasPopup']&&String(_0x34c547)),'aria-label':_0x5a3ab5['to']('hasPopup',_0x26ce8a=>B(_0x14a932,_0x26ce8a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5a3ab5['to']('hasPopup',_0x39417b=>!!_0x39417b&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5a3ab5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5a3ab5['to'](_0x235876=>{const _0x71a6fb=_0x235876,_0x2320dc=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1ef9bb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2320dc?.['contains'](_0x71a6fb['relatedTarget'])||_0x1ef9bb?.['contains'](_0x71a6fb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x35f38e,_0x54cabc,_0x5b2fe0)=>{this['element']&&(_0x5b2fe0?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 _0x2265b0{['counterView'];['inlineListView'];constructor(_0x1ac5ef,_0x5dbe84=0x6){super(_0x1ac5ef);const _0x5484ce=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new st(this['locale'],_0x5dbe84),this['inlineListView']=new is(_0x1ac5ef),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5144d5 of this['inlineListView']['items'])_0x5144d5['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',_0x5484ce['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class it extends _0x2265b0{['listWrapperView'];constructor(_0x479f4e,_0x5c2789){super(_0x479f4e);const _0xaa6797=this['bindTemplate'];this['listWrapperView']=new wt(_0x479f4e,_0x5c2789),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':B(_0x479f4e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xaa6797['to'](_0x1dd712=>{const _0x448217=_0x1dd712,_0x537a53=document['querySelector']('.ck-presence-list__list'),_0x46beab=document['querySelector']('.ck-balloon-panel_with-arrow');_0x537a53?.['contains'](_0x448217['relatedTarget'])||_0x46beab?.['contains'](_0x448217['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x20dea4{constructor(_0xe7901e,_0x4c5c17){super(_0xe7901e);const _0x37e739=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c5c17?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x37e739['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x37e739['to']('role'),'aria-label':_0x37e739['to']('ariaLabel'),'aria-labelledby':_0x37e739['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x403ff3['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2ff048=this['element'];_0x2ff048&&(this['_isScrollable']=Math['max'](_0x2ff048['scrollHeight'],_0x2ff048['clientHeight'])>0.8*window['innerHeight']);}}class et extends ct{['userView'];constructor(_0x1c45e7,_0x2e6893,_0x46457f){super(_0x1c45e7);const _0x27aab6=this['bindTemplate'];this['userView']=new ot(_0x1c45e7,_0x2e6893);const _0x159000={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2e6893['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2e6893['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2e6893['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x46457f&&(_0x159000['tag']='button',_0x159000['on']={'click':_0x27aab6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x159000);}['focus'](){this['element']['focus']();}}class rt extends _0x2265b0{['userView'];['markerView'];constructor(_0x15d20c,_0x508af6,_0xd7bff2){super(_0x15d20c);const _0x575cb9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ot(_0x15d20c,_0x508af6),this['markerView']=new lt(_0x15d20c,_0x508af6);const _0x2a1a95=new at(_0x15d20c);_0x2a1a95['template']['tag']='span',_0x2a1a95['text']=_0x508af6['name'];const _0x1b22b3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x575cb9['to']('isFocusable',_0x26454f=>!!_0x26454f&&0x0),'aria-labelledby':_0x2a1a95['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x575cb9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x575cb9['to']('hasTooltip',_0x3b83fb=>!_0x3b83fb),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2a1a95]};_0xd7bff2&&(_0x1b22b3['tag']='button',_0x1b22b3['on']={'click':_0x575cb9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1b22b3);}}class lt extends _0x2265b0{constructor(_0x71db9b,_0x241542){super(_0x71db9b),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x241542['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ht={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1ee86a{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bdddf){super(_0x1bdddf),this['context']['config']['define']('presenceList',ht);const _0x1182af=_0x1bdddf['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1182af)throw new _0x4c85a1('presencelist-collapseat-invalid-format',this);if(_0x1182af<0x1)throw new _0x4c85a1('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2a7787(),this['balloonPanelView']=new _0x4f431(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x440569 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x440569);this['listenTo'](this['_allConnectedUsers'],'add',(_0x76901e,_0x124e15)=>{this['_handleUserAdd'](_0x124e15);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1999e9,_0x66b82b)=>{this['_handleUserRemove'](_0x66b82b);});}['_createView'](){const _0x454eac=this['context'],_0x221d68=new tt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x567138=this['balloonPanelView'];if(!_0x47944e(_0x454eac['config']['get']('presenceList.container')))throw new _0x4c85a1('presencelist-missing-container',this);return _0x221d68['counterView']['bind']('usersCount')['to'](this),_0x221d68['bind']('isCollapsed')['to'](this,'usersCount',_0x1a604f=>{const {collapseAt:_0x25d3ae}=_0x454eac['config']['get']('presenceList'),_0x338231=_0x1a604f>=_0x25d3ae;if(_0x338231&&!_0x221d68['inlineListView']['items']['find'](_0x1e1999=>_0x1e1999 instanceof st)){const _0x47089a=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x47089a&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x221d68['inlineListView']['items']['add'](_0x221d68['counterView']);}return _0x338231||this['hideDropdown'](),_0x338231;}),_0x221d68['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x37084e=>{const _0x5d13b7=_0x454eac['config']['get']('presenceList'),_0x13528d=new rt(_0x454eac['locale'],_0x37084e,!!_0x5d13b7['onClick']);return _0x13528d['bind']('hasTooltip')['to'](_0x221d68,'isCollapsed',_0x570940=>!_0x570940),_0x13528d['bind']('isFocusable')['to'](_0x221d68,'isCollapsed',_0x4b0a56=>!_0x4b0a56),_0x5d13b7['onClick']&&this['listenTo'](_0x13528d,'execute',()=>{this['view']['isCollapsed']||_0x5d13b7['onClick'](_0x37084e,_0x13528d['element']);}),_0x13528d;}),this['listenTo'](_0x221d68['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x221d68['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x221d68['inlineListView']['keystrokes']['set']('Enter',(_0x494a72,_0x4df796)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4df796());}),_0x221d68['render'](),_0x567138['render'](),_0x1ee270({'emitter':_0x221d68,'activator':()=>_0x567138['isVisible'],'contextElements':[_0x567138['element'],_0x221d68['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x454eac['config']['get']('presenceList.container')['appendChild'](_0x221d68['element']),this['_bodyCollection']=new _0x39f093(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x221d68;}['_handleUserAdd'](_0x526577){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x526577['isMe'])return;const _0x53a6c7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x53a6c7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x319074=_0x526577['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x526577,_0x319074);}['_handleUserRemove'](_0x4ce4b7){this['usersCount']--;const {collapseAt:_0x3970aa}=this['context']['config']['get']('presenceList'),_0x10a057=this['usersCount']>=_0x3970aa;if(this['currentDisplayedUsers']['get'](_0x4ce4b7['id']))this['currentDisplayedUsers']['remove'](_0x4ce4b7['id']);else{if(_0x10a057&&this['currentDisplayedUsers']['length']+0x1===_0x3970aa-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x10a057?0x1:0x0)<this['usersCount']){for(const _0x309918 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x309918['id'])&&(this['currentDisplayedUsers']['add'](_0x309918,Math['min'](this['currentDisplayedUsers']['length']-(_0x10a057?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x10a057?0x1:0x0)===_0x3970aa-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x144cfe=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new it(this['context']['locale'],!!_0x144cfe['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x39ffc1}=this['presenceDropdownView'];_0x39ffc1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2e624=>{if(!_0x144cfe['displayMe']&&_0x2e624['isMe'])return null;const _0xb8699f=new et(this['context']['locale'],_0x2e624,!!_0x144cfe['onClick']);return _0x144cfe['onClick']&&this['listenTo'](_0xb8699f,'execute',()=>{_0x144cfe['onClick'](_0x2e624,_0xb8699f['element']);}),_0xb8699f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x39ffc1['focus'](),_0x39ffc1['checkIfScrollable']();const _0x421324=(_0x2e1b83,_0x7cfc4b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x7cfc4b();};_0x39ffc1['keystrokes']['set']('Esc',_0x421324),_0x39ffc1['keystrokes']['set']('Shift+Tab',_0x421324),_0x39ffc1['keystrokes']['set']('Tab',(_0x5e9787,_0x3eaea4)=>{!function(_0x2def2e){const _0x17dba1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x537cde=>_0x537cde+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x86a04a=[...document['body']['querySelectorAll'](_0x17dba1)]['filter'](_0x378d67=>_0x378d67===document['activeElement']||_0x378d67['offsetWidth']+_0x378d67['offsetHeight']>0x0)['sort']((_0x2f7ac5,_0x32cb65)=>(_0x2f7ac5['tabIndex']||0x0)-(_0x32cb65['tabIndex']||0x0)),_0xfd42a6=_0x86a04a['indexOf'](_0x2def2e),_0x51fd1c=_0x86a04a[(_0xfd42a6+0x1)%_0x86a04a['length']];_0x51fd1c&&_0x51fd1c['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3eaea4();}),_0x39ffc1['focusTracker']['add'](this['view']['element']),_0x39ffc1['focusTracker']['on']('change:isFocused',(_0x2e9b04,_0x3b6298,_0x1f7acb)=>{_0x1f7acb||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 _0x1ee86a{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};
23
+ import{ContextPlugin as _0xead7d3,Plugin as _0x4e70f7,PendingActions as _0x5b96d5,Context as _0x1ee4b1}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x524298,CKEditorError as _0x510c05,Collection as _0x2dedd8,global as _0x270464,version as nt,uid as _0x2c57e6,KeystrokeHandler as _0xa1f1f3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x51b7d7,View as _0x5975b1,ListView as _0x3b19dd,ListItemView as ct,LabelView as at,BalloonPanelView as _0x4eb82f,clickOutsideHandler as _0x183b86,BodyCollection as _0x282e37}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x13455f,History as _0x51c54e,NoOperation as _0x2a6586,InsertOperation as _0x52585e,MarkerOperation as _0x388e26,RootAttributeOperation as _0x16dad7,transformOperationSets as _0x24d6ef,OperationFactory as _0x15ab44}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x5d6d9d,CollaborativeEditingService as _0x2ab3f2,User as ut,CommentsService as _0x4ba957,TrackChangesService as _0x10eef9,RevisionHistoryService as _0x485dae,EditorService as _0x19d73f}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x559fd6,UserView as ot}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x354f8d}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x477679}from'es-toolkit/compat';class n extends _0xead7d3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x51b7d7];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41c6da){super(_0x41c6da),this['set']('state',_0x5d6d9d['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x524298())();}['init'](){const _0x40999f=this['context'],_0x14c650=_0x40999f['plugins']['get']('CloudServices'),_0xd06851=_0x40999f['plugins']['get'](_0x51b7d7);if(!_0x14c650['token'])throw new _0x510c05('websocketgateway-missing-token',this);if(!_0x14c650['webSocketUrl'])throw new _0x510c05('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'](_0x14c650['token'],_0x14c650['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x14227f=>{if(this['connection']=_0x14227f,this['bind']('state')['to'](_0x14227f,'state',this,'_isBrowserOffline',(_0x5b3462,_0x593c93)=>('connected'!==_0x5b3462&&(this['_shouldPluginsReconnect']=!0x0),_0x593c93||_0x5b3462!==_0x5d6d9d['CONNECTED']?_0x5d6d9d['DISCONNECTED']:this['state']==_0x5d6d9d['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5d6d9d['CONNECTING']):_0x5d6d9d['CONNECTED'])),this['connection']['on']('error',(_0x521cb5,_0x356e6d)=>{if('limitExceeded'!==_0x356e6d['code'])throw console['error'](_0x356e6d),new _0x510c05('cloudservices-init',null,{'originalError':_0x356e6d});_0xd06851['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'});}),!_0x14227f['me'])return new Promise(_0xd3db52=>_0x14227f['on']('change:me',_0xd3db52));})['catch'](_0x13fd22=>{throw console['error'](_0x13fd22),new _0x510c05('cloudservices-init',null,{'originalError':_0x13fd22});});}['addToReconnectionStack'](_0xc9f2ae){if('function'!=typeof _0xc9f2ae['reconnect'])throw new _0x510c05('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xc9f2ae))throw new _0x510c05('websocketgateway-plugin-already-registered',this,{'name':_0xc9f2ae['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xc9f2ae);}['removeFromReconnectionStack'](_0x416e2c){this['_reconnectionStack']['delete'](_0x416e2c);}['isInReconnectionStack'](_0x4774dc){return this['_reconnectionStack']['has'](_0x4774dc);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3782b5=>_0x3782b5['reconnect']())))['then'](()=>this['state']=_0x5d6d9d['CONNECTED'])['catch'](_0x17fdfd=>{throw console['error'](_0x17fdfd),new _0x510c05('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5d6d9d['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xead7d3{['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,_0x559fd6];}constructor(_0x12d2ff){super(_0x12d2ff),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2dedd8(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x559fd6);}['init'](){const _0x14f075=this['context']['plugins']['get'](n);this['listenTo'](_0x14f075,'change:state',(_0x3dbcd2,_0x328173,_0x529492)=>{if('connected'!==_0x529492)this['channelSessions']['forEach'](_0x46bea6=>_0x46bea6['clear']()),this['channelConnectedUsers']['forEach'](_0x459f50=>_0x459f50['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1054f9,_0x2acd05]of this['_registeredSessions'])for(const _0x5627b5 of _0x2acd05)this['_handleSessionAdd'](_0x1054f9,_0x5627b5);}}),this['_createUser'](_0x14f075['connection']['me'],!0x0);}['register'](_0x247875,_0x3e57ab){if(this['_registeredSessions']['has'](_0x247875))throw new _0x510c05('sessions-register-already-registered',null,{'channelId':_0x247875});this['_registeredSessions']['set'](_0x247875,_0x3e57ab),this['channelSessions']['set'](_0x247875,new _0x2dedd8()),this['channelConnectedUsers']['set'](_0x247875,new _0x2dedd8()),this['listenTo'](_0x3e57ab,'add',(_0x1644f1,_0x149730)=>this['_handleSessionAdd'](_0x247875,_0x149730)),this['listenTo'](_0x3e57ab,'remove',(_0x17bb93,_0x7409d5)=>this['_handleSessionRemove'](_0x247875,_0x7409d5));for(const _0x4c8406 of _0x3e57ab)this['_handleSessionAdd'](_0x247875,_0x4c8406);}['unregister'](_0x5a2ed6){if(!this['_registeredSessions']['has'](_0x5a2ed6))throw new _0x510c05('sessions-unregister-not-exist',null,{'channelId':_0x5a2ed6});const _0x4e3368=this['_registeredSessions']['get'](_0x5a2ed6);this['stopListening'](_0x4e3368);for(const _0x358e05 of _0x4e3368)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5a2ed6,_0x358e05);this['_registeredSessions']['delete'](_0x5a2ed6),this['channelSessions']['delete'](_0x5a2ed6),this['channelConnectedUsers']['delete'](_0x5a2ed6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4306a5){for(const _0x136327 of this['channelSessions']['values']())for(const _0x4d578b of _0x136327)if(_0x4d578b['id']===_0x4306a5)return _0x4d578b['user'];}['getUserSessions'](_0xd0a25f,_0x548b1c){const _0x1da3d1=_0x548b1c?[this['channelSessions']['get'](_0x548b1c)]:this['channelSessions']['values'](),_0x36e711=new Set();for(const _0x9cdcc2 of _0x1da3d1)for(const _0x19582a of _0x9cdcc2)_0x19582a['user']['id']===_0xd0a25f['id']&&_0x36e711['add'](_0x19582a['id']);return _0x36e711;}['getUserRole'](_0x14cdc6){for(const _0x272805 of this['channelSessions']['values']())for(const _0x3b3291 of _0x272805)if(_0x3b3291['user']===_0x14cdc6)return _0x3b3291['role'];}['_handleSessionAdd'](_0x4578d2,_0x1f3b76){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x393907=_0x1f3b76['user'],_0x8d25d7=this['_users']['getUser'](_0x393907['id'])||this['_createUser'](_0x393907),_0x597a24=Object['assign']({},_0x1f3b76,{'user':_0x8d25d7});if(this['channelSessions']['get'](_0x4578d2)['add'](_0x597a24),!_0x393907['hiddenInPresenceList']){const _0x5c03a6=this['channelConnectedUsers']['get'](_0x4578d2);_0x5c03a6['has'](_0x8d25d7['id'])||_0x5c03a6['add'](_0x8d25d7),this['allConnectedUsers']['has'](_0x8d25d7['id'])||_0x393907['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x8d25d7,_0x8d25d7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x4578d2,{'channelId':_0x4578d2,'session':_0x597a24});}['_handleSessionRemove'](_0x1fc74b,_0x54d5fb){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x46c66b=this['channelConnectedUsers']['get'](_0x1fc74b),_0x5e03e9=_0x54d5fb['user'];_0x5e03e9['id']&&(this['channelSessions']['get'](_0x1fc74b)['remove'](_0x54d5fb['id']),_0x46c66b['has'](_0x5e03e9['id'])&&!this['getUserSessions'](_0x5e03e9,_0x1fc74b)['size']&&_0x46c66b['remove'](_0x5e03e9['id']),this['allConnectedUsers']['get'](_0x5e03e9['id'])&&!this['getUserSessions'](_0x5e03e9)['size']&&this['allConnectedUsers']['remove'](_0x5e03e9['id']));}['_createUser'](_0x1099af,_0x3be937){const _0x31f7ab=this['_users']['addUser'](_0x1099af);return _0x3be937&&this['_users']['defineMe'](_0x1099af['id']),_0x31f7ab['orderNumber']=this['_uniqueUsersCount']++,_0x31f7ab;}}class D extends _0x4e70f7{['_domEmitter']=new(_0x524298())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x42b6ce=this['editor'],_0x2f2202=_0x42b6ce['plugins']['get'](i);_0x42b6ce['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5739da,{writer:_0x3b6435})=>function(_0x2c0de4,_0x553ab7,_0x1956f3,_0x47bab9){const _0x2e84ba=_0x2c0de4['markerName']['split'](':')[0x2],_0x1d0dc6=_0x1956f3['getUserBySessionId'](_0x2e84ba);if(!_0x1d0dc6||_0x2e84ba===_0x1956f3['mySessionId'])return;if(!_0x47bab9['model']['schema']['checkChild'](_0x2c0de4['markerRange']['start'],'$text'))return;const _0x384fd9={'class':'ck-user__marker\x20'+_0x1d0dc6['color']['getMarkerClass'](),'data-name':_0x1d0dc6['name'],'data-session-id':_0x2e84ba},_0x4fbd49=_0x47bab9['model']['markers']['get'](_0x2c0de4['markerName']),_0x40b3bb=_0x4fbd49['getStart'](),_0x2a7883=_0x40b3bb['nodeAfter'],_0x14b7d8=_0x47bab9['model']['schema'];if(_0x2a7883&&_0x14b7d8['isObject'](_0x2a7883)&&_0x14b7d8['isInline'](_0x2a7883)&&!_0x47bab9['model']['markers']['get']('user:range:'+_0x2e84ba)['getRange']()['isCollapsed'])return;const _0x589741=_0x40b3bb['parent'];return _0x47bab9['model']['schema']['isLimit'](_0x589741)&&!_0x47bab9['model']['hasContent'](_0x589741)&&(_0x384fd9['contenteditable']=!0x1),function(_0x562f8d,_0x27d309,_0xdddef3){const _0x26d668=_0x562f8d['createUIElement']('span',_0x27d309);return _0x562f8d['setCustomProperty']('userPositionMarker',!0x0,_0x26d668),_0x26d668['render']=function(_0x17d3da){const _0x4c96cb=this['toDomElement'](_0x17d3da),_0x4cfcc8=document['createElement']('span');return _0x4cfcc8['classList']['add']('ck-user__marker-tooltip'),_0x4cfcc8['setAttribute']('contenteditable','false'),_0x4cfcc8['setAttribute']('spellcheck','false'),_0x4cfcc8['textContent']=_0xdddef3['name'],_0x4c96cb['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x4cfcc8['outerHTML']+'⁠',_0x4c96cb['addEventListener']('mouseenter',()=>{_0x4c96cb['classList']['add']('ck-user__marker_hovered');}),_0x4c96cb['addEventListener']('mouseleave',()=>{_0x4c96cb['classList']['remove']('ck-user__marker_hovered');}),_0x4c96cb;},_0x26d668['isSimilar']=function(_0x5161e0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5161e0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5161e0['getAttribute']('data-session-id'));},_0x26d668;}(_0x553ab7,_0x384fd9,_0x1d0dc6);}(_0x5739da,_0x3b6435,_0x2f2202,_0x42b6ce)}),_0x42b6ce['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1e4f5e=>function(_0x19050e,_0x5f4c4f){const _0x2e1750=_0x19050e['markerName']['split'](':')[0x2];if(_0x2e1750===_0x5f4c4f['mySessionId'])return null;const _0x37b2d9=_0x5f4c4f['getUserBySessionId'](_0x2e1750);if(!_0x37b2d9)return{'id':_0x2e1750,'classes':[]};return{'id':_0x2e1750,'classes':['ck-user__selection',_0x37b2d9['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2e1750},'priority':0x7d0+_0x37b2d9['orderNumber']};}(_0x1e4f5e,_0x2f2202)}),function(_0x45077){const _0x5ecb0a=_0x45077['model'],_0x2907ec=new Map(),_0x3c4cc7=_0x45077['plugins']['get'](i);_0x5ecb0a['markers']['on']('update:user:range',(_0x5496c1,_0x1a9b45,_0xe9c187,_0x442962)=>{if(!_0x442962&&_0x2907ec['get'](_0x1a9b45['name']))return _0x2907ec['get'](_0x1a9b45['name'])['detach'](),void _0x2907ec['delete'](_0x1a9b45['name']);const _0x30ae16=_0x1a9b45['name']['split'](':')[0x2];if(_0x30ae16===_0x3c4cc7['mySessionId'])return;const _0xbda87b='user:position:'+_0x30ae16;_0x5ecb0a['markers']['has'](_0xbda87b)&&_0x45077['editing']['reconvertMarker'](_0xbda87b),_0x1a9b45['on']('change:range',(_0x1007db,_0x5997ac,_0x50cacb)=>{if('$graveyard'!=_0x5997ac['root']['rootName']&&'$graveyard'==_0x1a9b45['getRange']()['root']['rootName']&&!_0x2907ec['has'](_0x1a9b45['name'])){const _0x2b98a6=_0x5ecb0a['schema']['getNearestSelectionRange'](_0x50cacb['deletionPosition']);if(_0x2b98a6){const _0x481093=_0x13455f['fromRange'](_0x2b98a6);_0x2907ec['set'](_0x1a9b45['name'],_0x481093),_0x481093['on']('change:range',(_0x1b4958,_0x43e7d2,_0x97dbfd)=>{if('$graveyard'==_0x481093['root']['rootName']){const _0x30feaa=_0x5ecb0a['schema']['getNearestSelectionRange'](_0x97dbfd['deletionPosition']);_0x30feaa?(_0x481093['start']=_0x30feaa['start'],_0x481093['end']=_0x30feaa['end']):(_0x2907ec['delete'](_0x1a9b45['name']),_0x481093['detach']());}});}}});}),_0x5ecb0a['document']['on']('change',()=>{_0x2907ec['size']>0x0&&_0x5ecb0a['enqueueChange']({'isUndoable':!0x1},_0x6e8249=>{for(const [_0x4f0409,_0x12819c]of _0x2907ec)'$graveyard'==_0x5ecb0a['markers']['get'](_0x4f0409)['getRange']()['root']['rootName']&&(G(_0x4f0409['split'](':')[0x2],_0x12819c['toRange'](),_0x5ecb0a,_0x6e8249),_0x12819c['detach']());_0x2907ec['clear']();});});}(_0x42b6ce),this['_domEmitter']['listenTo'](_0x270464['document'],'keydown',(_0x46436b,{key:_0x97201a})=>{'Escape'===_0x97201a&&function(_0xca2d63){_0xca2d63['editing']['view']['change'](_0x5ec895=>{for(const _0x2818a0 of _0xca2d63['model']['markers']){if(!_0x2818a0['name']['startsWith']('user:position'))continue;const _0xed8dee=_0xca2d63['editing']['mapper']['markerNameToElements'](_0x2818a0['name']);if(_0xed8dee){for(const _0x338ea8 of _0xed8dee)_0x5ec895['removeClass']('ck-user__marker_hovered',_0x338ea8);}}});}(_0x42b6ce);},{'useCapture':!0x0});}['afterInit'](){const _0x2e38ef=this['editor'],_0x9514b8=_0x2e38ef['commands']['get']('undo');_0x9514b8&&_0x2e38ef['model']['on']('applyOperation',(_0x4365de,_0x4bc678)=>{const _0x31be4f=_0x4bc678[0x0];if(!_0x31be4f['isDocumentOperation'])return;if('marker'!=_0x31be4f['type']||!_0x31be4f['name']['startsWith']('user:'))return;const _0x5e2ae4=_0x31be4f['batch'];_0x9514b8['_createdBatches']['has'](_0x5e2ae4)&&(_0x31be4f['newRange']=_0x31be4f['oldRange']?_0x2e38ef['model']['createRange'](_0x31be4f['oldRange']['start'],_0x31be4f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x15c520=this['editor'],_0x2f34a7=_0x15c520['model']['document'],_0x3813be=_0x15c520['plugins']['get'](i);_0x15c520['model']['enqueueChange']({'isUndoable':!0x1},_0x33ed5a=>{const _0x175820='user:range:'+_0x3813be['mySessionId'],_0x143cfe='user:position:'+_0x3813be['mySessionId'],_0x5cb6be=_0x15c520['model']['markers']['has'](_0x175820);_0x15c520['editing']['view']['hasDomSelection']?G(_0x3813be['mySessionId'],_0x2f34a7['selection']['getFirstRange'](),_0x15c520['model'],_0x33ed5a):_0x5cb6be&&(_0x33ed5a['removeMarker'](_0x175820),_0x33ed5a['removeMarker'](_0x143cfe));});}}function G(_0x4d92e3,_0x549917,_0x32d443,_0x190e24){const _0x112b64='user:range:'+_0x4d92e3,_0x3a4ef1='user:position:'+_0x4d92e3,_0xb5d597=_0x549917['getContainedElement']();let _0x39c816=_0x549917['start'];if(_0xb5d597&&_0xb5d597['is']('element','tableCell')){const _0x1ed15d=function(_0xcc0a21,_0x13c402){for(const _0x36d214 of _0xcc0a21['getPositions']())if(_0x13c402['schema']['checkChild'](_0x36d214,'$text'))return _0x36d214;}(_0x549917,_0x32d443);_0x1ed15d&&(_0x39c816=_0x1ed15d,_0x549917=_0x190e24['createRange'](_0x39c816));}const _0x14effd=_0x190e24['createRange'](_0x39c816);_0x32d443['markers']['has'](_0x112b64)?(_0x190e24['updateMarker'](_0x112b64,{'range':_0x549917}),_0x190e24['updateMarker'](_0x3a4ef1,{'range':_0x14effd})):(_0x190e24['addMarker'](_0x112b64,{'range':_0x549917,'usingOperation':!0x0}),_0x190e24['addMarker'](_0x3a4ef1,{'range':_0x14effd,'usingOperation':!0x0}));}function P(_0x6352b3,_0x1f818f,_0x443c4b){const _0x47502a=_0x6352b3['t'],t=_0x6352b3['t'];switch(_0x1f818f){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 _0x47502a({'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'},_0x443c4b);default:return'';}}let N=0x1;class l extends _0x4e70f7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x2ab3f2)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,D,_0x5b96d5,_0x559fd6,_0x51b7d7];}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 _0x44d836=this['serverHistory']['getOperations']();for(let _0xfd3bac=_0x44d836['length']-0x1;_0xfd3bac>=0x0;_0xfd3bac--){const _0x3fefa1=_0x44d836[_0xfd3bac];if(!this['_disconnectionOperations']['has'](_0x3fefa1))return _0x3fefa1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x52bf1c){if(super(_0x52bf1c),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x51c54e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x510c05('collaboration-missing-channelid',this);const _0x3cc072=_0x52bf1c['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3cc072,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x354f8d(),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 M(this['_disconnectionOperations']);}['init'](){const _0x137463=this['editor'],_0x4922f5=_0x137463['plugins']['get'](_0x559fd6),_0x341dc0=_0x137463['plugins']['get'](n);this['listenTo'](_0x4922f5,'getOperationAuthor',(_0x307880,_0x20c9c5)=>{const _0xe49d8a=_0x20c9c5[0x0];_0xe49d8a['_authorId']&&(_0x307880['return']=_0x4922f5['getUser'](_0xe49d8a['_authorId']),_0x307880['stop']()),null===_0xe49d8a['_authorId']&&(_0x307880['return']=null,_0x307880['stop']());},{'priority':'high'}),this['listenTo'](_0x137463['model']['document']['selection'],'change:range',(_0x2ad862,_0x127368)=>{_0x127368['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x137463['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x137463['model']['on']('applyOperation',(_0x28b238,_0x488d9c)=>{const _0xe5403c=_0x488d9c[0x0];_0xe5403c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xe5403c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x341dc0,'state',this,'_hasSynchronizationProblem',(_0x12111b,_0x42967c)=>'connected'===_0x12111b&&!_0x42967c),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x137463['disableReadOnlyMode']('rtc-offline'):_0x137463['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x137463['disableReadOnlyMode']('rtc-offline'):_0x137463['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4e9fff=this['editor']['plugins']['get'](i),_0x40d7b4=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4e9fff['unregister'](this['_channelId']);const _0x4efa5b=await this['_service']['reconnect'](_0x40d7b4['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4efa5b)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3efce2=await this['_service']['getConnectedSessions']();_0x4e9fff['register'](this['_channelId'],_0x3efce2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x52c816){if(function(_0x22e52f){return'404'===_0x22e52f['code'];}(_0x52c816)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x123069){return'409'===_0x123069['code'];}(_0x52c816)){const _0x32c5dd=P(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'](_0x32c5dd);}else{if(!(_0x52c816 instanceof B))throw _0x52c816;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2777f8=this['editor']['plugins']['get'](n),_0x1aa890=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1aa890['channelSessions']['has'](this['_channelId'])&&_0x1aa890['unregister'](this['_channelId']),_0x2777f8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3e5b22){if(this['sessionId']!==_0x3e5b22['sessionId']&&this['_lastSyncedOperationId']!==_0x3e5b22['lastOperationId'])throw new B();return this['sessionId']=_0x3e5b22['sessionId'],this['_handleServerResponse']([],{..._0x3e5b22,'wereChangesApplied':!0x1,'data':_0x3e5b22['data']},'reconnect');}async['_connectService'](_0x2fff34,_0x18f0c9=!0x1){const {connection:_0x4beef3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4beef3,this['_channelId'])['then'](_0x1946ed=>this['_initSessionsHandling'](_0x1946ed))['catch'](_0x4dd062=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4dd062);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x464a42,_0x6bafc6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x6bafc6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x20b39d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2fff34);this['_isPendingUpdate']=!0x0;const _0x110a9e=await this['_service']['connect'](_0x4beef3,this['_compressOperations'](_0x2fff34),_0x20b39d);if(this['sessionId']=_0x110a9e['sessionId'],_0x18f0c9){if(!_0x110a9e['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x110a9e['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2fff34,_0x110a9e,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x110a9e,_0x2fff34);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1b4e92=this['editor']['plugins']['get'](i),_0x4870ba=this['editor']['plugins']['get'](D),_0x3297cd=_0x1b4e92['channelSessions']['get'](this['_channelId']);_0x3297cd&&_0x3297cd['length']>0x1?_0x4870ba['createUserMarkerOperations']():this['listenTo'](_0x1b4e92,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1b4e92['channelSessions']['get'](this['_channelId'])['length']&&_0x4870ba['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x14b6e8,_0x22625c,_0x52d8e5,_0x227193){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x22625c){const _0x9a27f2=this['_decompressOperations'](_0x52d8e5,_0x227193);await this['_fetchMissingUsers'](_0x9a27f2),this['_handleExternalOperations'](_0x9a27f2,_0x22625c,_0x52d8e5['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5d26a1}=this['editor'];let _0x1c8698;try{_0x1c8698=await this['_service']['getDocumentDetails']();}catch{const _0x5c3906=P(_0x5d26a1,'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'](_0x5c3906);}const _0x4ea0bd=_0x1c8698['currentDocumentSession']||_0x1c8698['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4ea0bd['lastOperationId']){const _0x255f1a=P(_0x5d26a1,'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'](_0x255f1a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2338a6){const _0x161535=this['editor']['plugins']['get'](i);this['listenTo'](_0x161535,'sessionAdd:'+this['_channelId'],(_0x16e5e2,{session:_0x3f7a3c})=>{if(_0x3f7a3c['id']===_0x161535['mySessionId']){_0x16e5e2['off']();const _0x3b92dd=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x480975=_0x3f7a3c['permissions'];_0x3b92dd&&_0x3b92dd['isEnabled']&&(_0x480975=_0x480975['filter'](_0x2d4e01=>'document:write'!==_0x2d4e01)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x480975,this['_channelId']);}}),_0x161535['register'](this['_channelId'],_0x2338a6);}['_initThrowingOnDataSet'](){const _0x3fe55d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5c12f1)=>{if(!_0x5c12f1[_0x5c12f1['length']-0x1]['suppressErrorInCollaboration'])throw new _0x510c05('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3fe55d['apply'](this['editor']['data'],_0x5c12f1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x26afa0,[_0x32b9c7])=>{if(this['_document']['version'])throw new _0x510c05('realtimecollaborationclient-init-document-already-initialized',this);_0x26afa0['stop'](),this['_setPendingAction']();const _0x124fc1=this['editor']['config']['get']('rootsAttributes'),_0x561992=this['_getOperationsFromInitData'](_0x32b9c7,_0x124fc1);0x0==_0x561992['length']&&_0x561992['push'](new _0x2a6586(0x0)),_0x26afa0['return']=this['_connectService'](_0x561992)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x156041=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x156041))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xa2c218,[_0x4e3cda,_0x473010])=>{_0xa2c218['stop']();const _0x5a4266=this['editor']['model']['document']['getRoot'](_0x4e3cda);if(!this['_knownRootNames']['has'](_0x4e3cda)){const _0x44d1f1=_0x473010&&_0x473010['data']?_0x473010['data']:'',_0x5c1bdf=_0x473010&&_0x473010['attributes']?_0x473010['attributes']:{};await this['_loadRoot'](_0x4e3cda,_0x44d1f1,_0x5c1bdf);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5a4266['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5a4266);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1e10ca){const _0x5c1e1d=this['editor']['plugins']['get'](_0x559fd6),{connection:_0x5eba70}=this['editor']['plugins']['get'](n),_0x1d730d=new Set();for(const _0x3c375d of _0x1e10ca){const _0x3149b8=_0x3c375d['_authorId'];_0x3149b8&&!_0x5c1e1d['getUser'](_0x3149b8)&&_0x1d730d['add'](_0x3149b8);}if(0x0===_0x1d730d['size'])return;const _0x373360=await ut['getMany'](_0x5eba70,Array['from'](_0x1d730d));for(const _0x35a1d7 of _0x373360)_0x5c1e1d['getUser'](_0x35a1d7['id'])||_0x5c1e1d['addUser'](_0x35a1d7);}['_getOperationsFromInitData'](_0x37e661,_0x5d0be9={}){const _0x4ffe92=this['editor']['model'],_0x2d60eb=[];let _0x5c0db7=0x0;const _0x3f587a='string'==typeof _0x37e661?{'main':_0x37e661}:_0x37e661;for(const _0x165abf of Object['keys'](_0x3f587a)){if(!this['_document']['roots']['has'](_0x165abf))throw new _0x510c05('realtimecollaborationclient-init-non-existent-root',this);const _0x3669b6=this['editor']['data']['parse'](_0x3f587a[_0x165abf]),_0x2bf87b=this['_document']['getRoot'](_0x165abf),_0x232dda=new _0x52585e(_0x4ffe92['createPositionAt'](_0x2bf87b,0x0),_0x3669b6,_0x5c0db7++);_0x2d60eb['push'](_0x232dda);for(const [_0x12da8c,_0x403847]of _0x3669b6['markers']){const _0x85e5d3=_0x4ffe92['createRange'](_0x4ffe92['createPositionFromPath'](_0x2bf87b,_0x403847['start']['path']['slice']()),_0x4ffe92['createPositionFromPath'](_0x2bf87b,_0x403847['end']['path']['slice']())),_0x4f9e2e=new _0x388e26(_0x12da8c,null,_0x85e5d3,_0x4ffe92['markers'],!0x0,_0x5c0db7++);_0x2d60eb['push'](_0x4f9e2e);}}if(_0x5d0be9)for(const [_0x92a0db,_0x28ddaa]of Object['entries'](_0x5d0be9)){const _0x3a00df=_0x4ffe92['document']['getRoot'](_0x92a0db);if(!_0x3a00df)throw new _0x510c05('multi-root-editor-root-attributes-no-root',null);for(const [_0x3cee0e,_0x1ea962]of Object['entries'](_0x28ddaa))if(null!==_0x1ea962){const _0x4a01da=new _0x16dad7(_0x3a00df,_0x3cee0e,null,_0x1ea962,_0x5c0db7++);_0x2d60eb['push'](_0x4a01da);}}return _0x2d60eb;}async['_loadRoot'](_0x5ce931,_0x141db3,_0x25f891){this['_getOperationsFromInitData']({[_0x5ce931]:_0x141db3},{[_0x5ce931]:_0x25f891})['forEach']((_0x3f2d55,_0x243a0c)=>{_0x3f2d55['baseVersion']=this['_document']['version']+_0x243a0c,_0x3f2d55['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x3f2d55);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3965d1,_0x38ee0c){let _0x22741c;this['_offset']=_0x3965d1['offset'];const _0x11ca3c=_0x3965d1['wereChangesApplied']&&!_0x3965d1['initData'],_0x200ea3=_0x11ca3c?0x0:_0x3965d1['data']['baseVersion'];if(_0x38ee0c['forEach'](_0x49d7d6=>{_0x49d7d6['_isInit']=!0x0,_0x49d7d6['createdAt']=_0x3965d1['sessionCreatedAt'],_0x49d7d6['_authorId']=null;}),_0x11ca3c)_0x22741c=_0x38ee0c,this['_applyOperationsSet'](_0x22741c,_0x11ca3c);else{if(_0x3965d1['initData']){const _0x34917b=this['_getOperationsFromInitData'](_0x3965d1['initData']);this['_document']['history']['version']=-_0x34917b['length'],_0x34917b['forEach'](_0x125c9c=>{_0x125c9c['baseVersion']-=_0x34917b['length'],_0x125c9c['createdAt']=_0x3965d1['sessionCreatedAt'],_0x125c9c['_isInit']=!0x0,_0x125c9c['_authorId']=null;}),this['_applyOperationsSet'](_0x34917b,!0x0),this['serverHistory']['version']=-_0x34917b['length']+this['_offset'],this['_updateServerHistory'](_0x34917b);}this['_document']['history']['version']=_0x200ea3,_0x22741c=this['_decompressOperations'](_0x3965d1['data'],_0x3965d1['metadata']),await this['_fetchMissingUsers'](_0x22741c),this['_applyOperationsSet'](_0x22741c,_0x11ca3c);}_0x3965d1['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x22741c,_0x3965d1['lastOperationId']),this['_lastSyncedOperationId']=_0x3965d1['lastOperationId']),this['serverHistory']['version']=_0x200ea3+this['_offset'],this['_updateServerHistory'](_0x22741c),_0x38ee0c['filter'](_0x1d2685=>{const _0x1c7138=this['_getAffectedRoot'](_0x1d2685);return _0x1c7138&&!this['_knownRootNames']['has'](_0x1c7138);})['forEach']((_0x547839,_0x5cb491)=>{_0x547839['baseVersion']=this['_document']['version']+_0x5cb491,this['_saveOperationInBuffer'](_0x547839);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x38dcba,_0x46c6db){const _0x3445bc=_0x46c6db&&_0x46c6db['message'];if(_0x3445bc&&_0x3445bc['startsWith']('realtimecollaborationclient'))throw _0x46c6db;const _0x36d1bc=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x36d1bc['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x510c05(_0x38dcba,this['editor'],_0x3445bc?{'originalError':_0x3445bc}:void 0x0);}['_saveOperationInBuffer'](_0x2d532e){this['_knownOperations']['has'](_0x2d532e)||(this['_knownOperations']['add'](_0x2d532e),this['_bufferedOperations']['push'](_0x2d532e),this['_pendingAction']||'marker'==_0x2d532e['type']&&!_0x2d532e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x186c40=!0x1){!_0x186c40&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3938a2=>{_0x3938a2&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x41bc4c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x48bad4){return _0x48bad4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x48bad4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x48bad4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x41bc4c)||this['_crash'](_0x41bc4c['message'],_0x41bc4c);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x31357c=>{this['on']('change:_isPendingUpdate',()=>{_0x31357c();});});}async['_sendBufferedOperations'](){const _0x12dd6b=this['editor']['plugins']['get'](D);if(this['_shouldSendSelectionUpdate']()&&(_0x12dd6b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x30dad7=[...this['_bufferedOperations']];for(const _0x327e1d of _0x30dad7)_0x327e1d['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x327e1d);const _0x1c6b37=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x30dad7),_0x1c12aa=N++,_0x524375=this['_compressOperations'](_0x30dad7),_0x196ee8=await this['_service']['sendOperations'](_0x524375,_0x524375['baseVersion'],_0x1c6b37);try{return await this['_handleServerResponse'](_0x30dad7,_0x196ee8,_0x1c12aa);}catch(_0x611846){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x611846);}}async['_handleServerResponse'](_0xfab7bf,_0x1d1608,_0x267e94){if('error'in _0x1d1608)throw _0x1d1608['error'];let _0xaaeaad=!0x1;if(_0x1d1608['wereChangesApplied']){_0x1d1608['lastOperationId']&&(this['_lastSyncedOperationId']=_0x1d1608['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3a66be=>!_0xfab7bf['includes'](_0x3a66be));for(const _0x190dda of _0xfab7bf)_0x190dda['createdAt']='lastOperationAcceptedAt'in _0x1d1608&&_0x1d1608['lastOperationAcceptedAt']||void 0x0;x(_0xfab7bf,_0x1d1608['version']-_0xfab7bf['length']),this['_updateServerHistory'](_0xfab7bf);const _0x5c4793=_0xfab7bf['filter'](_0x3d36c8=>{if(!_0x3d36c8['_isInit'])return!0x1;const _0x25bb69=this['_getAffectedRoot'](_0x3d36c8);return _0x25bb69&&!this['_knownRootNames']['has'](_0x25bb69);});x(_0x5c4793,this['_document']['version']),this['_applyOperationsSet'](_0x5c4793),_0xaaeaad=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4cb6fd=this['_decompressOperations'](_0x1d1608['data'],_0x1d1608['metadata'])['filter'](_0x4a1919=>_0x4a1919['baseVersion']>=this['_lastServerVersion']);_0x4cb6fd['forEach'](_0x4e457c=>this['_addKnownRoot'](_0x4e457c)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x22a360=>!_0x22a360['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x22a360))),this['_bufferedOperations']['length']&&x(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4cb6fd),_0xaaeaad=this['_handleExternalOperations'](_0x4cb6fd,_0x1d1608['version'],_0x1d1608['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xaaeaad?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2b719a,_0x49dad0,_0x206118){try{const _0x259d3d={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3d9f9a,operationsB:_0x4a8f9d,originalOperations:_0x12d246}=_0x24d6ef(_0x2b719a,this['_bufferedOperations'],_0x259d3d);x(_0x3d9f9a,this['_document']['version']),x(_0x4a8f9d,_0x49dad0);for(const _0x29dd54 of _0x3d9f9a){const _0x271001=_0x12d246['get'](_0x29dd54);_0x29dd54['_authorId']=_0x271001?_0x271001['_authorId']:null;}_0x206118&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2b719a,_0x206118),this['_lastSyncedOperationId']=_0x206118),this['_bufferedOperations']=[..._0x4a8f9d],this['_applyOperationsSet'](_0x3d9f9a),this['_updateServerHistory'](_0x2b719a);}catch(_0x1d29d3){return console['error'](_0x1d29d3),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5d2d06,_0x5a9156=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3cfb5e=>{for(const _0xc97c86 of _0x5d2d06)this['_knownOperations']['add'](_0xc97c86),this['_addKnownRoot'](_0xc97c86),_0x3cfb5e['batch']['addOperation'](_0xc97c86),this['editor']['model']['applyOperation'](_0xc97c86);});}['_addKnownRoot'](_0x3f1ba5){const _0x1907a5=this['_getAffectedRoot'](_0x3f1ba5);_0x1907a5&&this['_knownRootNames']['add'](_0x1907a5);}['_getAffectedRoot'](_0x3b1c00){let _0x29427b,_0x29e7b7;switch(_0x3b1c00['type']){case'insert':_0x29427b=_0x3b1c00['position']['root'];break;case'marker':if(_0x29e7b7=_0x3b1c00['newRange'],!_0x29e7b7)return null;_0x29427b=_0x29e7b7['root'];break;case'addRootAttribute':_0x29427b=_0x3b1c00['root'];break;case'addRoot':_0x29427b=_0x3b1c00['affectedSelectable'];break;case'move':_0x29427b=_0x3b1c00['targetPosition']['root'];break;default:return null;}return _0x29427b['rootName'];}['_updateServerHistory'](_0x384a71){_0x384a71['forEach'](_0x59bdb5=>{const _0x1161e1=_0x59bdb5['clone']();_0x1161e1['_authorId']=_0x59bdb5['_authorId'],_0x1161e1['_isInit']=!!_0x59bdb5['_isInit'],_0x1161e1['createdAt']=_0x59bdb5['createdAt'],_0x1161e1['baseVersion']+=this['_offset'],_0x59bdb5['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1161e1),this['serverHistory']['addOperation'](_0x1161e1);});}['_handleReconnectionError'](_0x39a741){const _0xf28593=this['editor']['plugins']['get']('Notification'),_0x509ae7=this['editor']['locale'];_0x39a741||(_0x39a741=P(_0x509ae7,'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.')),_0xf28593['showWarning'](_0x39a741,{'title':P(_0x509ae7,'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'](_0x5b96d5)['add'](P(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5b96d5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x40eabd){const _0x5edbb3=_0x40eabd['map'](_0x5a4514=>_0x5a4514['toJSON']());return this['_compressor']['compress'](_0x5edbb3);}['_decompressOperations'](_0x2f1dbc,_0x459d4f){return this['_compressor']['decompress'](_0x2f1dbc)['map']((_0x396c88,_0x3ead2a)=>{const _0xff88dd='init'==_0x459d4f[_0x3ead2a]['type'];if('InsertOperation'==_0x396c88['__className']){const _0x2601ae=_0x396c88['position']['root'];!this['_document']['getRoot'](_0x2601ae)&&(this['_document']['createRoot']('$root',_0x2601ae)['_isAttached']=!0x1);}const _0xe82470=_0x15ab44['fromJSON'](_0x396c88,this['_document']);return _0xe82470['wasUndone']=_0x396c88['wasUndone'],_0xe82470['_isInit']=_0xff88dd,_0xe82470['_authorId']=_0xff88dd?null:_0x459d4f[_0x3ead2a]['userId'],_0xe82470['_isDisconnection']='cs:removeUser'===_0x459d4f[_0x3ead2a]['type'],_0xe82470['createdAt']=_0x459d4f[_0x3ead2a]['createdAt'],_0xe82470;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3726f4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3726f4&&_0x3726f4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class B extends Error{}function x(_0x4ec90e,_0xbf4b0b){for(const _0x898fc7 of _0x4ec90e)_0x898fc7['baseVersion']=_0xbf4b0b++;}class M{['_ignoredOperations'];['_operationToId'];constructor(_0x39b100){this['_ignoredOperations']=_0x39b100,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x5534f2){let _0x3a0d63=_0x5534f2['length'];for(;_0x3a0d63--;){const _0x570d55=_0x5534f2[_0x3a0d63];if(!this['_ignoredOperations']['has'](_0x570d55)){if(!this['_operationToId']['has'](_0x570d55)){const _0x36aa51=_0x2c57e6()['slice'](0x1,0x12);this['_operationToId']['set'](_0x570d55,_0x36aa51);}return this['_operationToId']['get'](_0x570d55);}}}['setIdForTheLastOperation'](_0x257e4b,_0x54dcc1){if(!_0x54dcc1)return;let _0x5cfa16=_0x257e4b['length'];for(;_0x5cfa16--;){const _0x2b838a=_0x257e4b[_0x5cfa16];this['_ignoredOperations']['has'](_0x2b838a)||this['_operationToId']['set'](_0x2b838a,_0x54dcc1);}}}class a extends _0x4e70f7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xead7d3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x4ba957)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x559fd6];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3d67f8){super(_0x3d67f8),this['_services']=new Map();}async['init'](){const _0x3c4a0b=this['context'],_0xcf06c7=_0x3c4a0b['plugins']['get']('CommentsRepository');if(_0x3c4a0b['plugins']['get'](n)['addToReconnectionStack'](this),_0xcf06c7['adapter']={'addCommentThread':async({channelId:_0x515a19,threadId:_0x45b9cf,comments:_0x51c0c3,resolvedAt:_0x213319,resolvedBy:_0x5e8b99,context:_0xfbf946,attributes:_0x2f2430})=>{const _0x62f4ce=await this['_getService'](_0x515a19)['addCommentThread']({'commentThreadId':_0x45b9cf,'comments':_0x51c0c3['map'](_0x3bcacc=>function(_0x1c3d06,_0x174f6a,_0x1e63e0){return{'commentThreadId':_0x1e63e0,'commentId':_0x1c3d06['commentId'],'userId':_0x1c3d06['authorId'],'content':_0x1c3d06['content'],'documentId':_0x174f6a,'createdAt':_0x1c3d06['createdAt'],'attributes':_0x1c3d06['attributes']||{}};}(_0x3bcacc,_0x515a19,_0x45b9cf)),'resolvedAt':_0x213319,'resolvedBy':_0x5e8b99,'context':_0xfbf946,'attributes':_0x2f2430})['catch'](ft);return{'threadId':_0x62f4ce['commentThreadId'],'comments':_0x62f4ce['comments']};},'getCommentThread':async({channelId:_0x451c4b,threadId:_0x1ed578})=>{const _0x5e69c5=await this['_getService'](_0x451c4b)['getCommentThread'](_0x1ed578)['catch'](f)['catch'](ft);return _0x5e69c5?_0x5e69c5['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5e69c5]),{'threadId':_0x5e69c5['commentThreadId'],'comments':_0x5e69c5['comments']['map'](p),'context':_0x5e69c5['context'],'resolvedAt':_0x5e69c5['resolvedAt'],'resolvedBy':_0x5e69c5['resolvedBy'],'attributes':_0x5e69c5['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x9b0cb8,threadId:_0x1443e1,context:_0x158f65,unlinkedAt:_0x285305,attributes:_0x153120})=>this['_getService'](_0x9b0cb8)['updateCommentThread']({'commentThreadId':_0x1443e1,'context':_0x158f65,'attributes':_0x153120,'unlinkedAt':_0x285305})['catch'](f)['catch'](ft),'resolveCommentThread':async({channelId:_0x26f3fa,threadId:_0x461ad1})=>{const _0x1788e8=await this['_getService'](_0x26f3fa)['resolveCommentThread'](_0x461ad1)['catch'](f)['catch'](ft);return{'threadId':_0x1788e8['commentThreadId'],'resolvedAt':_0x1788e8['resolvedAt'],'resolvedBy':_0x1788e8['resolvedBy']};},'reopenCommentThread':async({channelId:_0x41bd0b,threadId:_0x3af695})=>this['_getService'](_0x41bd0b)['reopenCommentThread'](_0x3af695)['catch'](f)['catch'](ft),'removeCommentThread':({channelId:_0x11a2ed,threadId:_0x41e385})=>this['_getService'](_0x11a2ed)['removeCommentThread'](_0x41e385)['catch'](f)['catch'](ft),'addComment':({channelId:_0x2a0415,threadId:_0x2dc35b,commentId:_0x3a11c9,content:_0x429c85,attributes:_0x5745da})=>this['_getService'](_0x2a0415)['addComment'](_0x2dc35b,_0x3a11c9,_0x429c85,_0x5745da)['catch'](ft),'updateComment':({channelId:_0x12ee8d,threadId:_0x3cfbda,commentId:_0x1745d4,content:_0x213677,attributes:_0x7a78e1})=>this['_getService'](_0x12ee8d)['updateComment'](_0x3cfbda,_0x1745d4,_0x213677,_0x7a78e1)['catch'](f)['catch'](ft),'removeComment':({channelId:_0x2aaac0,threadId:_0x3cfded,commentId:_0x19f1ed})=>this['_getService'](_0x2aaac0)['removeComment'](_0x3cfded,_0x19f1ed)['catch'](f)['catch'](ft)},_0x3c4a0b instanceof _0x1ee4b1){const _0x455fc5=_0x3c4a0b['config']['get']('collaboration.channelId'),_0x3727d2=_0x3c4a0b['plugins']['get'](i);await this['_setUpService'](_0x455fc5);const _0x1d150c=await this['_services']['get'](_0x455fc5)['getConnectedSessions']();this['listenTo'](_0x3727d2,'sessionAdd:'+_0x455fc5,(_0x54157f,{session:_0x48ca02})=>{_0x48ca02['id']===_0x3727d2['mySessionId']&&(_0x54157f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x48ca02['permissions'],_0x455fc5));}),_0x3727d2['register'](_0x455fc5,_0x1d150c);}}async['_setUpService'](_0x143a32){if(this['_services']['has'](_0x143a32))throw new _0x510c05('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x143a32});const _0x36397e=this['context']['plugins']['get']('CommentsRepository'),_0x433b27=new s['CommentsService'](_0x143a32);this['_services']['set'](_0x143a32,_0x433b27),this['listenTo'](_0x433b27,'commentThreadAdded',(_0x27ea24,_0x3586dc)=>{const {commentThreadId:_0x509050,documentId:_0x5a700f,context:_0x4871a8,attributes:_0x3ba35b,resolvedAt:_0x1d6259,resolvedBy:_0x3a49b9,comments:_0x18a71f}=_0x3586dc;_0x36397e['getCommentThread'](_0x509050)||_0x36397e['addCommentThread']({'threadId':_0x509050,'channelId':_0x5a700f,'comments':_0x18a71f?_0x18a71f['map'](p):[],'context':_0x4871a8,'attributes':_0x3ba35b,'resolvedAt':_0x1d6259,'resolvedBy':_0x3a49b9,'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentThreadUpdated',(_0x2b914c,{commentThreadId:_0x536636,documentId:_0x8e64b,context:_0x234c59,unlinkedAt:_0x46f045,attributes:_0x1c3406})=>{_0x36397e['getCommentThread'](_0x536636)&&_0x36397e['updateCommentThread']({'threadId':_0x536636,'channelId':_0x8e64b,'context':_0x234c59,'unlinkedAt':_0x46f045,'attributes':_0x1c3406,'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentThreadResolved',(_0xaf1cce,{commentThreadId:_0x41d649,resolvedBy:_0x341ad3,resolvedAt:_0x359a27})=>{const _0x5f3166=_0x36397e['getCommentThread'](_0x41d649);_0x5f3166&&_0x5f3166['resolve']({'resolvedBy':_0x341ad3,'resolvedAt':_0x359a27,'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentThreadReopened',(_0x37ebb1,{commentThreadId:_0x4de4f8})=>{const _0x2b063b=_0x36397e['getCommentThread'](_0x4de4f8);_0x2b063b&&_0x2b063b['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentThreadRemoved',(_0xb031ea,{commentThreadId:_0x12e769})=>{const _0x869770=_0x36397e['getCommentThread'](_0x12e769);_0x869770&&_0x869770['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentAdded',(_0x566a87,_0x2e121f)=>{const _0x42fe3d=_0x2e121f['commentThreadId'],_0x424529=_0x36397e['getCommentThread'](_0x42fe3d);_0x424529&&_0x424529['addComment']({...p(_0x2e121f),'isFromAdapter':!0x0});}),this['listenTo'](_0x433b27,'commentUpdated',(_0x5c2fea,{commentThreadId:_0x538b12,commentId:_0x4b3a7a,content:_0x163b0d,attributes:_0x3f99e6})=>{const _0x252201=_0x36397e['getCommentThread'](_0x538b12);if(_0x252201){const _0x373b49=_0x252201['getComment'](_0x4b3a7a);_0x373b49&&_0x373b49['update']({'content':_0x163b0d,'attributes':_0x3f99e6,'isFromAdapter':!0x0});}}),this['listenTo'](_0x433b27,'commentRemoved',(_0x4c7a1a,{commentThreadId:_0x274b50,commentId:_0x562848})=>{const _0x5c4b40=_0x36397e['getCommentThread'](_0x274b50);if(_0x5c4b40){const _0x340911=_0x5c4b40['getComment'](_0x562848);_0x340911&&_0x340911['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x143a32);}['destroy'](){if(this['context']instanceof _0x1ee4b1){const _0x561853=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x561853);}}['_terminateService'](_0x4d3538){if(!this['_services']['has'](_0x4d3538))throw new _0x510c05('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4d3538});this['_getService'](_0x4d3538)['disconnect'](),this['_services']['delete'](_0x4d3538);}async['reconnect'](){for(const _0x2a54a3 of this['_services']['keys']())await this['_connectService'](_0x2a54a3);if(this['context']instanceof _0x1ee4b1){const _0xd4d8d3=this['context']['config']['get']('collaboration.channelId'),_0xd29086=this['context']['plugins']['get'](i);_0xd29086['unregister'](_0xd4d8d3);const _0x4d9b95=await this['_services']['get'](_0xd4d8d3)['getConnectedSessions']();_0xd29086['register'](_0xd4d8d3,_0x4d9b95);}}async['_connectService'](_0x2d518b){const {connection:_0x29c2c8}=this['context']['plugins']['get'](n),_0x470fc4=this['context']['plugins']['get']('CommentsRepository'),_0x49ce94=this['_services']['get'](_0x2d518b),_0x1e175b=await _0x49ce94['connect'](_0x29c2c8);await this['_fetchMissingUsersForThreads'](_0x1e175b);const _0x43eff4=new Set(Array['from'](_0x470fc4['getCommentThreads']({'channelId':_0x2d518b}),_0x3baa62=>_0x3baa62['id']));for(const _0x380702 of _0x1e175b)_0x380702['deletedAt']||_0x43eff4['delete'](_0x380702['commentThreadId']);for(const _0x5de9d2 of _0x43eff4)_0x470fc4['getCommentThread'](_0x5de9d2)['remove']({'isFromAdapter':!0x0});for(const _0x44aa16 of _0x1e175b){let _0x541a8b=_0x470fc4['getCommentThread'](_0x44aa16['commentThreadId']);const {commentThreadId:_0x34ffda,context:_0x4fd9b7,attributes:_0x598036,resolvedBy:_0xf629d5,resolvedAt:_0x52b596,unlinkedAt:_0x2660a0,deletedAt:_0xc7a1d2}=_0x44aa16;if(_0xc7a1d2)continue;_0x541a8b||(_0x541a8b=_0x470fc4['addCommentThread']({'channelId':_0x2d518b,'threadId':_0x34ffda,'context':_0x4fd9b7,'attributes':_0x598036||{},'resolvedBy':_0xf629d5,'resolvedAt':_0x52b596,'unlinkedAt':_0x2660a0,'isFromAdapter':!0x0}));const _0x2dfe87=new Set(Array['from'](_0x541a8b['comments'],_0x54cc4e=>_0x54cc4e['id']));for(const _0x26cb5e of _0x44aa16['comments'])_0x2dfe87['delete'](_0x26cb5e['commentId']);for(const _0x404602 of _0x2dfe87)_0x541a8b['getComment'](_0x404602)['remove']({'isFromAdapter':!0x0});for(const _0x5a5a12 of _0x44aa16['comments']){const _0x25ede3=_0x541a8b['getComment'](_0x5a5a12['commentId']);_0x25ede3?_0x25ede3['content']!==_0x5a5a12['content']&&_0x25ede3['update']({'content':_0x5a5a12['content'],'isFromAdapter':!0x0}):_0x541a8b['addComment'](Object['assign'](p(_0x5a5a12),{'isFromAdapter':!0x0}));}}}['_getService'](_0x56d462){if(!this['_services']['has'](_0x56d462))throw new _0x510c05('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x56d462});return this['_services']['get'](_0x56d462);}async['_fetchMissingUsersForThreads'](_0x2eebef){const _0x2aec87=this['context']['plugins']['get'](_0x559fd6),{connection:_0x9a76e3}=this['context']['plugins']['get'](n),_0x59d34f=new Set();for(const {resolvedBy:_0x290e43,comments:_0x1b86bf}of _0x2eebef){_0x290e43&&!_0x2aec87['getUser'](_0x290e43)&&_0x59d34f['add'](_0x290e43);for(const {userId:_0x205bea}of _0x1b86bf)_0x2aec87['getUser'](_0x205bea)||_0x59d34f['add'](_0x205bea);}if(0x0===_0x59d34f['size'])return;const _0x6cc80e=await ut['getMany'](_0x9a76e3,Array['from'](_0x59d34f));for(const _0x485db1 of _0x6cc80e)_0x2aec87['getUser'](_0x485db1['id'])||_0x2aec87['addUser'](_0x485db1);}}async function f(_0x15a498){if('404'!==_0x15a498['code'])throw _0x15a498;}function ft(_0x576975){if((_0x10918a=_0x576975)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x10918a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x10918a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x10918a;throw _0x576975;}function p(_0x411d56){return{'threadId':_0x411d56['commentThreadId'],'commentId':_0x411d56['commentId'],'content':_0x411d56['content'],'createdAt':_0x411d56['createdAt'],'authorId':_0x411d56['userId'],'attributes':_0x411d56['attributes']||{}};}class m extends _0x4e70f7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x10eef9)());['_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(_0x543ef9){super(_0x543ef9);const _0x483a2f=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x483a2f);}['init'](){const _0x1779e9=this['editor']['plugins']['get'](n),_0x50af49=this['editor']['plugins']['get']('TrackChangesEditing');return _0x50af49['adapter']={'getSuggestion':async _0x31130e=>{await this['_waitForServiceReady']();const _0x3f16e6=await this['_trackChangesService']['get'](_0x31130e)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3f16e6]),_0x3f16e6;},'addSuggestion':async({id:_0x11b791,type:_0x1bb154,data:_0x2c1bab,originalSuggestionId:_0x52c636,attributes:_0x3c2fc1})=>{await this['_waitForServiceReady']();const _0x4508f4={'id':_0x11b791,'type':_0x1bb154,'data':_0x2c1bab,'originalSuggestionId':_0x52c636,'attributes':_0x3c2fc1},_0xf6f955=await this['_trackChangesService']['add'](_0x11b791,_0x1bb154,_0x2c1bab,_0x52c636,_0x3c2fc1)['catch'](_0x28ba86=>{if(mt(_0x28ba86))return new Promise(_0x531b1c=>{this['_bufferedRequests']['set'](_0x11b791,{'resolve':_0x531b1c,'suggestionData':_0x4508f4});});throw _0x28ba86;});return this['_bufferedRequests']['delete'](_0x11b791),_0xf6f955;},'updateSuggestion':async(_0x183b62,_0x66b6e3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x66b6e3['state'])return this['_trackChangesService']['update'](_0x183b62,_0x66b6e3)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3322cf,_0x1c7cf0)=>{_0x50af49['hasSuggestion'](_0x1c7cf0['id'])&&(_0x50af49['getSuggestion'](_0x1c7cf0['id'])['attributes']=_0x1c7cf0['attributes']);}),this['_trackChangesService']['connect'](_0x1779e9['connection'])['then'](_0x590d5d=>(_0x1779e9['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x590d5d)['then'](()=>{for(const _0x1faeee of _0x590d5d){_0x50af49['addSuggestionData'](_0x1faeee)['_saved']=!0x0;}})));}async['reconnect'](){const _0x106ddd=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x244cba}=this['editor']['plugins']['get'](n),_0x461840=await this['_trackChangesService']['connect'](_0x244cba);await this['_fetchMissingUsersForThreads'](_0x461840);for(const {suggestionData:_0x1131fe,resolve:_0x338de8}of this['_bufferedRequests']['values']()){let _0x3923af=_0x461840['find'](_0x10933e=>_0x10933e['id']===_0x1131fe['id']);_0x3923af||(_0x3923af=await this['_trackChangesService']['add'](_0x1131fe['id'],_0x1131fe['type'],_0x1131fe['data'],_0x1131fe['originalSuggestionId'])),_0x338de8(_0x3923af);}for(const _0x22e30d of _0x461840)_0x106ddd['hasSuggestion'](_0x22e30d['id'])||_0x106ddd['addSuggestionData'](_0x22e30d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x10c7ee=>{this['listenTo'](this['_trackChangesService'],'connected',_0x587b8c=>{_0x587b8c['off'](),_0x10c7ee();});});}async['_fetchMissingUsersForThreads'](_0x137306){const _0x1ca937=this['editor']['plugins']['get'](_0x559fd6),{connection:_0x5b8d89}=this['editor']['plugins']['get'](n),_0x4b5506=new Set();for(const {authorId:_0x2e9e5a}of _0x137306)_0x1ca937['getUser'](_0x2e9e5a)||_0x4b5506['add'](_0x2e9e5a);if(0x0===_0x4b5506['size'])return;const _0x40130e=await ut['getMany'](_0x5b8d89,Array['from'](_0x4b5506));for(const _0xe833ad of _0x40130e)_0x1ca937['getUser'](_0xe833ad['id'])||_0x1ca937['addUser'](_0xe833ad);}}function A(_0x51ada7){if(mt(_0x51ada7))return new Promise(()=>{});throw _0x51ada7;}function mt(_0x2b7f25){return _0x2b7f25['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b7f25['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4e70f7{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 _0x50c208=this['editor']['plugins']['get'](n),_0x37ac9c=this['editor']['plugins']['get']('CommentsEditing'),_0x31a5c8=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x50c208,'change:state',(_0x37f325,_0x1038bf,_0x4a3f43)=>{_0x37ac9c['isThreadsLoadingPaused']='connected'!==_0x4a3f43;});}),this['listenTo'](_0x50c208,'change:state',(_0x4cc734,_0x40b5e1,_0xd79b8)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xd79b8);}),_0x31a5c8['_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 _0x4e70f7{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 _0x4e70f7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x485dae)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x559fd6];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c8833){super(_0x3c8833);const _0x618790=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x618790);}async['init'](){const _0x2955c7=this['editor']['plugins']['get'](l),_0x5d7fbd=_0x2955c7['serverHistory'],_0x54d766=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5d7fbd,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2955c7['sessionId']});const _0x6b2294=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x490f63=await _0x19d73f['isBundleUploaded'](_0x54d766['connection'],_0x6b2294);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x414a23})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x414a23)),'updateRevisions':async _0x2fb7dd=>{await this['_waitForServiceReady']();const _0x1f7952=this['_revisionTracker']['currentRevision'];if(_0x490f63&&0x1===_0x2fb7dd['length']&&_0x2fb7dd[0x0]['id']===_0x1f7952['id'])return _0x2fb7dd;for(const _0x5e2d9d of _0x2fb7dd)_0x5e2d9d['id']===_0x1f7952['id']&&(_0x5e2d9d['isEmptyCurrent']=_0x5e2d9d['fromVersion']===_0x5e2d9d['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2fb7dd,this['_lastRequestId'])['then'](_0x31d2a4=>(this['_lastRequestId']=_0x31d2a4,_0x2fb7dd))['catch'](_0x4f069f=>{if(J(_0x4f069f)||'400'===_0x4f069f['code']&&void 0x0!==_0x4f069f['data']['wrongRequestId']){for(const _0x3a9e65 of _0x2fb7dd){!this['_revisionTracker']['repository']['getRevision'](_0x3a9e65['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3a9e65['id'],_0x3a9e65,!0x1);}if(J(_0x4f069f))throw _0x4f069f;return _0x2fb7dd;}throw _0x4f069f;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xcacf4,{revisionsData:_0x29d69c,requestId:_0x638f23})=>{Math['max'](..._0x29d69c['map'](_0x42f9fb=>_0x42f9fb['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x29d69c,_0x638f23);}):this['_handleRevisionsUpdate'](_0x29d69c,_0x638f23);});const {revisions:_0x4e3d6a,requestId:_0x477013}=await this['_revisionHistoryService']['connect'](_0x54d766['connection']);_0x54d766['addToReconnectionStack'](this),this['_lastRequestId']=_0x477013,await this['_fetchMissingUsers'](_0x4e3d6a);for(const _0x933011 of _0x4e3d6a)this['_revisionTracker']['addRevisionData'](_0x933011);this['listenTo'](_0x2955c7,'change:_isConnected',(_0x2c3474,_0x1699d1,_0x1aafc3)=>{_0x1aafc3&&(this['_oldOffset']=_0x2955c7['_offset'],_0x2c3474['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x54d766,'state',_0x59d52f=>_0x59d52f===_0x5d6d9d['CONNECTED']);}async['reconnect'](){const _0xaf05ce=this['editor']['plugins']['get'](n),_0x4fb848=this['editor']['plugins']['get'](l),_0x5038c5=async()=>{const _0x2d1c7e=this['_revisionTracker']['currentRevision'],_0x2ae99e=_0x2d1c7e['id'],_0x1c637e=_0x2ae99e!==_0x4fb848['sessionId'];if(_0x1c637e){const _0x371d2d=_0x4fb848['_offset']-this['_oldOffset'],_0x29cc2c=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2d1c7e['toVersion']+_0x371d2d!==_0x29cc2c){const _0x159ebd=_0x2d1c7e['fromVersion']+_0x371d2d,_0x14f930=this['editor']['plugins']['get'](_0x559fd6),_0x25f369=this['_revisionTracker']['buildRevisionData']({'revision':_0x2d1c7e,'from':_0x159ebd,'to':_0x29cc2c});_0x25f369['id']=_0x2d1c7e['id'];const _0x14fed6=_0x25f369['authorsIds']['map'](_0x129ba5=>_0x14f930['getUser'](_0x129ba5));_0x2d1c7e['_update']({..._0x25f369,'authors':_0x14fed6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2d1c7e['id'],_0x25f369,!0x0);}this['_revisionTracker']['_startingVersion']=_0x29cc2c,(_0x2d1c7e['toVersion']===_0x2d1c7e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2ae99e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2ae99e),this['_revisionTracker']['_createCurrentRevision'](_0x29cc2c));}const {revisions:_0x51aed3,requestId:_0x31c39b}=await this['_revisionHistoryService']['reconnect'](_0xaf05ce['connection'],this['_lastRequestId']);_0x1c637e&&_0x51aed3['length']>0x0?_0x4fb848['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x51aed3),this['_handleRevisionsUpdate'](_0x51aed3,_0x31c39b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4fb848['_isConnected']?_0x5038c5():new Promise((_0x1b1a4e,_0x1b9938)=>{_0x4fb848['once']('change:_isConnected',()=>{_0x5038c5()['then'](_0x1b1a4e)['catch'](_0x1b9938);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x8794d1=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5d3a75=>{_0x5d3a75['off'](),_0x8794d1();});});}['_getLatestVersionFromServerOperations'](){const _0x31efc5=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1c1cb8 of _0x31efc5)if('marker'!==_0x1c1cb8['type']||_0x1c1cb8['affectsData'])return _0x1c1cb8['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1b04c5=this['editor']['plugins']['get'](l);return new Promise(_0x1a3ceb=>{_0x1b04c5['_isPendingUpdate']?_0x1b04c5['once']('change:_isPendingUpdate',()=>{_0x1a3ceb(this['_getLatestVersionFromServerOperations']());}):_0x1a3ceb(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x2dc2b1,_0x223146){const _0x2b6de6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x223146;for(const _0x21bd5d of _0x2dc2b1){const _0x32089f=_0x2b6de6['getRevision'](_0x21bd5d['id']);if(_0x32089f){if((_0x21bd5d['fromVersion']||_0x21bd5d['toVersion'])&&(_0x21bd5d['diffData']=null),_0x32089f===this['_revisionTracker']['currentRevision']){const _0x165845=Math['max'](_0x32089f['toVersion'],_0x21bd5d['toVersion']),_0x13f866=Math['max'](_0x32089f['fromVersion'],_0x21bd5d['fromVersion']);let _0x5fdab1;_0x32089f['toVersion']===_0x21bd5d['toVersion']&&_0x32089f['fromVersion']===_0x21bd5d['fromVersion']?(_0x5fdab1=!0x0,this['_preventResendingRevisionData'](_0x21bd5d)):_0x21bd5d['toVersion']===_0x165845&&_0x21bd5d['fromVersion']===_0x13f866?_0x5fdab1=!0x1:(_0x32089f['toVersion']===_0x165845&&_0x32089f['fromVersion']===_0x13f866||this['_fixRevision']({'revision':_0x32089f,'from':_0x13f866,'to':_0x165845}),_0x5fdab1=!0x0),_0x5fdab1&&(delete _0x21bd5d['fromVersion'],delete _0x21bd5d['toVersion'],delete _0x21bd5d['diffData'],delete _0x21bd5d['createdAt'],delete _0x21bd5d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x21bd5d),this['_preventResendingRevisionData'](_0x21bd5d);}else this['_revisionTracker']['addRevisionData'](_0x21bd5d);}const _0x66dd3d=_0x2b6de6['getRevisions']();_0x66dd3d['reverse']();for(let _0x333df5=0x0;_0x333df5<_0x66dd3d['length']-0x1;_0x333df5++){const _0x2389b3=_0x66dd3d[_0x333df5],_0x50c959=_0x66dd3d[_0x333df5+0x1];if(_0x2389b3['fromVersion']<_0x50c959['toVersion']){const _0x376829=_0x50c959['toVersion'],_0x983882=Math['max'](_0x376829,_0x2389b3['toVersion']);this['_fixRevision']({'revision':_0x2389b3,'from':_0x376829,'to':_0x983882});}}}['_fixRevision']({revision:_0x14402d,from:_0x383e45,to:_0x2996e0}={}){const _0x57e1f8=this['editor']['plugins']['get'](_0x559fd6),_0x6f9d7a=this['_revisionTracker']['buildRevisionData']({'revision':_0x14402d,'from':_0x383e45,'to':_0x2996e0});_0x6f9d7a['authors']=_0x6f9d7a['authorsIds']['map'](_0x57e52a=>_0x57e1f8['getUser'](_0x57e52a)),_0x14402d['_update'](_0x6f9d7a);}['_preventResendingRevisionData'](_0xce72ab){const _0x49a33a={};_0x49a33a['id']=_0xce72ab['id'];for(const _0x46cf85 of Object['keys'](_0xce72ab))'id'!==_0x46cf85&&(_0x49a33a[_0x46cf85]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x49a33a['id'],_0x49a33a,!0x0);}async['_fetchMissingUsers'](_0x2b5ddf){const _0x3d943d=this['editor']['plugins']['get'](_0x559fd6),{connection:_0x3143e2}=this['editor']['plugins']['get'](n),_0xc218bd=new Set();for(const _0x14da48 of _0x2b5ddf){for(const _0x3603d5 of _0x14da48['authorsIds'])_0x33331e(_0x3603d5);_0x14da48['creatorId']&&_0x33331e(_0x14da48['creatorId']);}if(0x0===_0xc218bd['size'])return;const _0x4465c0=await ut['getMany'](_0x3143e2,Array['from'](_0xc218bd));for(const _0x54c645 of _0x4465c0)_0x3d943d['getUser'](_0x54c645['id'])||_0x3d943d['addUser'](_0x54c645);function _0x33331e(_0x5d601f){_0x3d943d['getUser'](_0x5d601f)||_0xc218bd['add'](_0x5d601f);}}}function J(_0x97976){return _0x97976['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x97976['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x97976['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x4e70f7{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 _0x5975b1{['_collapseAt'];constructor(_0x56ea63,_0x41b1a9=0x6){super(_0x56ea63);const _0x1fd14f=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x41b1a9,this['bind']('isHidden')['to'](this,'usersCount',_0xa15c05=>_0xa15c05<_0x41b1a9),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1fd14f['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':_0x1fd14f['to']('usersCount',_0x14e011=>'+'+(_0x14e011-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x5975b1{['items'];['keystrokes'];constructor(_0x39ba53){super(_0x39ba53);const _0x554abc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0xa1f1f3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x554abc['if']('hasPopup'),'aria-expanded':_0x554abc['to']('isExpanded',_0x8de0f9=>this['hasPopup']&&String(_0x8de0f9)),'aria-label':_0x554abc['to']('hasPopup',_0xb7ef67=>P(_0x39ba53,_0xb7ef67?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x554abc['to']('hasPopup',_0x5e0e80=>!!_0x5e0e80&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x554abc['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x554abc['to'](_0x235225=>{const _0x4b6e81=_0x235225,_0xb829fe=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1d998c=document['querySelector']('.ck-balloon-panel_with-arrow');_0xb829fe?.['contains'](_0x4b6e81['relatedTarget'])||_0x1d998c?.['contains'](_0x4b6e81['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2f0e04,_0x13a312,_0x1b0648)=>{this['element']&&(_0x1b0648?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 _0x5975b1{['counterView'];['inlineListView'];constructor(_0x577fcb,_0x4eaefa=0x6){super(_0x577fcb);const _0x5871ce=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new st(this['locale'],_0x4eaefa),this['inlineListView']=new is(_0x577fcb),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x540be8 of this['inlineListView']['items'])_0x540be8['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',_0x5871ce['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class it extends _0x5975b1{['listWrapperView'];constructor(_0x2446eb,_0xcc9d2){super(_0x2446eb);const _0x4c72dc=this['bindTemplate'];this['listWrapperView']=new wt(_0x2446eb,_0xcc9d2),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':P(_0x2446eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4c72dc['to'](_0x319d44=>{const _0x104c4f=_0x319d44,_0x4c9dd5=document['querySelector']('.ck-presence-list__list'),_0x4af0dc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4c9dd5?.['contains'](_0x104c4f['relatedTarget'])||_0x4af0dc?.['contains'](_0x104c4f['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x3b19dd{constructor(_0x2a2d7b,_0xd84ba4){super(_0x2a2d7b);const _0x2e809d=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xd84ba4?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2e809d['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2e809d['to']('role'),'aria-label':_0x2e809d['to']('ariaLabel'),'aria-labelledby':_0x2e809d['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x270464['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xed3928=this['element'];_0xed3928&&(this['_isScrollable']=Math['max'](_0xed3928['scrollHeight'],_0xed3928['clientHeight'])>0.8*window['innerHeight']);}}class et extends ct{['userView'];constructor(_0x3ca19b,_0x956519,_0x1d6030){super(_0x3ca19b);const _0xada429=this['bindTemplate'];this['userView']=new ot(_0x3ca19b,_0x956519);const _0x38fcd7={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x956519['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x956519['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x956519['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1d6030&&(_0x38fcd7['tag']='button',_0x38fcd7['on']={'click':_0xada429['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x38fcd7);}['focus'](){this['element']['focus']();}}class rt extends _0x5975b1{['userView'];['markerView'];constructor(_0x389a97,_0x1bbfac,_0x5be6aa){super(_0x389a97);const _0x5456c7=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ot(_0x389a97,_0x1bbfac),this['markerView']=new lt(_0x389a97,_0x1bbfac);const _0x24e7bf=new at(_0x389a97);_0x24e7bf['template']['tag']='span',_0x24e7bf['text']=_0x1bbfac['name'];const _0x56fae3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5456c7['to']('isFocusable',_0x43765b=>!!_0x43765b&&0x0),'aria-labelledby':_0x24e7bf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5456c7['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5456c7['to']('hasTooltip',_0x20d27e=>!_0x20d27e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x24e7bf]};_0x5be6aa&&(_0x56fae3['tag']='button',_0x56fae3['on']={'click':_0x5456c7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x56fae3);}}class lt extends _0x5975b1{constructor(_0x198d25,_0x162d67){super(_0x198d25),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x162d67['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ht={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xead7d3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x257ee0){super(_0x257ee0),this['context']['config']['define']('presenceList',ht);const _0x10bbf=_0x257ee0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x10bbf)throw new _0x510c05('presencelist-collapseat-invalid-format',this);if(_0x10bbf<0x1)throw new _0x510c05('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2dedd8(),this['balloonPanelView']=new _0x4eb82f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x140de4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x140de4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x115c40,_0x25af7d)=>{this['_handleUserAdd'](_0x25af7d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1265c0,_0x1a477f)=>{this['_handleUserRemove'](_0x1a477f);});}['_createView'](){const _0x22d840=this['context'],_0x3cd2f6=new tt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5cdf21=this['balloonPanelView'];if(!_0x477679(_0x22d840['config']['get']('presenceList.container')))throw new _0x510c05('presencelist-missing-container',this);return _0x3cd2f6['counterView']['bind']('usersCount')['to'](this),_0x3cd2f6['bind']('isCollapsed')['to'](this,'usersCount',_0x21111b=>{const {collapseAt:_0x40e9fa}=_0x22d840['config']['get']('presenceList'),_0x3517b7=_0x21111b>=_0x40e9fa;if(_0x3517b7&&!_0x3cd2f6['inlineListView']['items']['find'](_0x196858=>_0x196858 instanceof st)){const _0x28e062=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x28e062&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3cd2f6['inlineListView']['items']['add'](_0x3cd2f6['counterView']);}return _0x3517b7||this['hideDropdown'](),_0x3517b7;}),_0x3cd2f6['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x48595a=>{const _0x36e659=_0x22d840['config']['get']('presenceList'),_0x59f22d=new rt(_0x22d840['locale'],_0x48595a,!!_0x36e659['onClick']);return _0x59f22d['bind']('hasTooltip')['to'](_0x3cd2f6,'isCollapsed',_0x4b274c=>!_0x4b274c),_0x59f22d['bind']('isFocusable')['to'](_0x3cd2f6,'isCollapsed',_0x12edb9=>!_0x12edb9),_0x36e659['onClick']&&this['listenTo'](_0x59f22d,'execute',()=>{this['view']['isCollapsed']||_0x36e659['onClick'](_0x48595a,_0x59f22d['element']);}),_0x59f22d;}),this['listenTo'](_0x3cd2f6['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3cd2f6['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3cd2f6['inlineListView']['keystrokes']['set']('Enter',(_0x4ffb70,_0x52f120)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x52f120());}),_0x3cd2f6['render'](),_0x5cdf21['render'](),_0x183b86({'emitter':_0x3cd2f6,'activator':()=>_0x5cdf21['isVisible'],'contextElements':[_0x5cdf21['element'],_0x3cd2f6['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x22d840['config']['get']('presenceList.container')['appendChild'](_0x3cd2f6['element']),this['_bodyCollection']=new _0x282e37(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3cd2f6;}['_handleUserAdd'](_0x2eb643){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2eb643['isMe'])return;const _0x5a012e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5a012e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x32036c=_0x2eb643['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2eb643,_0x32036c);}['_handleUserRemove'](_0x2238f8){this['usersCount']--;const {collapseAt:_0x315a7f}=this['context']['config']['get']('presenceList'),_0x1b3eee=this['usersCount']>=_0x315a7f;if(this['currentDisplayedUsers']['get'](_0x2238f8['id']))this['currentDisplayedUsers']['remove'](_0x2238f8['id']);else{if(_0x1b3eee&&this['currentDisplayedUsers']['length']+0x1===_0x315a7f-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1b3eee?0x1:0x0)<this['usersCount']){for(const _0x2bf678 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2bf678['id'])&&(this['currentDisplayedUsers']['add'](_0x2bf678,Math['min'](this['currentDisplayedUsers']['length']-(_0x1b3eee?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1b3eee?0x1:0x0)===_0x315a7f-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5e94e4=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new it(this['context']['locale'],!!_0x5e94e4['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x10a550}=this['presenceDropdownView'];_0x10a550['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x11af1a=>{if(!_0x5e94e4['displayMe']&&_0x11af1a['isMe'])return null;const _0x57e72a=new et(this['context']['locale'],_0x11af1a,!!_0x5e94e4['onClick']);return _0x5e94e4['onClick']&&this['listenTo'](_0x57e72a,'execute',()=>{_0x5e94e4['onClick'](_0x11af1a,_0x57e72a['element']);}),_0x57e72a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x10a550['focus'](),_0x10a550['checkIfScrollable']();const _0x3bcd70=(_0x2c6208,_0x1d4238)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1d4238();};_0x10a550['keystrokes']['set']('Esc',_0x3bcd70),_0x10a550['keystrokes']['set']('Shift+Tab',_0x3bcd70),_0x10a550['keystrokes']['set']('Tab',(_0x31a919,_0xd84757)=>{!function(_0x5284f7){const _0x161443=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xf41168=>_0xf41168+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5f3f7e=[...document['body']['querySelectorAll'](_0x161443)]['filter'](_0x373669=>_0x373669===document['activeElement']||_0x373669['offsetWidth']+_0x373669['offsetHeight']>0x0)['sort']((_0x342f7e,_0x168865)=>(_0x342f7e['tabIndex']||0x0)-(_0x168865['tabIndex']||0x0)),_0x2baf62=_0x5f3f7e['indexOf'](_0x5284f7),_0x5e5376=_0x5f3f7e[(_0x2baf62+0x1)%_0x5f3f7e['length']];_0x5e5376&&_0x5e5376['focus']();}(this['view']['element']),this['hideDropdown'](),_0xd84757();}),_0x10a550['focusTracker']['add'](this['view']['element']),_0x10a550['focusTracker']['on']('change:isFocused',(_0x5dff3e,_0x2e473d,_0x3aedc)=>{_0x3aedc||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 _0xead7d3{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};