@ckeditor/ckeditor5-real-time-collaboration 46.0.1-alpha.12 → 46.0.1-alpha.13

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 _0xa0a9ec,Plugin as _0x4edcf1,PendingActions as _0x46588f,Context as _0x167299}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x340059,CKEditorError as _0x21fa12,Collection as _0x2c863a,global as _0x274993,version as nt,uid as _0xa6257d,KeystrokeHandler as _0x4c3498}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3cff3d,View as _0x50a2fd,ListView as _0x47392b,ListItemView as et,LabelView as it,BalloonPanelView as _0x5b36ff,clickOutsideHandler as _0x2723a3,BodyCollection as _0x5a4715}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x9f50e9,History as _0x191b51,NoOperation as _0x1217d9,InsertOperation as _0x5d5652,MarkerOperation as _0x2c727b,RootAttributeOperation as _0x208e95,transformOperationSets as _0x45e26d,OperationFactory as _0x88c11e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x25a895,CollaborativeEditingService as _0x467e77,User as ct,CommentsService as _0x360dc4,TrackChangesService as tt,RevisionHistoryService as _0x3326f7,EditorService as _0x5a159d}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5926ab,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3e0e91}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1e73ad}from'es-toolkit/compat';class n extends _0xa0a9ec{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3cff3d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d16de){super(_0x1d16de),this['set']('state',_0x25a895['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x340059())();}['init'](){const _0x2b6f9b=this['context'],_0x4acdda=_0x2b6f9b['plugins']['get']('CloudServices'),_0x5a5faf=_0x2b6f9b['plugins']['get'](_0x3cff3d);if(!_0x4acdda['token'])throw new _0x21fa12('websocketgateway-missing-token',this);if(!_0x4acdda['webSocketUrl'])throw new _0x21fa12('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'](_0x4acdda['token'],_0x4acdda['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x331ac4=>{if(this['connection']=_0x331ac4,this['bind']('state')['to'](_0x331ac4,'state',this,'_isBrowserOffline',(_0x3f46e6,_0x499eda)=>('connected'!==_0x3f46e6&&(this['_shouldPluginsReconnect']=!0x0),_0x499eda||_0x3f46e6!==_0x25a895['CONNECTED']?_0x25a895['DISCONNECTED']:this['state']==_0x25a895['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x25a895['CONNECTING']):_0x25a895['CONNECTED'])),this['connection']['on']('error',(_0x4d07e0,_0xcbb12b)=>{if('limitExceeded'!==_0xcbb12b['code'])throw console['error'](_0xcbb12b),new _0x21fa12('cloudservices-init',null,{'originalError':_0xcbb12b});_0x5a5faf['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'});}),!_0x331ac4['me'])return new Promise(_0x4c7a73=>_0x331ac4['on']('change:me',_0x4c7a73));})['catch'](_0x999689=>{throw console['error'](_0x999689),new _0x21fa12('cloudservices-init',null,{'originalError':_0x999689});});}['addToReconnectionStack'](_0x1ab457){if('function'!=typeof _0x1ab457['reconnect'])throw new _0x21fa12('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x1ab457))throw new _0x21fa12('websocketgateway-plugin-already-registered',this,{'name':_0x1ab457['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x1ab457);}['removeFromReconnectionStack'](_0x26249e){this['_reconnectionStack']['delete'](_0x26249e);}['isInReconnectionStack'](_0xba818c){return this['_reconnectionStack']['has'](_0xba818c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x4a7366=>_0x4a7366['reconnect']())))['then'](()=>this['state']=_0x25a895['CONNECTED'])['catch'](_0x8f1586=>{throw console['error'](_0x8f1586),new _0x21fa12('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x25a895['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xa0a9ec{['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,_0x5926ab];}constructor(_0x7db9dd){super(_0x7db9dd),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c863a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5926ab);}['init'](){const _0x27243f=this['context']['plugins']['get'](n);this['listenTo'](_0x27243f,'change:state',(_0x2c71e7,_0x592bb9,_0x2df524)=>{if('connected'!==_0x2df524)this['channelSessions']['forEach'](_0x24873d=>_0x24873d['clear']()),this['channelConnectedUsers']['forEach'](_0xaf5617=>_0xaf5617['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x42061d,_0x291a76]of this['_registeredSessions'])for(const _0x48f048 of _0x291a76)this['_handleSessionAdd'](_0x42061d,_0x48f048);}}),this['_createUser'](_0x27243f['connection']['me'],!0x0);}['register'](_0x54ca66,_0x1c7271){if(this['_registeredSessions']['has'](_0x54ca66))throw new _0x21fa12('sessions-register-already-registered',null,{'channelId':_0x54ca66});this['_registeredSessions']['set'](_0x54ca66,_0x1c7271),this['channelSessions']['set'](_0x54ca66,new _0x2c863a()),this['channelConnectedUsers']['set'](_0x54ca66,new _0x2c863a()),this['listenTo'](_0x1c7271,'add',(_0x32a6d8,_0x257ae9)=>this['_handleSessionAdd'](_0x54ca66,_0x257ae9)),this['listenTo'](_0x1c7271,'remove',(_0x17b8e0,_0x4103a3)=>this['_handleSessionRemove'](_0x54ca66,_0x4103a3));for(const _0x321115 of _0x1c7271)this['_handleSessionAdd'](_0x54ca66,_0x321115);}['unregister'](_0x2b17f0){if(!this['_registeredSessions']['has'](_0x2b17f0))throw new _0x21fa12('sessions-unregister-not-exist',null,{'channelId':_0x2b17f0});const _0x7146be=this['_registeredSessions']['get'](_0x2b17f0);this['stopListening'](_0x7146be);for(const _0x5d37a1 of _0x7146be)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2b17f0,_0x5d37a1);this['_registeredSessions']['delete'](_0x2b17f0),this['channelSessions']['delete'](_0x2b17f0),this['channelConnectedUsers']['delete'](_0x2b17f0);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4d56c6){for(const _0x22eb35 of this['channelSessions']['values']())for(const _0x1dc6a8 of _0x22eb35)if(_0x1dc6a8['id']===_0x4d56c6)return _0x1dc6a8['user'];}['getUserSessions'](_0x140fa8,_0x104a24){const _0xabdd02=_0x104a24?[this['channelSessions']['get'](_0x104a24)]:this['channelSessions']['values'](),_0x4ecd4c=new Set();for(const _0x203ffe of _0xabdd02)for(const _0x3d3d8d of _0x203ffe)_0x3d3d8d['user']['id']===_0x140fa8['id']&&_0x4ecd4c['add'](_0x3d3d8d['id']);return _0x4ecd4c;}['getUserRole'](_0xc15853){for(const _0x3032f5 of this['channelSessions']['values']())for(const _0x36728a of _0x3032f5)if(_0x36728a['user']===_0xc15853)return _0x36728a['role'];}['_handleSessionAdd'](_0x35cecd,_0x26889a){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1fa627=_0x26889a['user'],_0x21b5eb=this['_users']['getUser'](_0x1fa627['id'])||this['_createUser'](_0x1fa627),_0x4b4f92=Object['assign']({},_0x26889a,{'user':_0x21b5eb});this['channelSessions']['get'](_0x35cecd)['add'](_0x4b4f92);const _0x574d99=this['channelConnectedUsers']['get'](_0x35cecd);_0x574d99['has'](_0x21b5eb['id'])||_0x574d99['add'](_0x21b5eb),this['allConnectedUsers']['has'](_0x21b5eb['id'])||this['allConnectedUsers']['add'](_0x21b5eb,_0x21b5eb['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x35cecd,{'channelId':_0x35cecd,'session':_0x4b4f92});}['_handleSessionRemove'](_0x1049d9,_0x328cc9){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x11c14b=this['channelConnectedUsers']['get'](_0x1049d9),_0x5df6c4=_0x328cc9['user'];_0x5df6c4['id']&&(this['channelSessions']['get'](_0x1049d9)['remove'](_0x328cc9['id']),_0x11c14b['has'](_0x5df6c4['id'])&&!this['getUserSessions'](_0x5df6c4,_0x1049d9)['size']&&_0x11c14b['remove'](_0x5df6c4['id']),this['allConnectedUsers']['get'](_0x5df6c4['id'])&&!this['getUserSessions'](_0x5df6c4)['size']&&this['allConnectedUsers']['remove'](_0x5df6c4['id']));}['_createUser'](_0x3888b2,_0x5a97f){const _0x181585=this['_users']['addUser'](_0x3888b2);return _0x5a97f&&this['_users']['defineMe'](_0x3888b2['id']),_0x181585['orderNumber']=this['_uniqueUsersCount']++,_0x181585;}}class G extends _0x4edcf1{['_domEmitter']=new(_0x340059())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x23de68=this['editor'],_0x5d01bc=_0x23de68['plugins']['get'](i);_0x23de68['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5e3ee6,{writer:_0x49c7ab})=>function(_0x2d0c35,_0x2b9408,_0x5cd877,_0x58f353){const _0x35b545=_0x2d0c35['markerName']['split'](':')[0x2],_0x5403dd=_0x5cd877['getUserBySessionId'](_0x35b545);if(!_0x5403dd||_0x35b545===_0x5cd877['mySessionId'])return;if(!_0x58f353['model']['schema']['checkChild'](_0x2d0c35['markerRange']['start'],'$text'))return;const _0x4bb384={'class':'ck-user__marker\x20'+_0x5403dd['color']['getMarkerClass'](),'data-name':_0x5403dd['name'],'data-session-id':_0x35b545},_0x46316d=_0x58f353['model']['markers']['get'](_0x2d0c35['markerName']),_0x108b14=_0x46316d['getStart'](),_0x3e3166=_0x108b14['nodeAfter'],_0x9f6705=_0x58f353['model']['schema'];if(_0x3e3166&&_0x9f6705['isObject'](_0x3e3166)&&_0x9f6705['isInline'](_0x3e3166)&&!_0x58f353['model']['markers']['get']('user:range:'+_0x35b545)['getRange']()['isCollapsed'])return;const _0x5cc7d4=_0x108b14['parent'];return _0x58f353['model']['schema']['isLimit'](_0x5cc7d4)&&!_0x58f353['model']['hasContent'](_0x5cc7d4)&&(_0x4bb384['contenteditable']=!0x1),function(_0x161b4c,_0x5328ab,_0x54cb95){const _0x319c37=_0x161b4c['createUIElement']('span',_0x5328ab);return _0x161b4c['setCustomProperty']('userPositionMarker',!0x0,_0x319c37),_0x319c37['render']=function(_0x4ff178){const _0x5a304c=this['toDomElement'](_0x4ff178),_0x53062d=document['createElement']('span');return _0x53062d['classList']['add']('ck-user__marker-tooltip'),_0x53062d['setAttribute']('contenteditable','false'),_0x53062d['setAttribute']('spellcheck','false'),_0x53062d['textContent']=_0x54cb95['name'],_0x5a304c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x53062d['outerHTML']+'⁠',_0x5a304c['addEventListener']('mouseenter',()=>{_0x5a304c['classList']['add']('ck-user__marker_hovered');}),_0x5a304c['addEventListener']('mouseleave',()=>{_0x5a304c['classList']['remove']('ck-user__marker_hovered');}),_0x5a304c;},_0x319c37['isSimilar']=function(_0x4ab081){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4ab081['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4ab081['getAttribute']('data-session-id'));},_0x319c37;}(_0x2b9408,_0x4bb384,_0x5403dd);}(_0x5e3ee6,_0x49c7ab,_0x5d01bc,_0x23de68)}),_0x23de68['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8075c3=>function(_0x3da46c,_0x41c612){const _0x38aaa7=_0x3da46c['markerName']['split'](':')[0x2];if(_0x38aaa7===_0x41c612['mySessionId'])return null;const _0x27e717=_0x41c612['getUserBySessionId'](_0x38aaa7);if(!_0x27e717)return{'id':_0x38aaa7,'classes':[]};return{'id':_0x38aaa7,'classes':['ck-user__selection',_0x27e717['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x38aaa7},'priority':0x7d0+_0x27e717['orderNumber']};}(_0x8075c3,_0x5d01bc)}),function(_0x34ebca){const _0x1d3eca=_0x34ebca['model'],_0x190dff=new Map(),_0x3e017d=_0x34ebca['plugins']['get'](i);_0x1d3eca['markers']['on']('update:user:range',(_0x7b7243,_0x56bc38,_0x330a99,_0x4ba947)=>{if(!_0x4ba947&&_0x190dff['get'](_0x56bc38['name']))return _0x190dff['get'](_0x56bc38['name'])['detach'](),void _0x190dff['delete'](_0x56bc38['name']);const _0x790dc7=_0x56bc38['name']['split'](':')[0x2];if(_0x790dc7===_0x3e017d['mySessionId'])return;const _0x42910e='user:position:'+_0x790dc7;_0x1d3eca['markers']['has'](_0x42910e)&&_0x34ebca['editing']['reconvertMarker'](_0x42910e),_0x56bc38['on']('change:range',(_0x2a98c9,_0x30486d,_0xf7d200)=>{if('$graveyard'!=_0x30486d['root']['rootName']&&'$graveyard'==_0x56bc38['getRange']()['root']['rootName']&&!_0x190dff['has'](_0x56bc38['name'])){const _0x695f9c=_0x1d3eca['schema']['getNearestSelectionRange'](_0xf7d200['deletionPosition']);if(_0x695f9c){const _0x3e0d01=_0x9f50e9['fromRange'](_0x695f9c);_0x190dff['set'](_0x56bc38['name'],_0x3e0d01),_0x3e0d01['on']('change:range',(_0x51af86,_0x25adb5,_0x4fa6d5)=>{if('$graveyard'==_0x3e0d01['root']['rootName']){const _0x56001e=_0x1d3eca['schema']['getNearestSelectionRange'](_0x4fa6d5['deletionPosition']);_0x56001e?(_0x3e0d01['start']=_0x56001e['start'],_0x3e0d01['end']=_0x56001e['end']):(_0x190dff['delete'](_0x56bc38['name']),_0x3e0d01['detach']());}});}}});}),_0x1d3eca['document']['on']('change',()=>{_0x190dff['size']>0x0&&_0x1d3eca['enqueueChange']({'isUndoable':!0x1},_0x1ee2f3=>{for(const [_0x12fa29,_0x319845]of _0x190dff)'$graveyard'==_0x1d3eca['markers']['get'](_0x12fa29)['getRange']()['root']['rootName']&&(te(_0x12fa29['split'](':')[0x2],_0x319845['toRange'](),_0x1d3eca,_0x1ee2f3),_0x319845['detach']());_0x190dff['clear']();});});}(_0x23de68),this['_domEmitter']['listenTo'](_0x274993['document'],'keydown',(_0x1206e9,{key:_0x462bb6})=>{'Escape'===_0x462bb6&&function(_0x5a4cee){_0x5a4cee['editing']['view']['change'](_0x52df26=>{for(const _0x2d605d of _0x5a4cee['model']['markers']){if(!_0x2d605d['name']['startsWith']('user:position'))continue;const _0x269615=_0x5a4cee['editing']['mapper']['markerNameToElements'](_0x2d605d['name']);if(_0x269615){for(const _0xf37cf7 of _0x269615)_0x52df26['removeClass']('ck-user__marker_hovered',_0xf37cf7);}}});}(_0x23de68);},{'useCapture':!0x0});}['afterInit'](){const _0x37462c=this['editor'],_0x349e03=_0x37462c['commands']['get']('undo');_0x349e03&&_0x37462c['model']['on']('applyOperation',(_0x1ad36e,_0x1a1079)=>{const _0x1a1be5=_0x1a1079[0x0];if(!_0x1a1be5['isDocumentOperation'])return;if('marker'!=_0x1a1be5['type']||!_0x1a1be5['name']['startsWith']('user:'))return;const _0x3f9871=_0x1a1be5['batch'];_0x349e03['_createdBatches']['has'](_0x3f9871)&&(_0x1a1be5['newRange']=_0x1a1be5['oldRange']?_0x37462c['model']['createRange'](_0x1a1be5['oldRange']['start'],_0x1a1be5['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x271192=this['editor'],_0x205b1c=_0x271192['model']['document'],_0x4e10a7=_0x271192['plugins']['get'](i);_0x271192['model']['enqueueChange']({'isUndoable':!0x1},_0x41015b=>{const _0x5b0dc5='user:range:'+_0x4e10a7['mySessionId'],_0x354566='user:position:'+_0x4e10a7['mySessionId'],_0x1d5563=_0x271192['model']['markers']['has'](_0x5b0dc5);_0x271192['editing']['view']['hasDomSelection']?te(_0x4e10a7['mySessionId'],_0x205b1c['selection']['getFirstRange'](),_0x271192['model'],_0x41015b):_0x1d5563&&(_0x41015b['removeMarker'](_0x5b0dc5),_0x41015b['removeMarker'](_0x354566));});}}function te(_0x593889,_0x371bf9,_0x5e3163,_0xdeb702){const _0x4aa15c='user:range:'+_0x593889,_0x4c58ba='user:position:'+_0x593889,_0x2f769e=_0x371bf9['getContainedElement']();let _0x3ae629=_0x371bf9['start'];if(_0x2f769e&&_0x2f769e['is']('element','tableCell')){const _0x3d48e1=function(_0x1db97e,_0x2a0b72){for(const _0xef80d0 of _0x1db97e['getPositions']())if(_0x2a0b72['schema']['checkChild'](_0xef80d0,'$text'))return _0xef80d0;}(_0x371bf9,_0x5e3163);_0x3d48e1&&(_0x3ae629=_0x3d48e1,_0x371bf9=_0xdeb702['createRange'](_0x3ae629));}const _0x2ec0ff=_0xdeb702['createRange'](_0x3ae629);_0x5e3163['markers']['has'](_0x4aa15c)?(_0xdeb702['updateMarker'](_0x4aa15c,{'range':_0x371bf9}),_0xdeb702['updateMarker'](_0x4c58ba,{'range':_0x2ec0ff})):(_0xdeb702['addMarker'](_0x4aa15c,{'range':_0x371bf9,'usingOperation':!0x0}),_0xdeb702['addMarker'](_0x4c58ba,{'range':_0x2ec0ff,'usingOperation':!0x0}));}function $(_0x45f15c,_0x2b2b6c,_0x1c84a4){const _0x5a61ac=_0x45f15c['t'],t=_0x45f15c['t'];switch(_0x2b2b6c){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 _0x5a61ac({'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'},_0x1c84a4);default:return'';}}let Q=0x1;class l extends _0x4edcf1{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x467e77)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,G,_0x46588f,_0x5926ab,_0x3cff3d];}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 _0x4aadf0=this['serverHistory']['getOperations']();for(let _0x34497d=_0x4aadf0['length']-0x1;_0x34497d>=0x0;_0x34497d--){const _0x44229c=_0x4aadf0[_0x34497d];if(!this['_disconnectionOperations']['has'](_0x44229c))return _0x44229c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x51c6af){if(super(_0x51c6af),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x191b51(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x21fa12('collaboration-missing-channelid',this);const _0x3f78f6=_0x51c6af['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3f78f6,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3e0e91(),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 Z(this['_disconnectionOperations']);}['init'](){const _0xdcb5d5=this['editor'],_0x39ffac=_0xdcb5d5['plugins']['get'](_0x5926ab),_0x3a73aa=_0xdcb5d5['plugins']['get'](n);this['listenTo'](_0x39ffac,'getOperationAuthor',(_0x5ef5bc,_0x3cf6ef)=>{const _0x4a8709=_0x3cf6ef[0x0];_0x4a8709['_authorId']&&(_0x5ef5bc['return']=_0x39ffac['getUser'](_0x4a8709['_authorId']),_0x5ef5bc['stop']()),null===_0x4a8709['_authorId']&&(_0x5ef5bc['return']=null,_0x5ef5bc['stop']());},{'priority':'high'}),this['listenTo'](_0xdcb5d5['model']['document']['selection'],'change:range',(_0x2c0a59,_0x5c62bf)=>{_0x5c62bf['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xdcb5d5['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xdcb5d5['model']['on']('applyOperation',(_0x598981,_0x191750)=>{const _0x1213d6=_0x191750[0x0];_0x1213d6['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1213d6),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3a73aa,'state',this,'_hasSynchronizationProblem',(_0x4bbfc8,_0x45efcd)=>'connected'===_0x4bbfc8&&!_0x45efcd),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xdcb5d5['disableReadOnlyMode']('rtc-offline'):_0xdcb5d5['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xdcb5d5['disableReadOnlyMode']('rtc-offline'):_0xdcb5d5['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a9ad1=this['editor']['plugins']['get'](i),_0x1aa730=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2a9ad1['unregister'](this['_channelId']);const _0x31dde7=await this['_service']['reconnect'](_0x1aa730['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x31dde7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x560f10=await this['_service']['getConnectedSessions']();_0x2a9ad1['register'](this['_channelId'],_0x560f10),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x263654){if(function(_0x561cf1){return'404'===_0x561cf1['code'];}(_0x263654)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x46b8fb){return'409'===_0x46b8fb['code'];}(_0x263654)){const _0x16d85f=$(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'](_0x16d85f);}else{if(!(_0x263654 instanceof X))throw _0x263654;this['_handleReconnectionError']();}}}}['destroy'](){const _0x80bfaa=this['editor']['plugins']['get'](n),_0x366c26=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x366c26['channelSessions']['has'](this['_channelId'])&&_0x366c26['unregister'](this['_channelId']),_0x80bfaa['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x356e11){if(this['sessionId']!==_0x356e11['sessionId']&&this['_lastSyncedOperationId']!==_0x356e11['lastOperationId'])throw new X();return this['sessionId']=_0x356e11['sessionId'],this['_handleServerResponse']([],{..._0x356e11,'wereChangesApplied':!0x1,'data':_0x356e11['data']},'reconnect');}async['_connectService'](_0x202251,_0x23a351=!0x1){const {connection:_0x515861}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x515861,this['_channelId'])['then'](_0x4a7809=>this['_initSessionsHandling'](_0x4a7809))['catch'](_0x30938f=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x30938f);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x262909,_0x1781b5)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1781b5);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4ffb07=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x202251);this['_isPendingUpdate']=!0x0;const _0xa45ed9=await this['_service']['connect'](_0x515861,this['_compressOperations'](_0x202251),_0x4ffb07);if(this['sessionId']=_0xa45ed9['sessionId'],_0x23a351){if(!_0xa45ed9['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xa45ed9['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x202251,_0xa45ed9,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xa45ed9,_0x202251);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3d720e=this['editor']['plugins']['get'](i),_0x23930b=this['editor']['plugins']['get'](G),_0x3e87f3=_0x3d720e['channelSessions']['get'](this['_channelId']);_0x3e87f3&&_0x3e87f3['length']>0x1?_0x23930b['createUserMarkerOperations']():this['listenTo'](_0x3d720e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3d720e['channelSessions']['get'](this['_channelId'])['length']&&_0x23930b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1ae2e4,_0x2d6104,_0x318568,_0x218ef5){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2d6104){const _0x41c530=this['_decompressOperations'](_0x318568,_0x218ef5);await this['_fetchMissingUsers'](_0x41c530),this['_handleExternalOperations'](_0x41c530,_0x2d6104,_0x318568['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x269dae}=this['editor'];let _0x508efe;try{_0x508efe=await this['_service']['getDocumentDetails']();}catch{const _0x4776eb=$(_0x269dae,'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'](_0x4776eb);}const _0x4f6867=_0x508efe['currentDocumentSession']||_0x508efe['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x4f6867['lastOperationId']){const _0x13682d=$(_0x269dae,'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'](_0x13682d);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3d8939){const _0x3882ce=this['editor']['plugins']['get'](i);this['listenTo'](_0x3882ce,'sessionAdd:'+this['_channelId'],(_0x34e451,{session:_0x55d8b7})=>{if(_0x55d8b7['id']===_0x3882ce['mySessionId']){_0x34e451['off']();const _0x39d406=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x324d33=_0x55d8b7['permissions'];_0x39d406&&_0x39d406['isEnabled']&&(_0x324d33=_0x324d33['filter'](_0x41607f=>'document:write'!==_0x41607f)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x324d33,this['_channelId']);}}),_0x3882ce['register'](this['_channelId'],_0x3d8939);}['_initThrowingOnDataSet'](){const _0x14b612=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5951bf)=>{if(!_0x5951bf[_0x5951bf['length']-0x1]['suppressErrorInCollaboration'])throw new _0x21fa12('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x14b612['apply'](this['editor']['data'],_0x5951bf);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x543437,[_0x4b9788])=>{if(this['_document']['version'])throw new _0x21fa12('realtimecollaborationclient-init-document-already-initialized',this);_0x543437['stop'](),this['_setPendingAction']();const _0x5f5c8a=this['editor']['config']['get']('rootsAttributes'),_0x4d810f=this['_getOperationsFromInitData'](_0x4b9788,_0x5f5c8a);0x0==_0x4d810f['length']&&_0x4d810f['push'](new _0x1217d9(0x0)),_0x543437['return']=this['_connectService'](_0x4d810f)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x125e5e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x125e5e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x358638,[_0x498b42,_0x3ffbdf])=>{_0x358638['stop']();const _0x516e9d=this['editor']['model']['document']['getRoot'](_0x498b42);if(!this['_knownRootNames']['has'](_0x498b42)){const _0x260d1f=_0x3ffbdf&&_0x3ffbdf['data']?_0x3ffbdf['data']:'',_0x87af5f=_0x3ffbdf&&_0x3ffbdf['attributes']?_0x3ffbdf['attributes']:{};await this['_loadRoot'](_0x498b42,_0x260d1f,_0x87af5f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x516e9d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x516e9d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4e4f2d){const _0x3fac01=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x9a6e3d}=this['editor']['plugins']['get'](n),_0x378e10=new Set();for(const _0x3f505c of _0x4e4f2d){const _0x3e12ac=_0x3f505c['_authorId'];_0x3e12ac&&!_0x3fac01['getUser'](_0x3e12ac)&&_0x378e10['add'](_0x3e12ac);}if(0x0===_0x378e10['size'])return;const _0x28da9b=await ct['getMany'](_0x9a6e3d,Array['from'](_0x378e10));for(const _0x206e11 of _0x28da9b)_0x3fac01['getUser'](_0x206e11['id'])||_0x3fac01['addUser'](_0x206e11);}['_getOperationsFromInitData'](_0x433c2c,_0x24398e={}){const _0x1ce4ee=this['editor']['model'],_0x2aa11e=[];let _0x179dce=0x0;const _0x32ae1e='string'==typeof _0x433c2c?{'main':_0x433c2c}:_0x433c2c;for(const _0x3adf78 of Object['keys'](_0x32ae1e)){if(!this['_document']['roots']['has'](_0x3adf78))throw new _0x21fa12('realtimecollaborationclient-init-non-existent-root',this);const _0x57e157=this['editor']['data']['parse'](_0x32ae1e[_0x3adf78]),_0x4fecda=this['_document']['getRoot'](_0x3adf78),_0x1d309f=new _0x5d5652(_0x1ce4ee['createPositionAt'](_0x4fecda,0x0),_0x57e157,_0x179dce++);_0x2aa11e['push'](_0x1d309f);for(const [_0xe0c73e,_0x4a9f9d]of _0x57e157['markers']){const _0x408e54=_0x1ce4ee['createRange'](_0x1ce4ee['createPositionFromPath'](_0x4fecda,_0x4a9f9d['start']['path']['slice']()),_0x1ce4ee['createPositionFromPath'](_0x4fecda,_0x4a9f9d['end']['path']['slice']())),_0x3cc672=new _0x2c727b(_0xe0c73e,null,_0x408e54,_0x1ce4ee['markers'],!0x0,_0x179dce++);_0x2aa11e['push'](_0x3cc672);}}if(_0x24398e)for(const [_0x30cc16,_0x18f557]of Object['entries'](_0x24398e)){const _0x5985c5=_0x1ce4ee['document']['getRoot'](_0x30cc16);if(!_0x5985c5)throw new _0x21fa12('multi-root-editor-root-attributes-no-root',null);for(const [_0x4d24c6,_0x32b4cf]of Object['entries'](_0x18f557))if(null!==_0x32b4cf){const _0x4f552d=new _0x208e95(_0x5985c5,_0x4d24c6,null,_0x32b4cf,_0x179dce++);_0x2aa11e['push'](_0x4f552d);}}return _0x2aa11e;}async['_loadRoot'](_0x3b1a97,_0x3d1946,_0x47285f){this['_getOperationsFromInitData']({[_0x3b1a97]:_0x3d1946},{[_0x3b1a97]:_0x47285f})['forEach']((_0x22b447,_0x1d9d3b)=>{_0x22b447['baseVersion']=this['_document']['version']+_0x1d9d3b,_0x22b447['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x22b447);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5162ce,_0x3b745e){let _0x26154c;this['_offset']=_0x5162ce['offset'];const _0x8e1d45=_0x5162ce['wereChangesApplied']&&!_0x5162ce['initData'],_0x2b31e4=_0x8e1d45?0x0:_0x5162ce['data']['baseVersion'];if(_0x3b745e['forEach'](_0x36230e=>{_0x36230e['_isInit']=!0x0,_0x36230e['createdAt']=_0x5162ce['sessionCreatedAt'],_0x36230e['_authorId']=null;}),_0x8e1d45)_0x26154c=_0x3b745e,this['_applyOperationsSet'](_0x26154c,_0x8e1d45);else{if(_0x5162ce['initData']){const _0x1e8298=this['_getOperationsFromInitData'](_0x5162ce['initData']);this['_document']['history']['version']=-_0x1e8298['length'],_0x1e8298['forEach'](_0x397585=>{_0x397585['baseVersion']-=_0x1e8298['length'],_0x397585['createdAt']=_0x5162ce['sessionCreatedAt'],_0x397585['_isInit']=!0x0,_0x397585['_authorId']=null;}),this['_applyOperationsSet'](_0x1e8298,!0x0),this['serverHistory']['version']=-_0x1e8298['length']+this['_offset'],this['_updateServerHistory'](_0x1e8298);}this['_document']['history']['version']=_0x2b31e4,_0x26154c=this['_decompressOperations'](_0x5162ce['data'],_0x5162ce['metadata']),await this['_fetchMissingUsers'](_0x26154c),this['_applyOperationsSet'](_0x26154c,_0x8e1d45);}_0x5162ce['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x26154c,_0x5162ce['lastOperationId']),this['_lastSyncedOperationId']=_0x5162ce['lastOperationId']),this['serverHistory']['version']=_0x2b31e4+this['_offset'],this['_updateServerHistory'](_0x26154c),_0x3b745e['filter'](_0x3be17e=>{const _0x95848=this['_getAffectedRoot'](_0x3be17e);return _0x95848&&!this['_knownRootNames']['has'](_0x95848);})['forEach']((_0x32a915,_0x4b02c9)=>{_0x32a915['baseVersion']=this['_document']['version']+_0x4b02c9,this['_saveOperationInBuffer'](_0x32a915);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3f3dc6,_0x5e58ce){const _0x5dc70b=_0x5e58ce&&_0x5e58ce['message'];if(_0x5dc70b&&_0x5dc70b['startsWith']('realtimecollaborationclient'))throw _0x5e58ce;const _0x30f035=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x30f035['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x21fa12(_0x3f3dc6,this['editor'],_0x5dc70b?{'originalError':_0x5dc70b}:void 0x0);}['_saveOperationInBuffer'](_0x563524){this['_knownOperations']['has'](_0x563524)||(this['_knownOperations']['add'](_0x563524),this['_bufferedOperations']['push'](_0x563524),this['_pendingAction']||'marker'==_0x563524['type']&&!_0x563524['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xfe1ff4=!0x1){!_0xfe1ff4&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1a6236=>{_0x1a6236&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4902bc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5e6f1e){return _0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5e6f1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4902bc)||this['_crash'](_0x4902bc['message'],_0x4902bc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2bd1ac=>{this['on']('change:_isPendingUpdate',()=>{_0x2bd1ac();});});}async['_sendBufferedOperations'](){const _0x42120d=this['editor']['plugins']['get'](G);if(this['_shouldSendSelectionUpdate']()&&(_0x42120d['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x42ce7e=[...this['_bufferedOperations']];for(const _0x285df4 of _0x42ce7e)_0x285df4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x285df4);const _0x510565=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x42ce7e),_0x13ad76=Q++,_0x3eef7a=this['_compressOperations'](_0x42ce7e),_0x3c67d1=await this['_service']['sendOperations'](_0x3eef7a,_0x3eef7a['baseVersion'],_0x510565);try{return await this['_handleServerResponse'](_0x42ce7e,_0x3c67d1,_0x13ad76);}catch(_0x30ef13){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x30ef13);}}async['_handleServerResponse'](_0x2f55a6,_0x2c6a2a,_0x3cabbe){if('error'in _0x2c6a2a)throw _0x2c6a2a['error'];let _0x39fa57=!0x1;if(_0x2c6a2a['wereChangesApplied']){_0x2c6a2a['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2c6a2a['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5abb66=>!_0x2f55a6['includes'](_0x5abb66));for(const _0x61aec9 of _0x2f55a6)_0x61aec9['createdAt']='lastOperationAcceptedAt'in _0x2c6a2a&&_0x2c6a2a['lastOperationAcceptedAt']||void 0x0;Y(_0x2f55a6,_0x2c6a2a['version']-_0x2f55a6['length']),this['_updateServerHistory'](_0x2f55a6);const _0x45b5f4=_0x2f55a6['filter'](_0x10b5ce=>{if(!_0x10b5ce['_isInit'])return!0x1;const _0x1710fd=this['_getAffectedRoot'](_0x10b5ce);return _0x1710fd&&!this['_knownRootNames']['has'](_0x1710fd);});Y(_0x45b5f4,this['_document']['version']),this['_applyOperationsSet'](_0x45b5f4),_0x39fa57=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x145f37=this['_decompressOperations'](_0x2c6a2a['data'],_0x2c6a2a['metadata'])['filter'](_0x4e4b00=>_0x4e4b00['baseVersion']>=this['_lastServerVersion']);_0x145f37['forEach'](_0x678e89=>this['_addKnownRoot'](_0x678e89)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5af37d=>!_0x5af37d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5af37d))),this['_bufferedOperations']['length']&&Y(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x145f37),_0x39fa57=this['_handleExternalOperations'](_0x145f37,_0x2c6a2a['version'],_0x2c6a2a['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x39fa57?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xfce28d,_0x5e333f,_0x39ff76){try{const _0x59fa73={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5cab42,operationsB:_0x164a67,originalOperations:_0x57d1a0}=_0x45e26d(_0xfce28d,this['_bufferedOperations'],_0x59fa73);Y(_0x5cab42,this['_document']['version']),Y(_0x164a67,_0x5e333f);for(const _0x19056d of _0x5cab42){const _0xd6b31f=_0x57d1a0['get'](_0x19056d);_0x19056d['_authorId']=_0xd6b31f?_0xd6b31f['_authorId']:null;}_0x39ff76&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xfce28d,_0x39ff76),this['_lastSyncedOperationId']=_0x39ff76),this['_bufferedOperations']=[..._0x164a67],this['_applyOperationsSet'](_0x5cab42),this['_updateServerHistory'](_0xfce28d);}catch(_0x33c731){return console['error'](_0x33c731),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3116b8,_0x31668e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5b476f=>{for(const _0x2fa748 of _0x3116b8)this['_knownOperations']['add'](_0x2fa748),this['_addKnownRoot'](_0x2fa748),_0x5b476f['batch']['addOperation'](_0x2fa748),this['editor']['model']['applyOperation'](_0x2fa748);});}['_addKnownRoot'](_0x1ad852){const _0x28cfa6=this['_getAffectedRoot'](_0x1ad852);_0x28cfa6&&this['_knownRootNames']['add'](_0x28cfa6);}['_getAffectedRoot'](_0x1b2bb7){let _0x5c1fff,_0x154a53;switch(_0x1b2bb7['type']){case'insert':_0x5c1fff=_0x1b2bb7['position']['root'];break;case'marker':if(_0x154a53=_0x1b2bb7['newRange'],!_0x154a53)return null;_0x5c1fff=_0x154a53['root'];break;case'addRootAttribute':_0x5c1fff=_0x1b2bb7['root'];break;case'addRoot':_0x5c1fff=_0x1b2bb7['affectedSelectable'];break;case'move':_0x5c1fff=_0x1b2bb7['targetPosition']['root'];break;default:return null;}return _0x5c1fff['rootName'];}['_updateServerHistory'](_0x843378){_0x843378['forEach'](_0x25ce82=>{const _0x41ef22=_0x25ce82['clone']();_0x41ef22['_authorId']=_0x25ce82['_authorId'],_0x41ef22['_isInit']=!!_0x25ce82['_isInit'],_0x41ef22['createdAt']=_0x25ce82['createdAt'],_0x41ef22['baseVersion']+=this['_offset'],_0x25ce82['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x41ef22),this['serverHistory']['addOperation'](_0x41ef22);});}['_handleReconnectionError'](_0x4e78c1){const _0x68fa3c=this['editor']['plugins']['get']('Notification'),_0x58927d=this['editor']['locale'];_0x4e78c1||(_0x4e78c1=$(_0x58927d,'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.')),_0x68fa3c['showWarning'](_0x4e78c1,{'title':$(_0x58927d,'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'](_0x46588f)['add']($(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x46588f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5b4993){const _0x3f55f9=_0x5b4993['map'](_0x564746=>_0x564746['toJSON']());return this['_compressor']['compress'](_0x3f55f9);}['_decompressOperations'](_0x10d12b,_0x188fcc){return this['_compressor']['decompress'](_0x10d12b)['map']((_0x2c5337,_0x571929)=>{const _0x17f913='init'==_0x188fcc[_0x571929]['type'];if('InsertOperation'==_0x2c5337['__className']){const _0x52616c=_0x2c5337['position']['root'];!this['_document']['getRoot'](_0x52616c)&&(this['_document']['createRoot']('$root',_0x52616c)['_isAttached']=!0x1);}const _0x5a56f9=_0x88c11e['fromJSON'](_0x2c5337,this['_document']);return _0x5a56f9['wasUndone']=_0x2c5337['wasUndone'],_0x5a56f9['_isInit']=_0x17f913,_0x5a56f9['_authorId']=_0x17f913?null:_0x188fcc[_0x571929]['userId'],_0x5a56f9['_isDisconnection']='cs:removeUser'===_0x188fcc[_0x571929]['type'],_0x5a56f9['createdAt']=_0x188fcc[_0x571929]['createdAt'],_0x5a56f9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5696fa=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5696fa&&_0x5696fa['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class X extends Error{}function Y(_0x593d5e,_0x59df4f){for(const _0x46e85b of _0x593d5e)_0x46e85b['baseVersion']=_0x59df4f++;}class Z{['_ignoredOperations'];['_operationToId'];constructor(_0x3f029b){this['_ignoredOperations']=_0x3f029b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x42caac){let _0xbbc7e3=_0x42caac['length'];for(;_0xbbc7e3--;){const _0x16cfb=_0x42caac[_0xbbc7e3];if(!this['_ignoredOperations']['has'](_0x16cfb)){if(!this['_operationToId']['has'](_0x16cfb)){const _0x358f23=_0xa6257d()['slice'](0x1,0x12);this['_operationToId']['set'](_0x16cfb,_0x358f23);}return this['_operationToId']['get'](_0x16cfb);}}}['setIdForTheLastOperation'](_0x54fed1,_0x5f2ef9){if(!_0x5f2ef9)return;let _0x21a374=_0x54fed1['length'];for(;_0x21a374--;){const _0x322d15=_0x54fed1[_0x21a374];this['_ignoredOperations']['has'](_0x322d15)||this['_operationToId']['set'](_0x322d15,_0x5f2ef9);}}}class a extends _0x4edcf1{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xa0a9ec{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x360dc4)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5926ab];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x525793){super(_0x525793),this['_services']=new Map();}async['init'](){const _0x15158a=this['context'],_0x2ebb18=_0x15158a['plugins']['get']('CommentsRepository');if(_0x15158a['plugins']['get'](n)['addToReconnectionStack'](this),_0x2ebb18['adapter']={'addCommentThread':async({channelId:_0x24591b,threadId:_0x5d7a59,comments:_0x3bcf56,resolvedAt:_0x2ce1e4,resolvedBy:_0x4def01,context:_0x1f3b64,attributes:_0xd109a1})=>{const _0x547f4e=await this['_getService'](_0x24591b)['addCommentThread']({'commentThreadId':_0x5d7a59,'comments':_0x3bcf56['map'](_0x483d52=>function(_0x55c0d7,_0x5e5e3a,_0x22d77d){return{'commentThreadId':_0x22d77d,'commentId':_0x55c0d7['commentId'],'userId':_0x55c0d7['authorId'],'content':_0x55c0d7['content'],'documentId':_0x5e5e3a,'createdAt':_0x55c0d7['createdAt'],'attributes':_0x55c0d7['attributes']||{}};}(_0x483d52,_0x24591b,_0x5d7a59)),'resolvedAt':_0x2ce1e4,'resolvedBy':_0x4def01,'context':_0x1f3b64,'attributes':_0xd109a1})['catch'](at);return{'threadId':_0x547f4e['commentThreadId'],'comments':_0x547f4e['comments']};},'getCommentThread':async({channelId:_0x55cc3c,threadId:_0x31d285})=>{const _0x54c8ca=await this['_getService'](_0x55cc3c)['getCommentThread'](_0x31d285)['catch'](at);return _0x54c8ca['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x54c8ca]),{'threadId':_0x54c8ca['commentThreadId'],'comments':_0x54c8ca['comments']['map'](B),'context':_0x54c8ca['context'],'resolvedAt':_0x54c8ca['resolvedAt'],'resolvedBy':_0x54c8ca['resolvedBy'],'attributes':_0x54c8ca['attributes']||{}});},'updateCommentThread':async({channelId:_0x17bc74,threadId:_0x289223,context:_0x527818,unlinkedAt:_0x3a57ca,attributes:_0x5ab2dc})=>this['_getService'](_0x17bc74)['updateCommentThread']({'commentThreadId':_0x289223,'context':_0x527818,'attributes':_0x5ab2dc,'unlinkedAt':_0x3a57ca})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x17a4ca,threadId:_0x490f2d})=>{const _0x27afd4=await this['_getService'](_0x17a4ca)['resolveCommentThread'](_0x490f2d)['catch'](F)['catch'](at);return{'threadId':_0x27afd4['commentThreadId'],'resolvedAt':_0x27afd4['resolvedAt'],'resolvedBy':_0x27afd4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x378434,threadId:_0x3f00fd})=>this['_getService'](_0x378434)['reopenCommentThread'](_0x3f00fd)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x5c16ca,threadId:_0x371c3d})=>this['_getService'](_0x5c16ca)['removeCommentThread'](_0x371c3d)['catch'](F)['catch'](at),'addComment':({channelId:_0x33c7bd,threadId:_0xd067fc,commentId:_0x3a743a,content:_0x4e2c04,attributes:_0x4271b8})=>this['_getService'](_0x33c7bd)['addComment'](_0xd067fc,_0x3a743a,_0x4e2c04,_0x4271b8)['catch'](at),'updateComment':({channelId:_0x2bc7c8,threadId:_0x58df83,commentId:_0x204aeb,content:_0x3e14d7,attributes:_0x594d50})=>this['_getService'](_0x2bc7c8)['updateComment'](_0x58df83,_0x204aeb,_0x3e14d7,_0x594d50)['catch'](F)['catch'](at),'removeComment':({channelId:_0x40e172,threadId:_0x5d5453,commentId:_0x320411})=>this['_getService'](_0x40e172)['removeComment'](_0x5d5453,_0x320411)['catch'](F)['catch'](at)},_0x15158a instanceof _0x167299){const _0x34d4c2=_0x15158a['config']['get']('collaboration.channelId'),_0x20ae73=_0x15158a['plugins']['get'](i);await this['_setUpService'](_0x34d4c2);const _0x377b0e=await this['_services']['get'](_0x34d4c2)['getConnectedSessions']();this['listenTo'](_0x20ae73,'sessionAdd:'+_0x34d4c2,(_0x956113,{session:_0x46cb3d})=>{_0x46cb3d['id']===_0x20ae73['mySessionId']&&(_0x956113['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x46cb3d['permissions'],_0x34d4c2));}),_0x20ae73['register'](_0x34d4c2,_0x377b0e);}}async['_setUpService'](_0x69fdba){if(this['_services']['has'](_0x69fdba))throw new _0x21fa12('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x69fdba});const _0x23d09c=this['context']['plugins']['get']('CommentsRepository'),_0x517953=new s['CommentsService'](_0x69fdba);this['_services']['set'](_0x69fdba,_0x517953),this['listenTo'](_0x517953,'commentThreadAdded',(_0x3d98c1,_0x97ee56)=>{const {commentThreadId:_0x3647c8,documentId:_0x477e60,context:_0x47dfd8,attributes:_0x2495cf,resolvedAt:_0x372dc2,resolvedBy:_0x2cec50,comments:_0x3316c2}=_0x97ee56;_0x23d09c['getCommentThread'](_0x3647c8)||_0x23d09c['addCommentThread']({'threadId':_0x3647c8,'channelId':_0x477e60,'comments':_0x3316c2?_0x3316c2['map'](B):[],'context':_0x47dfd8,'attributes':_0x2495cf,'resolvedAt':_0x372dc2,'resolvedBy':_0x2cec50,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadUpdated',(_0x26c36c,{commentThreadId:_0x57f229,documentId:_0xa7c7a5,context:_0x19d467,unlinkedAt:_0x187b98,attributes:_0x442327})=>{_0x23d09c['getCommentThread'](_0x57f229)&&_0x23d09c['updateCommentThread']({'threadId':_0x57f229,'channelId':_0xa7c7a5,'context':_0x19d467,'unlinkedAt':_0x187b98,'attributes':_0x442327,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadResolved',(_0x5ac7a1,{commentThreadId:_0x436011,resolvedBy:_0x307e6b,resolvedAt:_0x554a5c})=>{const _0x49d22=_0x23d09c['getCommentThread'](_0x436011);_0x49d22&&_0x49d22['resolve']({'resolvedBy':_0x307e6b,'resolvedAt':_0x554a5c,'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadReopened',(_0x200a34,{commentThreadId:_0x5848e4})=>{const _0xcf1c4c=_0x23d09c['getCommentThread'](_0x5848e4);_0xcf1c4c&&_0xcf1c4c['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentThreadRemoved',(_0x1b0000,{commentThreadId:_0x25a845})=>{const _0x3f2e18=_0x23d09c['getCommentThread'](_0x25a845);_0x3f2e18&&_0x3f2e18['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentAdded',(_0x4119d8,_0x1e050c)=>{const _0x2a350e=_0x1e050c['commentThreadId'],_0x2e2fef=_0x23d09c['getCommentThread'](_0x2a350e);_0x2e2fef&&_0x2e2fef['addComment']({...B(_0x1e050c),'isFromAdapter':!0x0});}),this['listenTo'](_0x517953,'commentUpdated',(_0x5b8b3e,{commentThreadId:_0x1a4bcf,commentId:_0x51714b,content:_0x1ff93b,attributes:_0x5cc035})=>{const _0x374790=_0x23d09c['getCommentThread'](_0x1a4bcf);if(_0x374790){const _0x483523=_0x374790['getComment'](_0x51714b);_0x483523&&_0x483523['update']({'content':_0x1ff93b,'attributes':_0x5cc035,'isFromAdapter':!0x0});}}),this['listenTo'](_0x517953,'commentRemoved',(_0x498d80,{commentThreadId:_0xae34b4,commentId:_0x35483b})=>{const _0x393766=_0x23d09c['getCommentThread'](_0xae34b4);if(_0x393766){const _0xa5fa34=_0x393766['getComment'](_0x35483b);_0xa5fa34&&_0xa5fa34['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x69fdba);}['destroy'](){if(this['context']instanceof _0x167299){const _0x234caf=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x234caf);}}['_terminateService'](_0xebf08c){if(!this['_services']['has'](_0xebf08c))throw new _0x21fa12('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xebf08c});this['_getService'](_0xebf08c)['disconnect'](),this['_services']['delete'](_0xebf08c);}async['reconnect'](){for(const _0x47cd76 of this['_services']['keys']())await this['_connectService'](_0x47cd76);if(this['context']instanceof _0x167299){const _0x36348f=this['context']['config']['get']('collaboration.channelId'),_0x1747ab=this['context']['plugins']['get'](i);_0x1747ab['unregister'](_0x36348f);const _0x21090d=await this['_services']['get'](_0x36348f)['getConnectedSessions']();_0x1747ab['register'](_0x36348f,_0x21090d);}}async['_connectService'](_0x2497cc){const {connection:_0x1c7d6d}=this['context']['plugins']['get'](n),_0x5d39dd=this['context']['plugins']['get']('CommentsRepository'),_0x4fed55=this['_services']['get'](_0x2497cc),_0x28479d=await _0x4fed55['connect'](_0x1c7d6d);await this['_fetchMissingUsersForThreads'](_0x28479d);const _0x464472=new Set(Array['from'](_0x5d39dd['getCommentThreads']({'channelId':_0x2497cc}),_0x1c6d1f=>_0x1c6d1f['id']));for(const _0x8b5f0f of _0x28479d)_0x8b5f0f['deletedAt']||_0x464472['delete'](_0x8b5f0f['commentThreadId']);for(const _0x4bae4d of _0x464472)_0x5d39dd['getCommentThread'](_0x4bae4d)['remove']({'isFromAdapter':!0x0});for(const _0x548634 of _0x28479d){let _0x13ee4b=_0x5d39dd['getCommentThread'](_0x548634['commentThreadId']);const {commentThreadId:_0x2da3ba,context:_0x3fca79,attributes:_0x3ff786,resolvedBy:_0x262d1f,resolvedAt:_0x428511,unlinkedAt:_0x496e4a,deletedAt:_0x5bfc2f}=_0x548634;if(_0x5bfc2f)continue;_0x13ee4b||(_0x13ee4b=_0x5d39dd['addCommentThread']({'channelId':_0x2497cc,'threadId':_0x2da3ba,'context':_0x3fca79,'attributes':_0x3ff786||{},'resolvedBy':_0x262d1f,'resolvedAt':_0x428511,'unlinkedAt':_0x496e4a,'isFromAdapter':!0x0}));const _0x2734da=new Set(Array['from'](_0x13ee4b['comments'],_0x53e08f=>_0x53e08f['id']));for(const _0xca9ff6 of _0x548634['comments'])_0x2734da['delete'](_0xca9ff6['commentId']);for(const _0xfc0ff0 of _0x2734da)_0x13ee4b['getComment'](_0xfc0ff0)['remove']({'isFromAdapter':!0x0});for(const _0x25f95f of _0x548634['comments']){const _0x203e50=_0x13ee4b['getComment'](_0x25f95f['commentId']);_0x203e50?_0x203e50['content']!==_0x25f95f['content']&&_0x203e50['update']({'content':_0x25f95f['content'],'isFromAdapter':!0x0}):_0x13ee4b['addComment'](Object['assign'](B(_0x25f95f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x247d93){if(!this['_services']['has'](_0x247d93))throw new _0x21fa12('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x247d93});return this['_services']['get'](_0x247d93);}async['_fetchMissingUsersForThreads'](_0x1c716b){const _0x547b15=this['context']['plugins']['get'](_0x5926ab),{connection:_0x5e95fb}=this['context']['plugins']['get'](n),_0x2f4f35=new Set();for(const {resolvedBy:_0x4348ae,comments:_0x54d40d}of _0x1c716b){_0x4348ae&&!_0x547b15['getUser'](_0x4348ae)&&_0x2f4f35['add'](_0x4348ae);for(const {userId:_0x34fa53}of _0x54d40d)_0x547b15['getUser'](_0x34fa53)||_0x2f4f35['add'](_0x34fa53);}if(0x0===_0x2f4f35['size'])return;const _0x2c7b7a=await ct['getMany'](_0x5e95fb,Array['from'](_0x2f4f35));for(const _0x2f87ab of _0x2c7b7a)_0x547b15['getUser'](_0x2f87ab['id'])||_0x547b15['addUser'](_0x2f87ab);}}async function F(_0x3b9ec6){if('404'!==_0x3b9ec6['code'])throw _0x3b9ec6;}function at(_0x3c643b){if((_0x47c4eb=_0x3c643b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x47c4eb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x47c4eb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x47c4eb;throw _0x3c643b;}function B(_0x30a260){return{'threadId':_0x30a260['commentThreadId'],'commentId':_0x30a260['commentId'],'content':_0x30a260['content'],'createdAt':_0x30a260['createdAt'],'authorId':_0x30a260['userId'],'attributes':_0x30a260['attributes']||{}};}class m extends _0x4edcf1{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x21be87){super(_0x21be87);const _0x46bd14=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x46bd14);}['init'](){const _0x31e1d5=this['editor']['plugins']['get'](n),_0x3da68b=this['editor']['plugins']['get']('TrackChangesEditing');return _0x3da68b['adapter']={'getSuggestion':async _0x458f1d=>{await this['_waitForServiceReady']();const _0x7b01fb=await this['_trackChangesService']['get'](_0x458f1d)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x7b01fb]),_0x7b01fb;},'addSuggestion':async({id:_0x552738,type:_0x2afcad,data:_0x40cfb4,originalSuggestionId:_0x5abaf2,attributes:_0x1d3326})=>{await this['_waitForServiceReady']();const _0x4bbde8={'id':_0x552738,'type':_0x2afcad,'data':_0x40cfb4,'originalSuggestionId':_0x5abaf2,'attributes':_0x1d3326},_0x4c56cf=await this['_trackChangesService']['add'](_0x552738,_0x2afcad,_0x40cfb4,_0x5abaf2,_0x1d3326)['catch'](_0x2afe69=>{if(ht(_0x2afe69))return new Promise(_0x6ea133=>{this['_bufferedRequests']['set'](_0x552738,{'resolve':_0x6ea133,'suggestionData':_0x4bbde8});});throw _0x2afe69;});return this['_bufferedRequests']['delete'](_0x552738),_0x4c56cf;},'updateSuggestion':async(_0x18c55d,_0x54dd09)=>{if(await this['_waitForServiceReady'](),'open'!==_0x54dd09['state'])return this['_trackChangesService']['update'](_0x18c55d,_0x54dd09)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x308cb4,_0x5ebf56)=>{_0x3da68b['hasSuggestion'](_0x5ebf56['id'])&&(_0x3da68b['getSuggestion'](_0x5ebf56['id'])['attributes']=_0x5ebf56['attributes']);}),this['_trackChangesService']['connect'](_0x31e1d5['connection'])['then'](_0x5aca8b=>(_0x31e1d5['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5aca8b)['then'](()=>{for(const _0x4fb1b6 of _0x5aca8b){_0x3da68b['addSuggestionData'](_0x4fb1b6)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3906bf=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3011af}=this['editor']['plugins']['get'](n),_0x481ff3=await this['_trackChangesService']['connect'](_0x3011af);await this['_fetchMissingUsersForThreads'](_0x481ff3);for(const {suggestionData:_0x52b862,resolve:_0x517891}of this['_bufferedRequests']['values']()){let _0x445576=_0x481ff3['find'](_0x4e892c=>_0x4e892c['id']===_0x52b862['id']);_0x445576||(_0x445576=await this['_trackChangesService']['add'](_0x52b862['id'],_0x52b862['type'],_0x52b862['data'],_0x52b862['originalSuggestionId'])),_0x517891(_0x445576);}for(const _0x189312 of _0x481ff3)_0x3906bf['hasSuggestion'](_0x189312['id'])||_0x3906bf['addSuggestionData'](_0x189312);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x434f88=>{this['listenTo'](this['_trackChangesService'],'connected',_0x12182a=>{_0x12182a['off'](),_0x434f88();});});}async['_fetchMissingUsersForThreads'](_0x430404){const _0x1107f3=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x4b01d5}=this['editor']['plugins']['get'](n),_0x290635=new Set();for(const {authorId:_0x165ca7}of _0x430404)_0x1107f3['getUser'](_0x165ca7)||_0x290635['add'](_0x165ca7);if(0x0===_0x290635['size'])return;const _0x123396=await ct['getMany'](_0x4b01d5,Array['from'](_0x290635));for(const _0x144d70 of _0x123396)_0x1107f3['getUser'](_0x144d70['id'])||_0x1107f3['addUser'](_0x144d70);}}function k(_0x4b7804){if(ht(_0x4b7804))return new Promise(()=>{});throw _0x4b7804;}function ht(_0x14be09){return _0x14be09['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14be09['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4edcf1{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 _0x211781=this['editor']['plugins']['get'](n),_0x4e9aa5=this['editor']['plugins']['get']('CommentsEditing'),_0x26c129=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x211781,'change:state',(_0x9afa68,_0x45e548,_0x363acc)=>{_0x4e9aa5['isThreadsLoadingPaused']='connected'!==_0x363acc;});}),this['listenTo'](_0x211781,'change:state',(_0x3660d1,_0x215fea,_0xc3594a)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xc3594a);}),_0x26c129['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x4edcf1{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 _0x4edcf1{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x3326f7)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5926ab];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ba78b){super(_0x2ba78b);const _0x543687=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x543687);}async['init'](){const _0x4a09c5=this['editor']['plugins']['get'](l),_0x131234=_0x4a09c5['serverHistory'],_0x5ccaee=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x131234,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4a09c5['sessionId']});const _0x209f2e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xbe94b5=await _0x5a159d['isBundleUploaded'](_0x5ccaee['connection'],_0x209f2e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x5854f6})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5854f6)),'updateRevisions':async _0x3132e2=>{await this['_waitForServiceReady']();const _0x177f99=this['_revisionTracker']['currentRevision'];if(_0xbe94b5&&0x1===_0x3132e2['length']&&_0x3132e2[0x0]['id']===_0x177f99['id'])return _0x3132e2;for(const _0x2bfa24 of _0x3132e2)_0x2bfa24['id']===_0x177f99['id']&&(_0x2bfa24['isEmptyCurrent']=_0x2bfa24['fromVersion']===_0x2bfa24['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3132e2,this['_lastRequestId'])['then'](_0x45d3f3=>(this['_lastRequestId']=_0x45d3f3,_0x3132e2))['catch'](_0x23d63c=>{if(q(_0x23d63c)||'400'===_0x23d63c['code']&&void 0x0!==_0x23d63c['data']['wrongRequestId']){for(const _0x48617b of _0x3132e2){!this['_revisionTracker']['repository']['getRevision'](_0x48617b['id'])||this['_revisionTracker']['_bufferUpdate'](_0x48617b['id'],_0x48617b,!0x1);}if(q(_0x23d63c))throw _0x23d63c;return _0x3132e2;}throw _0x23d63c;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x53e0c4,{revisionsData:_0x5f4e08,requestId:_0x224148})=>{Math['max'](..._0x5f4e08['map'](_0x532d7d=>_0x532d7d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5f4e08,_0x224148);}):this['_handleRevisionsUpdate'](_0x5f4e08,_0x224148);});const {revisions:_0x5b37a5,requestId:_0x41ef82}=await this['_revisionHistoryService']['connect'](_0x5ccaee['connection']);_0x5ccaee['addToReconnectionStack'](this),this['_lastRequestId']=_0x41ef82,await this['_fetchMissingUsers'](_0x5b37a5);for(const _0x2229a0 of _0x5b37a5)this['_revisionTracker']['addRevisionData'](_0x2229a0);this['listenTo'](_0x4a09c5,'change:_isConnected',(_0x4dc574,_0x758de,_0x13cf65)=>{_0x13cf65&&(this['_oldOffset']=_0x4a09c5['_offset'],_0x4dc574['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5ccaee,'state',_0x526e64=>_0x526e64===_0x25a895['CONNECTED']);}async['reconnect'](){const _0x584681=this['editor']['plugins']['get'](n),_0x464cb2=this['editor']['plugins']['get'](l),_0x550ab8=async()=>{const _0x39d5bb=this['_revisionTracker']['currentRevision'],_0x38338e=_0x39d5bb['id'],_0xbd84dc=_0x38338e!==_0x464cb2['sessionId'];if(_0xbd84dc){const _0xaf0a89=_0x464cb2['_offset']-this['_oldOffset'],_0x2ec0b2=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x39d5bb['toVersion']+_0xaf0a89!==_0x2ec0b2){const _0x474fab=_0x39d5bb['fromVersion']+_0xaf0a89,_0x129f45=this['editor']['plugins']['get'](_0x5926ab),_0x7abba7=this['_revisionTracker']['buildRevisionData']({'revision':_0x39d5bb,'from':_0x474fab,'to':_0x2ec0b2});_0x7abba7['id']=_0x39d5bb['id'];const _0x2595b5=_0x7abba7['authorsIds']['map'](_0x5b835d=>_0x129f45['getUser'](_0x5b835d));_0x39d5bb['_update']({..._0x7abba7,'authors':_0x2595b5},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x39d5bb['id'],_0x7abba7,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2ec0b2,(_0x39d5bb['toVersion']===_0x39d5bb['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x38338e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x38338e),this['_revisionTracker']['_createCurrentRevision'](_0x2ec0b2));}const {revisions:_0x5c0984,requestId:_0x18c15e}=await this['_revisionHistoryService']['reconnect'](_0x584681['connection'],this['_lastRequestId']);_0xbd84dc&&_0x5c0984['length']>0x0?_0x464cb2['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5c0984),this['_handleRevisionsUpdate'](_0x5c0984,_0x18c15e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x464cb2['_isConnected']?_0x550ab8():new Promise((_0x466187,_0x572177)=>{_0x464cb2['once']('change:_isConnected',()=>{_0x550ab8()['then'](_0x466187)['catch'](_0x572177);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x427e79=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3ec9e5=>{_0x3ec9e5['off'](),_0x427e79();});});}['_getLatestVersionFromServerOperations'](){const _0x2e86a2=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1b5524 of _0x2e86a2)if('marker'!==_0x1b5524['type']||_0x1b5524['affectsData'])return _0x1b5524['baseVersion']+0x1;}['_getLatestVersion'](){const _0x37b1bf=this['editor']['plugins']['get'](l);return new Promise(_0x3be700=>{_0x37b1bf['_isPendingUpdate']?_0x37b1bf['once']('change:_isPendingUpdate',()=>{_0x3be700(this['_getLatestVersionFromServerOperations']());}):_0x3be700(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x50b058,_0x4d19aa){const _0xf349a7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x4d19aa;for(const _0xb13dd4 of _0x50b058){const _0x451096=_0xf349a7['getRevision'](_0xb13dd4['id']);if(_0x451096){if((_0xb13dd4['fromVersion']||_0xb13dd4['toVersion'])&&(_0xb13dd4['diffData']=null),_0x451096===this['_revisionTracker']['currentRevision']){const _0x449f77=Math['max'](_0x451096['toVersion'],_0xb13dd4['toVersion']),_0x163393=Math['max'](_0x451096['fromVersion'],_0xb13dd4['fromVersion']);let _0x2033c3;_0x451096['toVersion']===_0xb13dd4['toVersion']&&_0x451096['fromVersion']===_0xb13dd4['fromVersion']?(_0x2033c3=!0x0,this['_preventResendingRevisionData'](_0xb13dd4)):_0xb13dd4['toVersion']===_0x449f77&&_0xb13dd4['fromVersion']===_0x163393?_0x2033c3=!0x1:(_0x451096['toVersion']===_0x449f77&&_0x451096['fromVersion']===_0x163393||this['_fixRevision']({'revision':_0x451096,'from':_0x163393,'to':_0x449f77}),_0x2033c3=!0x0),_0x2033c3&&(delete _0xb13dd4['fromVersion'],delete _0xb13dd4['toVersion'],delete _0xb13dd4['diffData'],delete _0xb13dd4['createdAt'],delete _0xb13dd4['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xb13dd4),this['_preventResendingRevisionData'](_0xb13dd4);}else this['_revisionTracker']['addRevisionData'](_0xb13dd4);}const _0x435abd=_0xf349a7['getRevisions']();_0x435abd['reverse']();for(let _0x19a724=0x0;_0x19a724<_0x435abd['length']-0x1;_0x19a724++){const _0xe01e29=_0x435abd[_0x19a724],_0x2d58ae=_0x435abd[_0x19a724+0x1];if(_0xe01e29['fromVersion']<_0x2d58ae['toVersion']){const _0x1eae0b=_0x2d58ae['toVersion'],_0xc3d649=Math['max'](_0x1eae0b,_0xe01e29['toVersion']);this['_fixRevision']({'revision':_0xe01e29,'from':_0x1eae0b,'to':_0xc3d649});}}}['_fixRevision']({revision:_0x47f3d3,from:_0x322436,to:_0xa49cb}={}){const _0x32fc75=this['editor']['plugins']['get'](_0x5926ab),_0x13802f=this['_revisionTracker']['buildRevisionData']({'revision':_0x47f3d3,'from':_0x322436,'to':_0xa49cb});_0x13802f['authors']=_0x13802f['authorsIds']['map'](_0x51a2bb=>_0x32fc75['getUser'](_0x51a2bb)),_0x47f3d3['_update'](_0x13802f);}['_preventResendingRevisionData'](_0x390959){const _0x5f2bba={};_0x5f2bba['id']=_0x390959['id'];for(const _0x6d7eee of Object['keys'](_0x390959))'id'!==_0x6d7eee&&(_0x5f2bba[_0x6d7eee]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5f2bba['id'],_0x5f2bba,!0x0);}async['_fetchMissingUsers'](_0x3ab3bc){const _0x335e73=this['editor']['plugins']['get'](_0x5926ab),{connection:_0x3dc295}=this['editor']['plugins']['get'](n),_0x2f9ecb=new Set();for(const _0x166859 of _0x3ab3bc){for(const _0x3ca9a3 of _0x166859['authorsIds'])_0x28ce36(_0x3ca9a3);_0x166859['creatorId']&&_0x28ce36(_0x166859['creatorId']);}if(0x0===_0x2f9ecb['size'])return;const _0x20eaf8=await ct['getMany'](_0x3dc295,Array['from'](_0x2f9ecb));for(const _0x3d4347 of _0x20eaf8)_0x335e73['getUser'](_0x3d4347['id'])||_0x335e73['addUser'](_0x3d4347);function _0x28ce36(_0x540ecc){_0x335e73['getUser'](_0x540ecc)||_0x2f9ecb['add'](_0x540ecc);}}}function q(_0x16941b){return _0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16941b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x4edcf1{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x50a2fd{['_collapseAt'];constructor(_0x1e6981,_0x1b4311=0x6){super(_0x1e6981);const _0x32dfa8=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1b4311,this['bind']('isHidden')['to'](this,'usersCount',_0x13126b=>_0x13126b<_0x1b4311),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x32dfa8['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':_0x32dfa8['to']('usersCount',_0x310b89=>'+'+(_0x310b89-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x50a2fd{['items'];['keystrokes'];constructor(_0x2835c0){super(_0x2835c0);const _0x7956e1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4c3498(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x7956e1['if']('hasPopup'),'aria-expanded':_0x7956e1['to']('isExpanded',_0x2233be=>this['hasPopup']&&String(_0x2233be)),'aria-label':_0x7956e1['to']('hasPopup',_0x26e31d=>$(_0x2835c0,_0x26e31d?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x7956e1['to']('hasPopup',_0x5433a6=>!!_0x5433a6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x7956e1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x7956e1['to'](_0x2f8c33=>{const _0x5a84bb=_0x2f8c33,_0x2fdb7e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5ccab4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2fdb7e?.['contains'](_0x5a84bb['relatedTarget'])||_0x5ccab4?.['contains'](_0x5a84bb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x49ac52,_0x25dc70,_0x2d2327)=>{this['element']&&(_0x2d2327?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 v extends _0x50a2fd{['counterView'];['inlineListView'];constructor(_0x195f43,_0x1c1b59=0x6){super(_0x195f43);const _0x453ede=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x1c1b59),this['inlineListView']=new is(_0x195f43),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5e8945 of this['inlineListView']['items'])_0x5e8945['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',_0x453ede['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x50a2fd{['listWrapperView'];constructor(_0x30b77b,_0x44ad8b){super(_0x30b77b);const _0x1df705=this['bindTemplate'];this['listWrapperView']=new ut(_0x30b77b,_0x44ad8b),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':$(_0x30b77b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1df705['to'](_0x1d9408=>{const _0x2a071d=_0x1d9408,_0x49f0dc=document['querySelector']('.ck-presence-list__list'),_0x4fe392=document['querySelector']('.ck-balloon-panel_with-arrow');_0x49f0dc?.['contains'](_0x2a071d['relatedTarget'])||_0x4fe392?.['contains'](_0x2a071d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x47392b{constructor(_0x570402,_0xe5d62c){super(_0x570402);const _0x3432d7=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0xe5d62c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3432d7['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3432d7['to']('role'),'aria-label':_0x3432d7['to']('ariaLabel'),'aria-labelledby':_0x3432d7['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x274993['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x397587=this['element'];_0x397587&&(this['_isScrollable']=Math['max'](_0x397587['scrollHeight'],_0x397587['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3d7e6d,_0x102391,_0x39da59){super(_0x3d7e6d);const _0x49c0d8=this['bindTemplate'];this['userView']=new st(_0x3d7e6d,_0x102391);const _0x3b28f5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x102391['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x102391['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x102391['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x39da59&&(_0x3b28f5['tag']='button',_0x3b28f5['on']={'click':_0x49c0d8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b28f5);}['focus'](){this['element']['focus']();}}class A extends _0x50a2fd{['userView'];['markerView'];constructor(_0x5526a0,_0x4084b4,_0x4aa8e9){super(_0x5526a0);const _0x38cfff=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x5526a0,_0x4084b4),this['markerView']=new ot(_0x5526a0,_0x4084b4);const _0x5d2363=new it(_0x5526a0);_0x5d2363['template']['tag']='span',_0x5d2363['text']=_0x4084b4['name'];const _0x3394d0={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x38cfff['to']('isFocusable',_0x484afb=>!!_0x484afb&&0x0),'aria-labelledby':_0x5d2363['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x38cfff['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x38cfff['to']('hasTooltip',_0x482738=>!_0x482738),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5d2363]};_0x4aa8e9&&(_0x3394d0['tag']='button',_0x3394d0['on']={'click':_0x38cfff['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3394d0);}}class ot extends _0x50a2fd{constructor(_0x31040,_0x3d13c3){super(_0x31040),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3d13c3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xa0a9ec{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf7f044){super(_0xf7f044),this['context']['config']['define']('presenceList',x);const _0x338208=_0xf7f044['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x338208)throw new _0x21fa12('presencelist-collapseat-invalid-format',this);if(_0x338208<0x1)throw new _0x21fa12('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c863a(),this['balloonPanelView']=new _0x5b36ff(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x373793 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x373793);this['listenTo'](this['_allConnectedUsers'],'add',(_0x111b68,_0xdde041)=>{this['_handleUserAdd'](_0xdde041);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xcdad86,_0x43c20c)=>{this['_handleUserRemove'](_0x43c20c);});}['_createView'](){const _0x218b1c=this['context'],_0x110123=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x536e07=this['balloonPanelView'];if(!_0x1e73ad(_0x218b1c['config']['get']('presenceList.container')))throw new _0x21fa12('presencelist-missing-container',this);return _0x110123['counterView']['bind']('usersCount')['to'](this),_0x110123['bind']('isCollapsed')['to'](this,'usersCount',_0x3f2b4a=>{const {collapseAt:_0x3f5894}=_0x218b1c['config']['get']('presenceList'),_0x250eea=_0x3f2b4a>=_0x3f5894;if(_0x250eea&&!_0x110123['inlineListView']['items']['find'](_0x2ed3cd=>_0x2ed3cd instanceof b)){const _0x574cc2=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x574cc2&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x110123['inlineListView']['items']['add'](_0x110123['counterView']);}return _0x250eea||this['hideDropdown'](),_0x250eea;}),_0x110123['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x48612c=>{const _0x3f2c30=_0x218b1c['config']['get']('presenceList'),_0x79d2dd=new A(_0x218b1c['locale'],_0x48612c,!!_0x3f2c30['onClick']);return _0x79d2dd['bind']('hasTooltip')['to'](_0x110123,'isCollapsed',_0x90a234=>!_0x90a234),_0x79d2dd['bind']('isFocusable')['to'](_0x110123,'isCollapsed',_0x1ede3d=>!_0x1ede3d),_0x3f2c30['onClick']&&this['listenTo'](_0x79d2dd,'execute',()=>{this['view']['isCollapsed']||_0x3f2c30['onClick'](_0x48612c,_0x79d2dd['element']);}),_0x79d2dd;}),this['listenTo'](_0x110123['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x110123['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x110123['inlineListView']['keystrokes']['set']('Enter',(_0x3234d2,_0x2b34e4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2b34e4());}),_0x110123['render'](),_0x536e07['render'](),_0x2723a3({'emitter':_0x110123,'activator':()=>_0x536e07['isVisible'],'contextElements':[_0x536e07['element'],_0x110123['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x218b1c['config']['get']('presenceList.container')['appendChild'](_0x110123['element']),this['_bodyCollection']=new _0x5a4715(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x110123;}['_handleUserAdd'](_0x1e04f0){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1e04f0['isMe'])return;const _0x2a506f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a506f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2c9c1a=_0x1e04f0['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1e04f0,_0x2c9c1a);}['_handleUserRemove'](_0x57c6f0){this['usersCount']--;const {collapseAt:_0x228c65}=this['context']['config']['get']('presenceList'),_0x4fb1d8=this['usersCount']>=_0x228c65;if(this['currentDisplayedUsers']['get'](_0x57c6f0['id']))this['currentDisplayedUsers']['remove'](_0x57c6f0['id']);else{if(_0x4fb1d8&&this['currentDisplayedUsers']['length']+0x1===_0x228c65-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4fb1d8?0x1:0x0)<this['usersCount']){for(const _0x2ed4f3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2ed4f3['id'])&&(this['currentDisplayedUsers']['add'](_0x2ed4f3,Math['min'](this['currentDisplayedUsers']['length']-(_0x4fb1d8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4fb1d8?0x1:0x0)===_0x228c65-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4fc9df=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4fc9df['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x137cba}=this['presenceDropdownView'];_0x137cba['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x197fdd=>{if(!_0x4fc9df['displayMe']&&_0x197fdd['isMe'])return null;const _0x50a103=new j(this['context']['locale'],_0x197fdd,!!_0x4fc9df['onClick']);return _0x4fc9df['onClick']&&this['listenTo'](_0x50a103,'execute',()=>{_0x4fc9df['onClick'](_0x197fdd,_0x50a103['element']);}),_0x50a103;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x137cba['focus'](),_0x137cba['checkIfScrollable']();const _0xf7dbba=(_0x59247a,_0xa8d897)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xa8d897();};_0x137cba['keystrokes']['set']('Esc',_0xf7dbba),_0x137cba['keystrokes']['set']('Shift+Tab',_0xf7dbba),_0x137cba['keystrokes']['set']('Tab',(_0x29bcba,_0x39c2fd)=>{!function(_0x579ccf){const _0x579fa1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3f539e=>_0x3f539e+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5f56b9=[...document['body']['querySelectorAll'](_0x579fa1)]['filter'](_0x4e6734=>_0x4e6734===document['activeElement']||_0x4e6734['offsetWidth']+_0x4e6734['offsetHeight']>0x0)['sort']((_0x13e5ba,_0x2d6618)=>(_0x13e5ba['tabIndex']||0x0)-(_0x2d6618['tabIndex']||0x0)),_0x434140=_0x5f56b9['indexOf'](_0x579ccf),_0x723134=_0x5f56b9[(_0x434140+0x1)%_0x5f56b9['length']];_0x723134&&_0x723134['focus']();}(this['view']['element']),this['hideDropdown'](),_0x39c2fd();}),_0x137cba['focusTracker']['add'](this['view']['element']),_0x137cba['focusTracker']['on']('change:isFocused',(_0x3e4f1d,_0x2c4ed8,_0x294613)=>{_0x294613||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 ft extends _0xa0a9ec{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,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x34f6b7,Plugin as _0x4f70c8,PendingActions as _0x1c56c5,Context as _0x64503e}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4f9f74,CKEditorError as _0x1b863e,Collection as _0x500cda,global as _0x5b5001,version as nt,uid as _0x58108b,KeystrokeHandler as _0x490620}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5325f5,View as _0x4c7c82,ListView as _0x4e50d2,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x501a5c,clickOutsideHandler as _0xb632d8,BodyCollection as _0x262a4c}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x45431c,History as _0x2a2a2f,NoOperation as _0x524ede,InsertOperation as _0x5133d3,MarkerOperation as _0x5e6631,RootAttributeOperation as _0x742914,transformOperationSets as _0x1eddcf,OperationFactory as _0x4a12de}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x539b55,User as lt,CommentsService as _0x1be594,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x12033b,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xeae0b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x189cec}from'es-toolkit/compat';class n extends _0x34f6b7{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5325f5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x251b56){super(_0x251b56),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4f9f74())();}['init'](){const _0x2cd1cc=this['context'],_0x5c4914=_0x2cd1cc['plugins']['get']('CloudServices'),_0x594054=_0x2cd1cc['plugins']['get'](_0x5325f5);if(!_0x5c4914['token'])throw new _0x1b863e('websocketgateway-missing-token',this);if(!_0x5c4914['webSocketUrl'])throw new _0x1b863e('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'](_0x5c4914['token'],_0x5c4914['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x267462=>{if(this['connection']=_0x267462,this['bind']('state')['to'](_0x267462,'state',this,'_isBrowserOffline',(_0x55e67d,_0x44ece1)=>('connected'!==_0x55e67d&&(this['_shouldPluginsReconnect']=!0x0),_0x44ece1||_0x55e67d!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x38cd71,_0x6fca02)=>{if('limitExceeded'!==_0x6fca02['code'])throw console['error'](_0x6fca02),new _0x1b863e('cloudservices-init',null,{'originalError':_0x6fca02});_0x594054['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'});}),!_0x267462['me'])return new Promise(_0x580a9a=>_0x267462['on']('change:me',_0x580a9a));})['catch'](_0x350be0=>{throw console['error'](_0x350be0),new _0x1b863e('cloudservices-init',null,{'originalError':_0x350be0});});}['addToReconnectionStack'](_0x23b311){if('function'!=typeof _0x23b311['reconnect'])throw new _0x1b863e('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x23b311))throw new _0x1b863e('websocketgateway-plugin-already-registered',this,{'name':_0x23b311['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x23b311);}['removeFromReconnectionStack'](_0x22fcdd){this['_reconnectionStack']['delete'](_0x22fcdd);}['isInReconnectionStack'](_0x332dc8){return this['_reconnectionStack']['has'](_0x332dc8);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xf5b332=>_0xf5b332['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0xd67e5=>{throw console['error'](_0xd67e5),new _0x1b863e('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x34f6b7{['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,_0x12033b];}constructor(_0x2e1862){super(_0x2e1862),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x500cda(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x12033b);}['init'](){const _0x1a7628=this['context']['plugins']['get'](n);this['listenTo'](_0x1a7628,'change:state',(_0x593244,_0x520800,_0x791451)=>{if('connected'!==_0x791451)this['channelSessions']['forEach'](_0x25765f=>_0x25765f['clear']()),this['channelConnectedUsers']['forEach'](_0x4ef859=>_0x4ef859['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x16dc1f,_0x45b651]of this['_registeredSessions'])for(const _0x196ed5 of _0x45b651)this['_handleSessionAdd'](_0x16dc1f,_0x196ed5);}}),this['_createUser'](_0x1a7628['connection']['me'],!0x0);}['register'](_0x265b69,_0x3a3e8e){if(this['_registeredSessions']['has'](_0x265b69))throw new _0x1b863e('sessions-register-already-registered',null,{'channelId':_0x265b69});this['_registeredSessions']['set'](_0x265b69,_0x3a3e8e),this['channelSessions']['set'](_0x265b69,new _0x500cda()),this['channelConnectedUsers']['set'](_0x265b69,new _0x500cda()),this['listenTo'](_0x3a3e8e,'add',(_0x1f2300,_0x19c4d8)=>this['_handleSessionAdd'](_0x265b69,_0x19c4d8)),this['listenTo'](_0x3a3e8e,'remove',(_0x3df99c,_0x325cc8)=>this['_handleSessionRemove'](_0x265b69,_0x325cc8));for(const _0x54c929 of _0x3a3e8e)this['_handleSessionAdd'](_0x265b69,_0x54c929);}['unregister'](_0x270a57){if(!this['_registeredSessions']['has'](_0x270a57))throw new _0x1b863e('sessions-unregister-not-exist',null,{'channelId':_0x270a57});const _0x2d3cf6=this['_registeredSessions']['get'](_0x270a57);this['stopListening'](_0x2d3cf6);for(const _0x1fc81b of _0x2d3cf6)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x270a57,_0x1fc81b);this['_registeredSessions']['delete'](_0x270a57),this['channelSessions']['delete'](_0x270a57),this['channelConnectedUsers']['delete'](_0x270a57);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x36289c){for(const _0x333e9f of this['channelSessions']['values']())for(const _0x453e04 of _0x333e9f)if(_0x453e04['id']===_0x36289c)return _0x453e04['user'];}['getUserSessions'](_0x179e6b,_0x4dc16d){const _0x277012=_0x4dc16d?[this['channelSessions']['get'](_0x4dc16d)]:this['channelSessions']['values'](),_0x5e5a1d=new Set();for(const _0x451fed of _0x277012)for(const _0x2cfc3f of _0x451fed)_0x2cfc3f['user']['id']===_0x179e6b['id']&&_0x5e5a1d['add'](_0x2cfc3f['id']);return _0x5e5a1d;}['getUserRole'](_0x228fad){for(const _0x5629dd of this['channelSessions']['values']())for(const _0x57616d of _0x5629dd)if(_0x57616d['user']===_0x228fad)return _0x57616d['role'];}['_handleSessionAdd'](_0x21fd22,_0x14ee31){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x34a8b2=_0x14ee31['user'],_0x367a46=this['_users']['getUser'](_0x34a8b2['id'])||this['_createUser'](_0x34a8b2),_0xaa36a6=Object['assign']({},_0x14ee31,{'user':_0x367a46});this['channelSessions']['get'](_0x21fd22)['add'](_0xaa36a6);const _0x457c29=this['channelConnectedUsers']['get'](_0x21fd22);_0x457c29['has'](_0x367a46['id'])||_0x457c29['add'](_0x367a46),this['allConnectedUsers']['has'](_0x367a46['id'])||this['allConnectedUsers']['add'](_0x367a46,_0x367a46['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x21fd22,{'channelId':_0x21fd22,'session':_0xaa36a6});}['_handleSessionRemove'](_0x1b37d4,_0x44e4b7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x28f5bd=this['channelConnectedUsers']['get'](_0x1b37d4),_0x513cb0=_0x44e4b7['user'];_0x513cb0['id']&&(this['channelSessions']['get'](_0x1b37d4)['remove'](_0x44e4b7['id']),_0x28f5bd['has'](_0x513cb0['id'])&&!this['getUserSessions'](_0x513cb0,_0x1b37d4)['size']&&_0x28f5bd['remove'](_0x513cb0['id']),this['allConnectedUsers']['get'](_0x513cb0['id'])&&!this['getUserSessions'](_0x513cb0)['size']&&this['allConnectedUsers']['remove'](_0x513cb0['id']));}['_createUser'](_0xede6,_0x3ebb1f){const _0x4a3c14=this['_users']['addUser'](_0xede6);return _0x3ebb1f&&this['_users']['defineMe'](_0xede6['id']),_0x4a3c14['orderNumber']=this['_uniqueUsersCount']++,_0x4a3c14;}}class H extends _0x4f70c8{['_domEmitter']=new(_0x4f9f74())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5e2b0e=this['editor'],_0x55b1f0=_0x5e2b0e['plugins']['get'](i);_0x5e2b0e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x287b91,{writer:_0x1c94e9})=>function(_0x2105c8,_0x1106eb,_0x4c13bb,_0x2d25e9){const _0x4b3069=_0x2105c8['markerName']['split'](':')[0x2],_0x12c991=_0x4c13bb['getUserBySessionId'](_0x4b3069);if(!_0x12c991||_0x4b3069===_0x4c13bb['mySessionId'])return;if(!_0x2d25e9['model']['schema']['checkChild'](_0x2105c8['markerRange']['start'],'$text'))return;const _0x5c0f49={'class':'ck-user__marker\x20'+_0x12c991['color']['getMarkerClass'](),'data-name':_0x12c991['name'],'data-session-id':_0x4b3069},_0x223ee3=_0x2d25e9['model']['markers']['get'](_0x2105c8['markerName']),_0x9e83a5=_0x223ee3['getStart'](),_0x18cc87=_0x9e83a5['nodeAfter'],_0xc9c9c2=_0x2d25e9['model']['schema'];if(_0x18cc87&&_0xc9c9c2['isObject'](_0x18cc87)&&_0xc9c9c2['isInline'](_0x18cc87)&&!_0x2d25e9['model']['markers']['get']('user:range:'+_0x4b3069)['getRange']()['isCollapsed'])return;const _0x4bff40=_0x9e83a5['parent'];return _0x2d25e9['model']['schema']['isLimit'](_0x4bff40)&&!_0x2d25e9['model']['hasContent'](_0x4bff40)&&(_0x5c0f49['contenteditable']=!0x1),function(_0x2f4588,_0x4bd5d5,_0x3be432){const _0x1f3c1b=_0x2f4588['createUIElement']('span',_0x4bd5d5);return _0x2f4588['setCustomProperty']('userPositionMarker',!0x0,_0x1f3c1b),_0x1f3c1b['render']=function(_0x320c9d){const _0x6f4086=this['toDomElement'](_0x320c9d),_0x49996b=document['createElement']('span');return _0x49996b['classList']['add']('ck-user__marker-tooltip'),_0x49996b['setAttribute']('contenteditable','false'),_0x49996b['setAttribute']('spellcheck','false'),_0x49996b['textContent']=_0x3be432['name'],_0x6f4086['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x49996b['outerHTML']+'⁠',_0x6f4086['addEventListener']('mouseenter',()=>{_0x6f4086['classList']['add']('ck-user__marker_hovered');}),_0x6f4086['addEventListener']('mouseleave',()=>{_0x6f4086['classList']['remove']('ck-user__marker_hovered');}),_0x6f4086;},_0x1f3c1b['isSimilar']=function(_0x32b524){return!(!this['getCustomProperty']('userPositionMarker')||!_0x32b524['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x32b524['getAttribute']('data-session-id'));},_0x1f3c1b;}(_0x1106eb,_0x5c0f49,_0x12c991);}(_0x287b91,_0x1c94e9,_0x55b1f0,_0x5e2b0e)}),_0x5e2b0e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x270ccc=>function(_0x5eadaf,_0x522f40){const _0x553cb0=_0x5eadaf['markerName']['split'](':')[0x2];if(_0x553cb0===_0x522f40['mySessionId'])return null;const _0x4756db=_0x522f40['getUserBySessionId'](_0x553cb0);if(!_0x4756db)return{'id':_0x553cb0,'classes':[]};return{'id':_0x553cb0,'classes':['ck-user__selection',_0x4756db['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x553cb0},'priority':0x7d0+_0x4756db['orderNumber']};}(_0x270ccc,_0x55b1f0)}),function(_0x4c3137){const _0x226d45=_0x4c3137['model'],_0xab0419=new Map(),_0x4ae566=_0x4c3137['plugins']['get'](i);_0x226d45['markers']['on']('update:user:range',(_0x334091,_0x5e376e,_0x475a2e,_0x2aacd9)=>{if(!_0x2aacd9&&_0xab0419['get'](_0x5e376e['name']))return _0xab0419['get'](_0x5e376e['name'])['detach'](),void _0xab0419['delete'](_0x5e376e['name']);const _0x17667b=_0x5e376e['name']['split'](':')[0x2];if(_0x17667b===_0x4ae566['mySessionId'])return;const _0x495c0e='user:position:'+_0x17667b;_0x226d45['markers']['has'](_0x495c0e)&&_0x4c3137['editing']['reconvertMarker'](_0x495c0e),_0x5e376e['on']('change:range',(_0x562858,_0x5c2ddd,_0x5445cb)=>{if('$graveyard'!=_0x5c2ddd['root']['rootName']&&'$graveyard'==_0x5e376e['getRange']()['root']['rootName']&&!_0xab0419['has'](_0x5e376e['name'])){const _0x5bf7cb=_0x226d45['schema']['getNearestSelectionRange'](_0x5445cb['deletionPosition']);if(_0x5bf7cb){const _0x5f1eb5=_0x45431c['fromRange'](_0x5bf7cb);_0xab0419['set'](_0x5e376e['name'],_0x5f1eb5),_0x5f1eb5['on']('change:range',(_0x22f635,_0x164e74,_0x575a9f)=>{if('$graveyard'==_0x5f1eb5['root']['rootName']){const _0x13d839=_0x226d45['schema']['getNearestSelectionRange'](_0x575a9f['deletionPosition']);_0x13d839?(_0x5f1eb5['start']=_0x13d839['start'],_0x5f1eb5['end']=_0x13d839['end']):(_0xab0419['delete'](_0x5e376e['name']),_0x5f1eb5['detach']());}});}}});}),_0x226d45['document']['on']('change',()=>{_0xab0419['size']>0x0&&_0x226d45['enqueueChange']({'isUndoable':!0x1},_0xe161f4=>{for(const [_0x55bc4b,_0x1ceed7]of _0xab0419)'$graveyard'==_0x226d45['markers']['get'](_0x55bc4b)['getRange']()['root']['rootName']&&(Z(_0x55bc4b['split'](':')[0x2],_0x1ceed7['toRange'](),_0x226d45,_0xe161f4),_0x1ceed7['detach']());_0xab0419['clear']();});});}(_0x5e2b0e),this['_domEmitter']['listenTo'](_0x5b5001['document'],'keydown',(_0x40ae2f,{key:_0x4323a2})=>{'Escape'===_0x4323a2&&function(_0x4c9948){_0x4c9948['editing']['view']['change'](_0x384bf0=>{for(const _0x4ea4bb of _0x4c9948['model']['markers']){if(!_0x4ea4bb['name']['startsWith']('user:position'))continue;const _0x175e46=_0x4c9948['editing']['mapper']['markerNameToElements'](_0x4ea4bb['name']);if(_0x175e46){for(const _0x27aa8a of _0x175e46)_0x384bf0['removeClass']('ck-user__marker_hovered',_0x27aa8a);}}});}(_0x5e2b0e);},{'useCapture':!0x0});}['afterInit'](){const _0x1e3955=this['editor'],_0x549ab9=_0x1e3955['commands']['get']('undo');_0x549ab9&&_0x1e3955['model']['on']('applyOperation',(_0x525341,_0x1daab6)=>{const _0x38d55c=_0x1daab6[0x0];if(!_0x38d55c['isDocumentOperation'])return;if('marker'!=_0x38d55c['type']||!_0x38d55c['name']['startsWith']('user:'))return;const _0x5bd792=_0x38d55c['batch'];_0x549ab9['_createdBatches']['has'](_0x5bd792)&&(_0x38d55c['newRange']=_0x38d55c['oldRange']?_0x1e3955['model']['createRange'](_0x38d55c['oldRange']['start'],_0x38d55c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1cd4ae=this['editor'],_0x50ccb4=_0x1cd4ae['model']['document'],_0x171580=_0x1cd4ae['plugins']['get'](i);_0x1cd4ae['model']['enqueueChange']({'isUndoable':!0x1},_0x4b73e0=>{const _0xb29e8e='user:range:'+_0x171580['mySessionId'],_0x365436='user:position:'+_0x171580['mySessionId'],_0x307c5a=_0x1cd4ae['model']['markers']['has'](_0xb29e8e);_0x1cd4ae['editing']['view']['hasDomSelection']?Z(_0x171580['mySessionId'],_0x50ccb4['selection']['getFirstRange'](),_0x1cd4ae['model'],_0x4b73e0):_0x307c5a&&(_0x4b73e0['removeMarker'](_0xb29e8e),_0x4b73e0['removeMarker'](_0x365436));});}}function Z(_0x5495a9,_0x3cc9a7,_0x381da6,_0x40ff9a){const _0x1deff2='user:range:'+_0x5495a9,_0x4331bd='user:position:'+_0x5495a9,_0x3c7c85=_0x3cc9a7['getContainedElement']();let _0x5766f1=_0x3cc9a7['start'];if(_0x3c7c85&&_0x3c7c85['is']('element','tableCell')){const _0x5169b0=function(_0x3321f7,_0x544f41){for(const _0x2b3cf4 of _0x3321f7['getPositions']())if(_0x544f41['schema']['checkChild'](_0x2b3cf4,'$text'))return _0x2b3cf4;}(_0x3cc9a7,_0x381da6);_0x5169b0&&(_0x5766f1=_0x5169b0,_0x3cc9a7=_0x40ff9a['createRange'](_0x5766f1));}const _0xcaf135=_0x40ff9a['createRange'](_0x5766f1);_0x381da6['markers']['has'](_0x1deff2)?(_0x40ff9a['updateMarker'](_0x1deff2,{'range':_0x3cc9a7}),_0x40ff9a['updateMarker'](_0x4331bd,{'range':_0xcaf135})):(_0x40ff9a['addMarker'](_0x1deff2,{'range':_0x3cc9a7,'usingOperation':!0x0}),_0x40ff9a['addMarker'](_0x4331bd,{'range':_0xcaf135,'usingOperation':!0x0}));}function V(_0xdda00b,_0x3456e1,_0x2e06f2){const _0x46c17c=_0xdda00b['t'],t=_0xdda00b['t'];switch(_0x3456e1){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 _0x46c17c({'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'},_0x2e06f2);default:return'';}}let G=0x1;class l extends _0x4f70c8{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x539b55)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x1c56c5,_0x12033b,_0x5325f5];}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 _0x4a3aa1=this['serverHistory']['getOperations']();for(let _0x5950b6=_0x4a3aa1['length']-0x1;_0x5950b6>=0x0;_0x5950b6--){const _0xc60892=_0x4a3aa1[_0x5950b6];if(!this['_disconnectionOperations']['has'](_0xc60892))return _0xc60892['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xd8641a){if(super(_0xd8641a),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2a2a2f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1b863e('collaboration-missing-channelid',this);const _0x21da09=_0xd8641a['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x21da09,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xeae0b(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x2d59e4=this['editor'],_0x1aa3e1=_0x2d59e4['plugins']['get'](_0x12033b),_0x44aff0=_0x2d59e4['plugins']['get'](n);this['listenTo'](_0x1aa3e1,'getOperationAuthor',(_0xad1ee7,_0x2e0a36)=>{const _0x28dd8b=_0x2e0a36[0x0];_0x28dd8b['_authorId']&&(_0xad1ee7['return']=_0x1aa3e1['getUser'](_0x28dd8b['_authorId']),_0xad1ee7['stop']()),null===_0x28dd8b['_authorId']&&(_0xad1ee7['return']=null,_0xad1ee7['stop']());},{'priority':'high'}),this['listenTo'](_0x2d59e4['model']['document']['selection'],'change:range',(_0x3641b1,_0x1590a6)=>{_0x1590a6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2d59e4['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2d59e4['model']['on']('applyOperation',(_0xcf763e,_0x50963a)=>{const _0x566ff9=_0x50963a[0x0];_0x566ff9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x566ff9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x44aff0,'state',this,'_hasSynchronizationProblem',(_0x12d39a,_0x4bbe56)=>'connected'===_0x12d39a&&!_0x4bbe56),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2d59e4['disableReadOnlyMode']('rtc-offline'):_0x2d59e4['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2d59e4['disableReadOnlyMode']('rtc-offline'):_0x2d59e4['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x42bb64=this['editor']['plugins']['get'](i),_0x531e16=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x42bb64['unregister'](this['_channelId']);const _0x59f538=await this['_service']['reconnect'](_0x531e16['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x59f538)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x40dc36=await this['_service']['getConnectedSessions']();_0x42bb64['register'](this['_channelId'],_0x40dc36),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1dba84){if(function(_0x32f22e){return'404'===_0x32f22e['code'];}(_0x1dba84)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x520cf3){return'409'===_0x520cf3['code'];}(_0x1dba84)){const _0x429af4=V(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'](_0x429af4);}else{if(!(_0x1dba84 instanceof $))throw _0x1dba84;this['_handleReconnectionError']();}}}}['destroy'](){const _0x202e09=this['editor']['plugins']['get'](n),_0x43e7b3=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x43e7b3['channelSessions']['has'](this['_channelId'])&&_0x43e7b3['unregister'](this['_channelId']),_0x202e09['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb072e1){if(this['sessionId']!==_0xb072e1['sessionId']&&this['_lastSyncedOperationId']!==_0xb072e1['lastOperationId'])throw new $();return this['sessionId']=_0xb072e1['sessionId'],this['_handleServerResponse']([],{..._0xb072e1,'wereChangesApplied':!0x1,'data':_0xb072e1['data']},'reconnect');}async['_connectService'](_0x2806a3,_0x7b4239=!0x1){const {connection:_0x5eb67f}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x5eb67f,this['_channelId'])['then'](_0x524a5b=>this['_initSessionsHandling'](_0x524a5b))['catch'](_0x3ec87c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3ec87c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5e43ce,_0x5b70da)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5b70da);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x35d078=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2806a3);this['_isPendingUpdate']=!0x0;const _0x2a5928=await this['_service']['connect'](_0x5eb67f,this['_compressOperations'](_0x2806a3),_0x35d078);if(this['sessionId']=_0x2a5928['sessionId'],_0x7b4239){if(!_0x2a5928['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2a5928['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2806a3,_0x2a5928,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2a5928,_0x2806a3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x93c3a7=this['editor']['plugins']['get'](i),_0xbce21a=this['editor']['plugins']['get'](H),_0x101378=_0x93c3a7['channelSessions']['get'](this['_channelId']);_0x101378&&_0x101378['length']>0x1?_0xbce21a['createUserMarkerOperations']():this['listenTo'](_0x93c3a7,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x93c3a7['channelSessions']['get'](this['_channelId'])['length']&&_0xbce21a['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x1fe283,_0x35363a,_0x343720,_0x2c876e){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x35363a){const _0x441c4a=this['_decompressOperations'](_0x343720,_0x2c876e);await this['_fetchMissingUsers'](_0x441c4a),this['_handleExternalOperations'](_0x441c4a,_0x35363a,_0x343720['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x35e80a}=this['editor'];let _0x161ed5;try{_0x161ed5=await this['_service']['getDocumentDetails']();}catch{const _0x25fe82=V(_0x35e80a,'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'](_0x25fe82);}const _0x330345=_0x161ed5['currentDocumentSession']||_0x161ed5['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x330345['lastOperationId']){const _0x373d24=V(_0x35e80a,'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'](_0x373d24);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x24df5e){const _0x4b5394=this['editor']['plugins']['get'](i);this['listenTo'](_0x4b5394,'sessionAdd:'+this['_channelId'],(_0x494e8b,{session:_0x25c386})=>{if(_0x25c386['id']===_0x4b5394['mySessionId']){_0x494e8b['off']();const _0x2a66ea=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x181b54=_0x25c386['permissions'];_0x2a66ea&&_0x2a66ea['isEnabled']&&(_0x181b54=_0x181b54['filter'](_0xd050a4=>'document:write'!==_0xd050a4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x181b54,this['_channelId']);}}),_0x4b5394['register'](this['_channelId'],_0x24df5e);}['_initThrowingOnDataSet'](){const _0x4cc445=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x56e778)=>{if(!_0x56e778[_0x56e778['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1b863e('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x4cc445['apply'](this['editor']['data'],_0x56e778);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4bac33,[_0x1c07fb])=>{if(this['_document']['version'])throw new _0x1b863e('realtimecollaborationclient-init-document-already-initialized',this);_0x4bac33['stop'](),this['_setPendingAction']();const _0x209386=this['editor']['config']['get']('rootsAttributes'),_0x507006=this['_getOperationsFromInitData'](_0x1c07fb,_0x209386);0x0==_0x507006['length']&&_0x507006['push'](new _0x524ede(0x0)),_0x4bac33['return']=this['_connectService'](_0x507006)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5a8054=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5a8054))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x497f1c,[_0x352163,_0x208f25])=>{_0x497f1c['stop']();const _0x20b87f=this['editor']['model']['document']['getRoot'](_0x352163);if(!this['_knownRootNames']['has'](_0x352163)){const _0x3ec045=_0x208f25&&_0x208f25['data']?_0x208f25['data']:'',_0x403006=_0x208f25&&_0x208f25['attributes']?_0x208f25['attributes']:{};await this['_loadRoot'](_0x352163,_0x3ec045,_0x403006);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x20b87f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x20b87f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5bc48c){const _0x52b18b=this['editor']['plugins']['get'](_0x12033b),{connection:_0x714c16}=this['editor']['plugins']['get'](n),_0x62ae5e=new Set();for(const _0x3e2415 of _0x5bc48c){const _0x3a9475=_0x3e2415['_authorId'];_0x3a9475&&!_0x52b18b['getUser'](_0x3a9475)&&_0x62ae5e['add'](_0x3a9475);}if(0x0===_0x62ae5e['size'])return;const _0x40cb84=await lt['getMany'](_0x714c16,Array['from'](_0x62ae5e));for(const _0x28dffc of _0x40cb84)_0x52b18b['getUser'](_0x28dffc['id'])||_0x52b18b['addUser'](_0x28dffc);}['_getOperationsFromInitData'](_0x5982e2,_0x4801dc={}){const _0x2f28b4=this['editor']['model'],_0x538cb7=[];let _0x1b3c71=0x0;const _0x4f0f5a='string'==typeof _0x5982e2?{'main':_0x5982e2}:_0x5982e2;for(const _0x571550 of Object['keys'](_0x4f0f5a)){if(!this['_document']['roots']['has'](_0x571550))throw new _0x1b863e('realtimecollaborationclient-init-non-existent-root',this);const _0x4d63a1=this['editor']['data']['parse'](_0x4f0f5a[_0x571550]),_0x490279=this['_document']['getRoot'](_0x571550),_0x1398e6=new _0x5133d3(_0x2f28b4['createPositionAt'](_0x490279,0x0),_0x4d63a1,_0x1b3c71++);_0x538cb7['push'](_0x1398e6);for(const [_0x2789c0,_0x570a54]of _0x4d63a1['markers']){const _0x241243=_0x2f28b4['createRange'](_0x2f28b4['createPositionFromPath'](_0x490279,_0x570a54['start']['path']['slice']()),_0x2f28b4['createPositionFromPath'](_0x490279,_0x570a54['end']['path']['slice']())),_0x30fc9b=new _0x5e6631(_0x2789c0,null,_0x241243,_0x2f28b4['markers'],!0x0,_0x1b3c71++);_0x538cb7['push'](_0x30fc9b);}}if(_0x4801dc)for(const [_0x1172e7,_0x4d67c4]of Object['entries'](_0x4801dc)){const _0x4ef2ea=_0x2f28b4['document']['getRoot'](_0x1172e7);if(!_0x4ef2ea)throw new _0x1b863e('multi-root-editor-root-attributes-no-root',null);for(const [_0x2eed80,_0x23bbad]of Object['entries'](_0x4d67c4))if(null!==_0x23bbad){const _0x4536e9=new _0x742914(_0x4ef2ea,_0x2eed80,null,_0x23bbad,_0x1b3c71++);_0x538cb7['push'](_0x4536e9);}}return _0x538cb7;}async['_loadRoot'](_0x2db01a,_0x462e06,_0x12b71f){this['_getOperationsFromInitData']({[_0x2db01a]:_0x462e06},{[_0x2db01a]:_0x12b71f})['forEach']((_0x2dd573,_0x42c18a)=>{_0x2dd573['baseVersion']=this['_document']['version']+_0x42c18a,_0x2dd573['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2dd573);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2467b2,_0x396d17){let _0x1b91da;this['_offset']=_0x2467b2['offset'];const _0x5d98fe=_0x2467b2['wereChangesApplied']&&!_0x2467b2['initData'],_0x3313ca=_0x5d98fe?0x0:_0x2467b2['data']['baseVersion'];if(_0x396d17['forEach'](_0x50543c=>{_0x50543c['_isInit']=!0x0,_0x50543c['createdAt']=_0x2467b2['sessionCreatedAt'],_0x50543c['_authorId']=null;}),_0x5d98fe)_0x1b91da=_0x396d17,this['_applyOperationsSet'](_0x1b91da,_0x5d98fe);else{if(_0x2467b2['initData']){const _0x2fd6d5=this['_getOperationsFromInitData'](_0x2467b2['initData']);this['_document']['history']['version']=-_0x2fd6d5['length'],_0x2fd6d5['forEach'](_0x5d7344=>{_0x5d7344['baseVersion']-=_0x2fd6d5['length'],_0x5d7344['createdAt']=_0x2467b2['sessionCreatedAt'],_0x5d7344['_isInit']=!0x0,_0x5d7344['_authorId']=null;}),this['_applyOperationsSet'](_0x2fd6d5,!0x0),this['serverHistory']['version']=-_0x2fd6d5['length']+this['_offset'],this['_updateServerHistory'](_0x2fd6d5);}this['_document']['history']['version']=_0x3313ca,_0x1b91da=this['_decompressOperations'](_0x2467b2['data'],_0x2467b2['metadata']),await this['_fetchMissingUsers'](_0x1b91da),this['_applyOperationsSet'](_0x1b91da,_0x5d98fe);}_0x2467b2['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b91da,_0x2467b2['lastOperationId']),this['_lastSyncedOperationId']=_0x2467b2['lastOperationId']),this['serverHistory']['version']=_0x3313ca+this['_offset'],this['_updateServerHistory'](_0x1b91da),_0x396d17['filter'](_0x4130bc=>{const _0x1290ba=this['_getAffectedRoot'](_0x4130bc);return _0x1290ba&&!this['_knownRootNames']['has'](_0x1290ba);})['forEach']((_0x2e47db,_0x72ff4c)=>{_0x2e47db['baseVersion']=this['_document']['version']+_0x72ff4c,this['_saveOperationInBuffer'](_0x2e47db);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2c00d7,_0x59e223){const _0x27f443=_0x59e223&&_0x59e223['message'];if(_0x27f443&&_0x27f443['startsWith']('realtimecollaborationclient'))throw _0x59e223;const _0x2f740c=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2f740c['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1b863e(_0x2c00d7,this['editor'],_0x27f443?{'originalError':_0x27f443}:void 0x0);}['_saveOperationInBuffer'](_0x451d62){this['_knownOperations']['has'](_0x451d62)||(this['_knownOperations']['add'](_0x451d62),this['_bufferedOperations']['push'](_0x451d62),this['_pendingAction']||'marker'==_0x451d62['type']&&!_0x451d62['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xcfab30=!0x1){!_0xcfab30&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3d27d8=>{_0x3d27d8&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0xcf19d6=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x33138e){return _0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x33138e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0xcf19d6)||this['_crash'](_0xcf19d6['message'],_0xcf19d6);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x5b3033=>{this['on']('change:_isPendingUpdate',()=>{_0x5b3033();});});}async['_sendBufferedOperations'](){const _0xd2c265=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0xd2c265['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5fbae8=[...this['_bufferedOperations']];for(const _0x2905ba of _0x5fbae8)_0x2905ba['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2905ba);const _0x167ece=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5fbae8),_0x20aee8=G++,_0x2d5d34=this['_compressOperations'](_0x5fbae8),_0x4b6951=await this['_service']['sendOperations'](_0x2d5d34,_0x2d5d34['baseVersion'],_0x167ece);try{return await this['_handleServerResponse'](_0x5fbae8,_0x4b6951,_0x20aee8);}catch(_0x21a135){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x21a135);}}async['_handleServerResponse'](_0x23e094,_0x5dd43f,_0x32e3af){if('error'in _0x5dd43f)throw _0x5dd43f['error'];let _0x5a5dec=!0x1;if(_0x5dd43f['wereChangesApplied']){_0x5dd43f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5dd43f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x330387=>!_0x23e094['includes'](_0x330387));for(const _0x36dea9 of _0x23e094)_0x36dea9['createdAt']='lastOperationAcceptedAt'in _0x5dd43f&&_0x5dd43f['lastOperationAcceptedAt']||void 0x0;K(_0x23e094,_0x5dd43f['version']-_0x23e094['length']),this['_updateServerHistory'](_0x23e094);const _0x164ed1=_0x23e094['filter'](_0x1466d6=>{if(!_0x1466d6['_isInit'])return!0x1;const _0x26fa6b=this['_getAffectedRoot'](_0x1466d6);return _0x26fa6b&&!this['_knownRootNames']['has'](_0x26fa6b);});K(_0x164ed1,this['_document']['version']),this['_applyOperationsSet'](_0x164ed1),_0x5a5dec=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x59c500=this['_decompressOperations'](_0x5dd43f['data'],_0x5dd43f['metadata'])['filter'](_0x5e1e89=>_0x5e1e89['baseVersion']>=this['_lastServerVersion']);_0x59c500['forEach'](_0x1a4d95=>this['_addKnownRoot'](_0x1a4d95)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x36da97=>!_0x36da97['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x36da97))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x59c500),_0x5a5dec=this['_handleExternalOperations'](_0x59c500,_0x5dd43f['version'],_0x5dd43f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x5a5dec?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xe4cabf,_0x519eae,_0x361556){try{const _0x3b6aaa={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2e1308,operationsB:_0xbc4622,originalOperations:_0x45ce1d}=_0x1eddcf(_0xe4cabf,this['_bufferedOperations'],_0x3b6aaa);K(_0x2e1308,this['_document']['version']),K(_0xbc4622,_0x519eae);for(const _0x122d24 of _0x2e1308){const _0x4ae42f=_0x45ce1d['get'](_0x122d24);_0x122d24['_authorId']=_0x4ae42f?_0x4ae42f['_authorId']:null;}_0x361556&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xe4cabf,_0x361556),this['_lastSyncedOperationId']=_0x361556),this['_bufferedOperations']=[..._0xbc4622],this['_applyOperationsSet'](_0x2e1308),this['_updateServerHistory'](_0xe4cabf);}catch(_0x45e126){return console['error'](_0x45e126),!0x1;}return!0x0;}['_applyOperationsSet'](_0x168dd1,_0x470667=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x27c141=>{for(const _0x2d7a5e of _0x168dd1)this['_knownOperations']['add'](_0x2d7a5e),this['_addKnownRoot'](_0x2d7a5e),_0x27c141['batch']['addOperation'](_0x2d7a5e),this['editor']['model']['applyOperation'](_0x2d7a5e);});}['_addKnownRoot'](_0x3784d1){const _0x5d23ad=this['_getAffectedRoot'](_0x3784d1);_0x5d23ad&&this['_knownRootNames']['add'](_0x5d23ad);}['_getAffectedRoot'](_0xd45886){let _0x37a050,_0x27ad86;switch(_0xd45886['type']){case'insert':_0x37a050=_0xd45886['position']['root'];break;case'marker':if(_0x27ad86=_0xd45886['newRange'],!_0x27ad86)return null;_0x37a050=_0x27ad86['root'];break;case'addRootAttribute':_0x37a050=_0xd45886['root'];break;case'addRoot':_0x37a050=_0xd45886['affectedSelectable'];break;case'move':_0x37a050=_0xd45886['targetPosition']['root'];break;default:return null;}return _0x37a050['rootName'];}['_updateServerHistory'](_0x1ba9d3){_0x1ba9d3['forEach'](_0x335307=>{const _0xc30ccd=_0x335307['clone']();_0xc30ccd['_authorId']=_0x335307['_authorId'],_0xc30ccd['_isInit']=!!_0x335307['_isInit'],_0xc30ccd['createdAt']=_0x335307['createdAt'],_0xc30ccd['baseVersion']+=this['_offset'],_0x335307['_isDisconnection']&&this['_disconnectionOperations']['add'](_0xc30ccd),this['serverHistory']['addOperation'](_0xc30ccd);});}['_handleReconnectionError'](_0x2c0c13){const _0x34f8e9=this['editor']['plugins']['get']('Notification'),_0x2480e8=this['editor']['locale'];_0x2c0c13||(_0x2c0c13=V(_0x2480e8,'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.')),_0x34f8e9['showWarning'](_0x2c0c13,{'title':V(_0x2480e8,'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'](_0x1c56c5)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1c56c5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3356b2){const _0x3f8dec=_0x3356b2['map'](_0x1dfc06=>_0x1dfc06['toJSON']());return this['_compressor']['compress'](_0x3f8dec);}['_decompressOperations'](_0x5d1be8,_0x545005){return this['_compressor']['decompress'](_0x5d1be8)['map']((_0x5ed967,_0x43cd01)=>{const _0x5e9d7b='init'==_0x545005[_0x43cd01]['type'];if('InsertOperation'==_0x5ed967['__className']){const _0x178f57=_0x5ed967['position']['root'];!this['_document']['getRoot'](_0x178f57)&&(this['_document']['createRoot']('$root',_0x178f57)['_isAttached']=!0x1);}const _0x628606=_0x4a12de['fromJSON'](_0x5ed967,this['_document']);return _0x628606['wasUndone']=_0x5ed967['wasUndone'],_0x628606['_isInit']=_0x5e9d7b,_0x628606['_authorId']=_0x5e9d7b?null:_0x545005[_0x43cd01]['userId'],_0x628606['_isDisconnection']='cs:removeUser'===_0x545005[_0x43cd01]['type'],_0x628606['createdAt']=_0x545005[_0x43cd01]['createdAt'],_0x628606;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3e54f4=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3e54f4&&_0x3e54f4['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x5ac0b0,_0x443d86){for(const _0x3e2d55 of _0x5ac0b0)_0x3e2d55['baseVersion']=_0x443d86++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x3a9537){this['_ignoredOperations']=_0x3a9537,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1bc0d6){let _0x3e9788=_0x1bc0d6['length'];for(;_0x3e9788--;){const _0x3ae370=_0x1bc0d6[_0x3e9788];if(!this['_ignoredOperations']['has'](_0x3ae370)){if(!this['_operationToId']['has'](_0x3ae370)){const _0x267259=_0x58108b()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3ae370,_0x267259);}return this['_operationToId']['get'](_0x3ae370);}}}['setIdForTheLastOperation'](_0x1f605e,_0x563cef){if(!_0x563cef)return;let _0x5c50cd=_0x1f605e['length'];for(;_0x5c50cd--;){const _0x5ed7b6=_0x1f605e[_0x5c50cd];this['_ignoredOperations']['has'](_0x5ed7b6)||this['_operationToId']['set'](_0x5ed7b6,_0x563cef);}}}class a extends _0x4f70c8{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x34f6b7{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1be594)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x12033b];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2673ad){super(_0x2673ad),this['_services']=new Map();}async['init'](){const _0x452e5f=this['context'],_0x5e068f=_0x452e5f['plugins']['get']('CommentsRepository');if(_0x452e5f['plugins']['get'](n)['addToReconnectionStack'](this),_0x5e068f['adapter']={'addCommentThread':async({channelId:_0x4ec735,threadId:_0x439ee0,comments:_0x2b745c,resolvedAt:_0x3e8abf,resolvedBy:_0x3628e5,context:_0x5a2ae4,attributes:_0x513ff8})=>{const _0x2c7ad3=await this['_getService'](_0x4ec735)['addCommentThread']({'commentThreadId':_0x439ee0,'comments':_0x2b745c['map'](_0x26de45=>function(_0x49d910,_0x3fde0d,_0x363607){return{'commentThreadId':_0x363607,'commentId':_0x49d910['commentId'],'userId':_0x49d910['authorId'],'content':_0x49d910['content'],'documentId':_0x3fde0d,'createdAt':_0x49d910['createdAt'],'attributes':_0x49d910['attributes']||{}};}(_0x26de45,_0x4ec735,_0x439ee0)),'resolvedAt':_0x3e8abf,'resolvedBy':_0x3628e5,'context':_0x5a2ae4,'attributes':_0x513ff8})['catch'](dt);return{'threadId':_0x2c7ad3['commentThreadId'],'comments':_0x2c7ad3['comments']};},'getCommentThread':async({channelId:_0x15c4d4,threadId:_0x3a495d})=>{const _0x2f0a3d=await this['_getService'](_0x15c4d4)['getCommentThread'](_0x3a495d)['catch'](dt);return _0x2f0a3d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x2f0a3d]),{'threadId':_0x2f0a3d['commentThreadId'],'comments':_0x2f0a3d['comments']['map'](B),'context':_0x2f0a3d['context'],'resolvedAt':_0x2f0a3d['resolvedAt'],'resolvedBy':_0x2f0a3d['resolvedBy'],'attributes':_0x2f0a3d['attributes']||{}});},'updateCommentThread':async({channelId:_0x287824,threadId:_0x1521ed,context:_0x29e3b0,unlinkedAt:_0x322b0b,attributes:_0x2b0123})=>this['_getService'](_0x287824)['updateCommentThread']({'commentThreadId':_0x1521ed,'context':_0x29e3b0,'attributes':_0x2b0123,'unlinkedAt':_0x322b0b})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x541d54,threadId:_0x4227fe})=>{const _0x5ea811=await this['_getService'](_0x541d54)['resolveCommentThread'](_0x4227fe)['catch'](F)['catch'](dt);return{'threadId':_0x5ea811['commentThreadId'],'resolvedAt':_0x5ea811['resolvedAt'],'resolvedBy':_0x5ea811['resolvedBy']};},'reopenCommentThread':async({channelId:_0x32192a,threadId:_0x3f1167})=>this['_getService'](_0x32192a)['reopenCommentThread'](_0x3f1167)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x3cac72,threadId:_0x5b485d})=>this['_getService'](_0x3cac72)['removeCommentThread'](_0x5b485d)['catch'](F)['catch'](dt),'addComment':({channelId:_0x427010,threadId:_0x5a3ffb,commentId:_0x169a93,content:_0x3f18b0,attributes:_0x56811a})=>this['_getService'](_0x427010)['addComment'](_0x5a3ffb,_0x169a93,_0x3f18b0,_0x56811a)['catch'](dt),'updateComment':({channelId:_0x4b0f60,threadId:_0x32f194,commentId:_0x5b2048,content:_0x4a3255,attributes:_0x36eb3f})=>this['_getService'](_0x4b0f60)['updateComment'](_0x32f194,_0x5b2048,_0x4a3255,_0x36eb3f)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x4f720b,threadId:_0xb0224e,commentId:_0x26c6a9})=>this['_getService'](_0x4f720b)['removeComment'](_0xb0224e,_0x26c6a9)['catch'](F)['catch'](dt)},_0x452e5f instanceof _0x64503e){const _0xb2e3e=_0x452e5f['config']['get']('collaboration.channelId'),_0x48fb05=_0x452e5f['plugins']['get'](i);await this['_setUpService'](_0xb2e3e);const _0x4811de=await this['_services']['get'](_0xb2e3e)['getConnectedSessions']();this['listenTo'](_0x48fb05,'sessionAdd:'+_0xb2e3e,(_0x5efe5d,{session:_0x59de2a})=>{_0x59de2a['id']===_0x48fb05['mySessionId']&&(_0x5efe5d['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x59de2a['permissions'],_0xb2e3e));}),_0x48fb05['register'](_0xb2e3e,_0x4811de);}}async['_setUpService'](_0x3366d9){if(this['_services']['has'](_0x3366d9))throw new _0x1b863e('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3366d9});const _0x4edc21=this['context']['plugins']['get']('CommentsRepository'),_0x4d3c8f=new s['CommentsService'](_0x3366d9);this['_services']['set'](_0x3366d9,_0x4d3c8f),this['listenTo'](_0x4d3c8f,'commentThreadAdded',(_0x598060,_0x9f332f)=>{const {commentThreadId:_0x19e2a2,documentId:_0xef3b8a,context:_0x51f1a5,attributes:_0xc2cb55,resolvedAt:_0x145a8f,resolvedBy:_0x40f86f,comments:_0xef9c99}=_0x9f332f;_0x4edc21['getCommentThread'](_0x19e2a2)||_0x4edc21['addCommentThread']({'threadId':_0x19e2a2,'channelId':_0xef3b8a,'comments':_0xef9c99?_0xef9c99['map'](B):[],'context':_0x51f1a5,'attributes':_0xc2cb55,'resolvedAt':_0x145a8f,'resolvedBy':_0x40f86f,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadUpdated',(_0x4b58c6,{commentThreadId:_0xd05ea8,documentId:_0xb3d20e,context:_0x43c518,unlinkedAt:_0x86dc6f,attributes:_0x4c2581})=>{_0x4edc21['getCommentThread'](_0xd05ea8)&&_0x4edc21['updateCommentThread']({'threadId':_0xd05ea8,'channelId':_0xb3d20e,'context':_0x43c518,'unlinkedAt':_0x86dc6f,'attributes':_0x4c2581,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadResolved',(_0x302aaf,{commentThreadId:_0x33f194,resolvedBy:_0x195e0d,resolvedAt:_0x3297c0})=>{const _0x3b9f65=_0x4edc21['getCommentThread'](_0x33f194);_0x3b9f65&&_0x3b9f65['resolve']({'resolvedBy':_0x195e0d,'resolvedAt':_0x3297c0,'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadReopened',(_0x502f8f,{commentThreadId:_0x13cd24})=>{const _0x5c0f31=_0x4edc21['getCommentThread'](_0x13cd24);_0x5c0f31&&_0x5c0f31['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentThreadRemoved',(_0x414c73,{commentThreadId:_0x3ab248})=>{const _0x2b7712=_0x4edc21['getCommentThread'](_0x3ab248);_0x2b7712&&_0x2b7712['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentAdded',(_0x5e0855,_0x294952)=>{const _0x30b5a2=_0x294952['commentThreadId'],_0x551b9a=_0x4edc21['getCommentThread'](_0x30b5a2);_0x551b9a&&_0x551b9a['addComment']({...B(_0x294952),'isFromAdapter':!0x0});}),this['listenTo'](_0x4d3c8f,'commentUpdated',(_0x535cde,{commentThreadId:_0x5a5be1,commentId:_0x45ad72,content:_0x40c979,attributes:_0x3658a0})=>{const _0x4554a9=_0x4edc21['getCommentThread'](_0x5a5be1);if(_0x4554a9){const _0x1c58af=_0x4554a9['getComment'](_0x45ad72);_0x1c58af&&_0x1c58af['update']({'content':_0x40c979,'attributes':_0x3658a0,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4d3c8f,'commentRemoved',(_0x34e575,{commentThreadId:_0x553fc1,commentId:_0x10d3d1})=>{const _0x1f2d62=_0x4edc21['getCommentThread'](_0x553fc1);if(_0x1f2d62){const _0x4a176b=_0x1f2d62['getComment'](_0x10d3d1);_0x4a176b&&_0x4a176b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3366d9);}['destroy'](){if(this['context']instanceof _0x64503e){const _0x265546=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x265546);}}['_terminateService'](_0x38f148){if(!this['_services']['has'](_0x38f148))throw new _0x1b863e('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x38f148});this['_getService'](_0x38f148)['disconnect'](),this['_services']['delete'](_0x38f148);}async['reconnect'](){for(const _0x21f468 of this['_services']['keys']())await this['_connectService'](_0x21f468);if(this['context']instanceof _0x64503e){const _0x24079c=this['context']['config']['get']('collaboration.channelId'),_0x19689f=this['context']['plugins']['get'](i);_0x19689f['unregister'](_0x24079c);const _0xe4cdf7=await this['_services']['get'](_0x24079c)['getConnectedSessions']();_0x19689f['register'](_0x24079c,_0xe4cdf7);}}async['_connectService'](_0xc0af9e){const {connection:_0xd8ce8b}=this['context']['plugins']['get'](n),_0x18138e=this['context']['plugins']['get']('CommentsRepository'),_0x271c2c=this['_services']['get'](_0xc0af9e),_0x5a435a=await _0x271c2c['connect'](_0xd8ce8b);await this['_fetchMissingUsersForThreads'](_0x5a435a);const _0xdb7a10=new Set(Array['from'](_0x18138e['getCommentThreads']({'channelId':_0xc0af9e}),_0x4c4b4c=>_0x4c4b4c['id']));for(const _0x32433f of _0x5a435a)_0x32433f['deletedAt']||_0xdb7a10['delete'](_0x32433f['commentThreadId']);for(const _0x18de07 of _0xdb7a10)_0x18138e['getCommentThread'](_0x18de07)['remove']({'isFromAdapter':!0x0});for(const _0x18d495 of _0x5a435a){let _0x1f7a1b=_0x18138e['getCommentThread'](_0x18d495['commentThreadId']);const {commentThreadId:_0x300c11,context:_0x116a7f,attributes:_0x41d6e8,resolvedBy:_0x17aebf,resolvedAt:_0x41fe93,unlinkedAt:_0x359da4,deletedAt:_0x5508cf}=_0x18d495;if(_0x5508cf)continue;_0x1f7a1b||(_0x1f7a1b=_0x18138e['addCommentThread']({'channelId':_0xc0af9e,'threadId':_0x300c11,'context':_0x116a7f,'attributes':_0x41d6e8||{},'resolvedBy':_0x17aebf,'resolvedAt':_0x41fe93,'unlinkedAt':_0x359da4,'isFromAdapter':!0x0}));const _0x2976df=new Set(Array['from'](_0x1f7a1b['comments'],_0x54c8dd=>_0x54c8dd['id']));for(const _0x2230e3 of _0x18d495['comments'])_0x2976df['delete'](_0x2230e3['commentId']);for(const _0x57357f of _0x2976df)_0x1f7a1b['getComment'](_0x57357f)['remove']({'isFromAdapter':!0x0});for(const _0x46a336 of _0x18d495['comments']){const _0x49f35d=_0x1f7a1b['getComment'](_0x46a336['commentId']);_0x49f35d?_0x49f35d['content']!==_0x46a336['content']&&_0x49f35d['update']({'content':_0x46a336['content'],'isFromAdapter':!0x0}):_0x1f7a1b['addComment'](Object['assign'](B(_0x46a336),{'isFromAdapter':!0x0}));}}}['_getService'](_0x329857){if(!this['_services']['has'](_0x329857))throw new _0x1b863e('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x329857});return this['_services']['get'](_0x329857);}async['_fetchMissingUsersForThreads'](_0x1de276){const _0x19796c=this['context']['plugins']['get'](_0x12033b),{connection:_0x1e946e}=this['context']['plugins']['get'](n),_0x35ee68=new Set();for(const {resolvedBy:_0x55460c,comments:_0x4f5b92}of _0x1de276){_0x55460c&&!_0x19796c['getUser'](_0x55460c)&&_0x35ee68['add'](_0x55460c);for(const {userId:_0x5bb5c6}of _0x4f5b92)_0x19796c['getUser'](_0x5bb5c6)||_0x35ee68['add'](_0x5bb5c6);}if(0x0===_0x35ee68['size'])return;const _0x53dbae=await lt['getMany'](_0x1e946e,Array['from'](_0x35ee68));for(const _0x470833 of _0x53dbae)_0x19796c['getUser'](_0x470833['id'])||_0x19796c['addUser'](_0x470833);}}async function F(_0x28334b){if('404'!==_0x28334b['code'])throw _0x28334b;}function dt(_0x350c04){if((_0x368908=_0x350c04)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x368908['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x368908['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x368908;throw _0x350c04;}function B(_0x205d91){return{'threadId':_0x205d91['commentThreadId'],'commentId':_0x205d91['commentId'],'content':_0x205d91['content'],'createdAt':_0x205d91['createdAt'],'authorId':_0x205d91['userId'],'attributes':_0x205d91['attributes']||{}};}class m extends _0x4f70c8{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bf072){super(_0x1bf072);const _0x11b5bc=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x11b5bc);}['init'](){const _0x243b71=this['editor']['plugins']['get'](n),_0xe10001=this['editor']['plugins']['get']('TrackChangesEditing');return _0xe10001['adapter']={'getSuggestion':async _0xd1e274=>{await this['_waitForServiceReady']();const _0x9affb7=await this['_trackChangesService']['get'](_0xd1e274)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x9affb7]),_0x9affb7;},'addSuggestion':async({id:_0xcd1f66,type:_0x17efd1,data:_0x122980,originalSuggestionId:_0x3719e2,attributes:_0x23b6c1})=>{await this['_waitForServiceReady']();const _0x24c8c8={'id':_0xcd1f66,'type':_0x17efd1,'data':_0x122980,'originalSuggestionId':_0x3719e2,'attributes':_0x23b6c1},_0x56210a=await this['_trackChangesService']['add'](_0xcd1f66,_0x17efd1,_0x122980,_0x3719e2,_0x23b6c1)['catch'](_0x2d8147=>{if(ut(_0x2d8147))return new Promise(_0x4bfad0=>{this['_bufferedRequests']['set'](_0xcd1f66,{'resolve':_0x4bfad0,'suggestionData':_0x24c8c8});});throw _0x2d8147;});return this['_bufferedRequests']['delete'](_0xcd1f66),_0x56210a;},'updateSuggestion':async(_0x4b2a6b,_0x268310)=>{if(await this['_waitForServiceReady'](),'open'!==_0x268310['state'])return this['_trackChangesService']['update'](_0x4b2a6b,_0x268310)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x8b69a6,_0x1747ad)=>{_0xe10001['hasSuggestion'](_0x1747ad['id'])&&(_0xe10001['getSuggestion'](_0x1747ad['id'])['attributes']=_0x1747ad['attributes']);}),this['_trackChangesService']['connect'](_0x243b71['connection'])['then'](_0x29a553=>(_0x243b71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x29a553)['then'](()=>{for(const _0x3afee5 of _0x29a553){_0xe10001['addSuggestionData'](_0x3afee5)['_saved']=!0x0;}})));}async['reconnect'](){const _0x37462d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x26a2d0}=this['editor']['plugins']['get'](n),_0x1b8d35=await this['_trackChangesService']['connect'](_0x26a2d0);await this['_fetchMissingUsersForThreads'](_0x1b8d35);for(const {suggestionData:_0xf9d776,resolve:_0x1d6a0b}of this['_bufferedRequests']['values']()){let _0x221018=_0x1b8d35['find'](_0x10215a=>_0x10215a['id']===_0xf9d776['id']);_0x221018||(_0x221018=await this['_trackChangesService']['add'](_0xf9d776['id'],_0xf9d776['type'],_0xf9d776['data'],_0xf9d776['originalSuggestionId'])),_0x1d6a0b(_0x221018);}for(const _0x4776a6 of _0x1b8d35)_0x37462d['hasSuggestion'](_0x4776a6['id'])||_0x37462d['addSuggestionData'](_0x4776a6);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x548d76=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2f88b2=>{_0x2f88b2['off'](),_0x548d76();});});}async['_fetchMissingUsersForThreads'](_0x289bf6){const _0x3a5520=this['editor']['plugins']['get'](_0x12033b),{connection:_0x4bb214}=this['editor']['plugins']['get'](n),_0x3b6809=new Set();for(const {authorId:_0x252051}of _0x289bf6)_0x3a5520['getUser'](_0x252051)||_0x3b6809['add'](_0x252051);if(0x0===_0x3b6809['size'])return;const _0x257623=await lt['getMany'](_0x4bb214,Array['from'](_0x3b6809));for(const _0xe224a6 of _0x257623)_0x3a5520['getUser'](_0xe224a6['id'])||_0x3a5520['addUser'](_0xe224a6);}}function k(_0x215458){if(ut(_0x215458))return new Promise(()=>{});throw _0x215458;}function ut(_0x2dc902){return _0x2dc902['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dc902['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4f70c8{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 _0x216e7a=this['editor']['plugins']['get'](n),_0x156134=this['editor']['plugins']['get']('CommentsEditing'),_0x80d05d=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x216e7a,'change:state',(_0x29af80,_0x4d5915,_0xd65b27)=>{_0x156134['isThreadsLoadingPaused']='connected'!==_0xd65b27;});}),this['listenTo'](_0x216e7a,'change:state',(_0x1d9743,_0x7c1d03,_0x328003)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x328003);}),_0x80d05d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x4f70c8{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 _0x4f70c8{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x12033b];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x596a2c){super(_0x596a2c);const _0x5a250f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5a250f);}async['init'](){const _0x497540=this['editor']['plugins']['get'](l),_0x5ed7fa=_0x497540['serverHistory'],_0x4adbcb=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5ed7fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x497540['sessionId']});const _0x47eb6d=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x11363f=await tt['isBundleUploaded'](_0x4adbcb['connection'],_0x47eb6d);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x411b8f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x411b8f)),'updateRevisions':async _0x25930c=>{await this['_waitForServiceReady']();const _0x16882a=this['_revisionTracker']['currentRevision'];if(_0x11363f&&0x1===_0x25930c['length']&&_0x25930c[0x0]['id']===_0x16882a['id'])return _0x25930c;for(const _0x2f3b71 of _0x25930c)_0x2f3b71['id']===_0x16882a['id']&&(_0x2f3b71['isEmptyCurrent']=_0x2f3b71['fromVersion']===_0x2f3b71['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25930c,this['_lastRequestId'])['then'](_0x2242ca=>(this['_lastRequestId']=_0x2242ca,_0x25930c))['catch'](_0x4a700b=>{if(st(_0x4a700b)||'400'===_0x4a700b['code']&&void 0x0!==_0x4a700b['data']['wrongRequestId']){for(const _0x5563f7 of _0x25930c){!this['_revisionTracker']['repository']['getRevision'](_0x5563f7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5563f7['id'],_0x5563f7,!0x1);}if(st(_0x4a700b))throw _0x4a700b;return _0x25930c;}throw _0x4a700b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4eb4c4,{revisionsData:_0x1a17a3,requestId:_0x3f483a})=>{Math['max'](..._0x1a17a3['map'](_0xaa7e64=>_0xaa7e64['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1a17a3,_0x3f483a);}):this['_handleRevisionsUpdate'](_0x1a17a3,_0x3f483a);});const {revisions:_0x2b9dcd,requestId:_0x1404bc}=await this['_revisionHistoryService']['connect'](_0x4adbcb['connection']);_0x4adbcb['addToReconnectionStack'](this),this['_lastRequestId']=_0x1404bc,await this['_fetchMissingUsers'](_0x2b9dcd);for(const _0x3192b0 of _0x2b9dcd)this['_revisionTracker']['addRevisionData'](_0x3192b0);this['listenTo'](_0x497540,'change:_isConnected',(_0x2543c8,_0x58c2cb,_0x2dc3c1)=>{_0x2dc3c1&&(this['_oldOffset']=_0x497540['_offset'],_0x2543c8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4adbcb,'state',_0x261211=>_0x261211===te['CONNECTED']);}async['reconnect'](){const _0x48484c=this['editor']['plugins']['get'](n),_0x4820a9=this['editor']['plugins']['get'](l),_0x1e31a9=async()=>{const _0x413511=this['_revisionTracker']['currentRevision'],_0x2d9aa8=_0x413511['id'],_0x40fcf2=_0x2d9aa8!==_0x4820a9['sessionId'];if(_0x40fcf2){const _0x42b741=_0x4820a9['_offset']-this['_oldOffset'],_0x3b415d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x413511['toVersion']+_0x42b741!==_0x3b415d){const _0x25dd6b=_0x413511['fromVersion']+_0x42b741,_0x30f3be=this['editor']['plugins']['get'](_0x12033b),_0x37cb3c=this['_revisionTracker']['buildRevisionData']({'revision':_0x413511,'from':_0x25dd6b,'to':_0x3b415d});_0x37cb3c['id']=_0x413511['id'];const _0xe3e943=_0x37cb3c['authorsIds']['map'](_0x1365f0=>_0x30f3be['getUser'](_0x1365f0));_0x413511['_update']({..._0x37cb3c,'authors':_0xe3e943},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x413511['id'],_0x37cb3c,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3b415d,(_0x413511['toVersion']===_0x413511['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2d9aa8)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2d9aa8),this['_revisionTracker']['_createCurrentRevision'](_0x3b415d));}const {revisions:_0x45b579,requestId:_0x3a1c8d}=await this['_revisionHistoryService']['reconnect'](_0x48484c['connection'],this['_lastRequestId']);_0x40fcf2&&_0x45b579['length']>0x0?_0x4820a9['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x45b579),this['_handleRevisionsUpdate'](_0x45b579,_0x3a1c8d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4820a9['_isConnected']?_0x1e31a9():new Promise((_0x2962e2,_0x5869f4)=>{_0x4820a9['once']('change:_isConnected',()=>{_0x1e31a9()['then'](_0x2962e2)['catch'](_0x5869f4);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3e8666=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15ed4e=>{_0x15ed4e['off'](),_0x3e8666();});});}['_getLatestVersionFromServerOperations'](){const _0x4565ed=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0xacaec2 of _0x4565ed)if('marker'!==_0xacaec2['type']||_0xacaec2['affectsData'])return _0xacaec2['baseVersion']+0x1;}['_getLatestVersion'](){const _0x19d518=this['editor']['plugins']['get'](l);return new Promise(_0x19361e=>{_0x19d518['_isPendingUpdate']?_0x19d518['once']('change:_isPendingUpdate',()=>{_0x19361e(this['_getLatestVersionFromServerOperations']());}):_0x19361e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x35b6eb,_0x47a466){const _0x76aff2=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x47a466;for(const _0x399165 of _0x35b6eb){const _0x3829b0=_0x76aff2['getRevision'](_0x399165['id']);if(_0x3829b0){if((_0x399165['fromVersion']||_0x399165['toVersion'])&&(_0x399165['diffData']=null),_0x3829b0===this['_revisionTracker']['currentRevision']){const _0x43e72e=Math['max'](_0x3829b0['toVersion'],_0x399165['toVersion']),_0xd7c01f=Math['max'](_0x3829b0['fromVersion'],_0x399165['fromVersion']);let _0x16d814;_0x3829b0['toVersion']===_0x399165['toVersion']&&_0x3829b0['fromVersion']===_0x399165['fromVersion']?(_0x16d814=!0x0,this['_preventResendingRevisionData'](_0x399165)):_0x399165['toVersion']===_0x43e72e&&_0x399165['fromVersion']===_0xd7c01f?_0x16d814=!0x1:(_0x3829b0['toVersion']===_0x43e72e&&_0x3829b0['fromVersion']===_0xd7c01f||this['_fixRevision']({'revision':_0x3829b0,'from':_0xd7c01f,'to':_0x43e72e}),_0x16d814=!0x0),_0x16d814&&(delete _0x399165['fromVersion'],delete _0x399165['toVersion'],delete _0x399165['diffData'],delete _0x399165['createdAt'],delete _0x399165['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x399165),this['_preventResendingRevisionData'](_0x399165);}else this['_revisionTracker']['addRevisionData'](_0x399165);}const _0x9563f2=_0x76aff2['getRevisions']();_0x9563f2['reverse']();for(let _0x53dfe7=0x0;_0x53dfe7<_0x9563f2['length']-0x1;_0x53dfe7++){const _0x5537a4=_0x9563f2[_0x53dfe7],_0x5fe438=_0x9563f2[_0x53dfe7+0x1];if(_0x5537a4['fromVersion']<_0x5fe438['toVersion']){const _0x5b7919=_0x5fe438['toVersion'],_0x562443=Math['max'](_0x5b7919,_0x5537a4['toVersion']);this['_fixRevision']({'revision':_0x5537a4,'from':_0x5b7919,'to':_0x562443});}}}['_fixRevision']({revision:_0x2c7143,from:_0x595468,to:_0x5eb39d}={}){const _0x34a894=this['editor']['plugins']['get'](_0x12033b),_0x1f0899=this['_revisionTracker']['buildRevisionData']({'revision':_0x2c7143,'from':_0x595468,'to':_0x5eb39d});_0x1f0899['authors']=_0x1f0899['authorsIds']['map'](_0x22bac8=>_0x34a894['getUser'](_0x22bac8)),_0x2c7143['_update'](_0x1f0899);}['_preventResendingRevisionData'](_0x1c17a2){const _0x34abdc={};_0x34abdc['id']=_0x1c17a2['id'];for(const _0x355467 of Object['keys'](_0x1c17a2))'id'!==_0x355467&&(_0x34abdc[_0x355467]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x34abdc['id'],_0x34abdc,!0x0);}async['_fetchMissingUsers'](_0xdd7a3f){const _0x2ea2a4=this['editor']['plugins']['get'](_0x12033b),{connection:_0x385ce9}=this['editor']['plugins']['get'](n),_0x5d3500=new Set();for(const _0x1bfd02 of _0xdd7a3f){for(const _0x560f90 of _0x1bfd02['authorsIds'])_0x2f68c0(_0x560f90);_0x1bfd02['creatorId']&&_0x2f68c0(_0x1bfd02['creatorId']);}if(0x0===_0x5d3500['size'])return;const _0x25ac08=await lt['getMany'](_0x385ce9,Array['from'](_0x5d3500));for(const _0x5ccd09 of _0x25ac08)_0x2ea2a4['getUser'](_0x5ccd09['id'])||_0x2ea2a4['addUser'](_0x5ccd09);function _0x2f68c0(_0x4040c8){_0x2ea2a4['getUser'](_0x4040c8)||_0x5d3500['add'](_0x4040c8);}}}function st(_0x26c6ee){return _0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26c6ee['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x4f70c8{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x4c7c82{['_collapseAt'];constructor(_0x506342,_0x542318=0x6){super(_0x506342);const _0xcde1b6=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x542318,this['bind']('isHidden')['to'](this,'usersCount',_0x35ca53=>_0x35ca53<_0x542318),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xcde1b6['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':_0xcde1b6['to']('usersCount',_0x45796b=>'+'+(_0x45796b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4c7c82{['items'];['keystrokes'];constructor(_0x2b4bb4){super(_0x2b4bb4);const _0x4703b5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x490620(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4703b5['if']('hasPopup'),'aria-expanded':_0x4703b5['to']('isExpanded',_0x5ad456=>this['hasPopup']&&String(_0x5ad456)),'aria-label':_0x4703b5['to']('hasPopup',_0x27d27f=>V(_0x2b4bb4,_0x27d27f?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4703b5['to']('hasPopup',_0x28b49c=>!!_0x28b49c&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4703b5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4703b5['to'](_0x46188a=>{const _0x3d0b1f=_0x46188a,_0x5223b3=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5b585c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5223b3?.['contains'](_0x3d0b1f['relatedTarget'])||_0x5b585c?.['contains'](_0x3d0b1f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xc8db4,_0x48c89a,_0x19a2d4)=>{this['element']&&(_0x19a2d4?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 v extends _0x4c7c82{['counterView'];['inlineListView'];constructor(_0x1ef353,_0xe798e5=0x6){super(_0x1ef353);const _0x5ee057=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0xe798e5),this['inlineListView']=new is(_0x1ef353),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x51946f of this['inlineListView']['items'])_0x51946f['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',_0x5ee057['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x4c7c82{['listWrapperView'];constructor(_0x2a9d44,_0x2247c1){super(_0x2a9d44);const _0x4dd08e=this['bindTemplate'];this['listWrapperView']=new pt(_0x2a9d44,_0x2247c1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x2a9d44,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4dd08e['to'](_0x43ef1b=>{const _0x1fc9b2=_0x43ef1b,_0x17272b=document['querySelector']('.ck-presence-list__list'),_0x45baf9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17272b?.['contains'](_0x1fc9b2['relatedTarget'])||_0x45baf9?.['contains'](_0x1fc9b2['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x4e50d2{constructor(_0x38125e,_0x4376c3){super(_0x38125e);const _0x4d78d3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4376c3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4d78d3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4d78d3['to']('role'),'aria-label':_0x4d78d3['to']('ariaLabel'),'aria-labelledby':_0x4d78d3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5b5001['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x14f4b3=this['element'];_0x14f4b3&&(this['_isScrollable']=Math['max'](_0x14f4b3['scrollHeight'],_0x14f4b3['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x857440,_0x5a29fd,_0x2a3b6f){super(_0x857440);const _0xc999ba=this['bindTemplate'];this['userView']=new ct(_0x857440,_0x5a29fd);const _0x7f42ed={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5a29fd['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5a29fd['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5a29fd['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2a3b6f&&(_0x7f42ed['tag']='button',_0x7f42ed['on']={'click':_0xc999ba['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x7f42ed);}['focus'](){this['element']['focus']();}}class A extends _0x4c7c82{['userView'];['markerView'];constructor(_0x29671d,_0x1bb2e1,_0x1d2312){super(_0x29671d);const _0x2d7ce9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x29671d,_0x1bb2e1),this['markerView']=new at(_0x29671d,_0x1bb2e1);const _0x558225=new ot(_0x29671d);_0x558225['template']['tag']='span',_0x558225['text']=_0x1bb2e1['name'];const _0x4b1816={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2d7ce9['to']('isFocusable',_0x2427f8=>!!_0x2427f8&&0x0),'aria-labelledby':_0x558225['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2d7ce9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2d7ce9['to']('hasTooltip',_0x29ce46=>!_0x29ce46),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x558225]};_0x1d2312&&(_0x4b1816['tag']='button',_0x4b1816['on']={'click':_0x2d7ce9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b1816);}}class at extends _0x4c7c82{constructor(_0x480579,_0x2dae71){super(_0x480579),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2dae71['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x34f6b7{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdf3da3){super(_0xdf3da3),this['context']['config']['define']('presenceList',x);const _0x5effcc=_0xdf3da3['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5effcc)throw new _0x1b863e('presencelist-collapseat-invalid-format',this);if(_0x5effcc<0x1)throw new _0x1b863e('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x500cda(),this['balloonPanelView']=new _0x501a5c(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x141ba6 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x141ba6);this['listenTo'](this['_allConnectedUsers'],'add',(_0x1040ae,_0x2313a3)=>{this['_handleUserAdd'](_0x2313a3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x18087c,_0x548162)=>{this['_handleUserRemove'](_0x548162);});}['_createView'](){const _0x88841c=this['context'],_0x2091cd=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x150b84=this['balloonPanelView'];if(!_0x189cec(_0x88841c['config']['get']('presenceList.container')))throw new _0x1b863e('presencelist-missing-container',this);return _0x2091cd['counterView']['bind']('usersCount')['to'](this),_0x2091cd['bind']('isCollapsed')['to'](this,'usersCount',_0x3ab795=>{const {collapseAt:_0x4fcf5a}=_0x88841c['config']['get']('presenceList'),_0x52a555=_0x3ab795>=_0x4fcf5a;if(_0x52a555&&!_0x2091cd['inlineListView']['items']['find'](_0x3de8aa=>_0x3de8aa instanceof b)){const _0x4b6ba6=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4b6ba6&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2091cd['inlineListView']['items']['add'](_0x2091cd['counterView']);}return _0x52a555||this['hideDropdown'](),_0x52a555;}),_0x2091cd['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xf5a11=>{const _0x37c3ed=_0x88841c['config']['get']('presenceList'),_0x331afc=new A(_0x88841c['locale'],_0xf5a11,!!_0x37c3ed['onClick']);return _0x331afc['bind']('hasTooltip')['to'](_0x2091cd,'isCollapsed',_0x3f69db=>!_0x3f69db),_0x331afc['bind']('isFocusable')['to'](_0x2091cd,'isCollapsed',_0x3c3f44=>!_0x3c3f44),_0x37c3ed['onClick']&&this['listenTo'](_0x331afc,'execute',()=>{this['view']['isCollapsed']||_0x37c3ed['onClick'](_0xf5a11,_0x331afc['element']);}),_0x331afc;}),this['listenTo'](_0x2091cd['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2091cd['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2091cd['inlineListView']['keystrokes']['set']('Enter',(_0x342eaf,_0x5446f7)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5446f7());}),_0x2091cd['render'](),_0x150b84['render'](),_0xb632d8({'emitter':_0x2091cd,'activator':()=>_0x150b84['isVisible'],'contextElements':[_0x150b84['element'],_0x2091cd['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x88841c['config']['get']('presenceList.container')['appendChild'](_0x2091cd['element']),this['_bodyCollection']=new _0x262a4c(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2091cd;}['_handleUserAdd'](_0x596af3){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x596af3['isMe'])return;const _0x52d847=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x52d847-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x6e3741=_0x596af3['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x596af3,_0x6e3741);}['_handleUserRemove'](_0x2fd8a8){this['usersCount']--;const {collapseAt:_0x555267}=this['context']['config']['get']('presenceList'),_0x55e69b=this['usersCount']>=_0x555267;if(this['currentDisplayedUsers']['get'](_0x2fd8a8['id']))this['currentDisplayedUsers']['remove'](_0x2fd8a8['id']);else{if(_0x55e69b&&this['currentDisplayedUsers']['length']+0x1===_0x555267-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x55e69b?0x1:0x0)<this['usersCount']){for(const _0x3685e5 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3685e5['id'])&&(this['currentDisplayedUsers']['add'](_0x3685e5,Math['min'](this['currentDisplayedUsers']['length']-(_0x55e69b?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x55e69b?0x1:0x0)===_0x555267-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x53a4cd=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x53a4cd['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x282cd1}=this['presenceDropdownView'];_0x282cd1['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1e713c=>{if(!_0x53a4cd['displayMe']&&_0x1e713c['isMe'])return null;const _0x45528e=new j(this['context']['locale'],_0x1e713c,!!_0x53a4cd['onClick']);return _0x53a4cd['onClick']&&this['listenTo'](_0x45528e,'execute',()=>{_0x53a4cd['onClick'](_0x1e713c,_0x45528e['element']);}),_0x45528e;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x282cd1['focus'](),_0x282cd1['checkIfScrollable']();const _0xbd8d49=(_0x47f2d9,_0x1440e5)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x1440e5();};_0x282cd1['keystrokes']['set']('Esc',_0xbd8d49),_0x282cd1['keystrokes']['set']('Shift+Tab',_0xbd8d49),_0x282cd1['keystrokes']['set']('Tab',(_0x405c8a,_0x4f2211)=>{!function(_0x1bd4fa){const _0x3cc46e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x10b5f5=>_0x10b5f5+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10f7f8=[...document['body']['querySelectorAll'](_0x3cc46e)]['filter'](_0x5ebdf3=>_0x5ebdf3===document['activeElement']||_0x5ebdf3['offsetWidth']+_0x5ebdf3['offsetHeight']>0x0)['sort']((_0x178717,_0x296b83)=>(_0x178717['tabIndex']||0x0)-(_0x296b83['tabIndex']||0x0)),_0x49bea3=_0x10f7f8['indexOf'](_0x1bd4fa),_0x2a0095=_0x10f7f8[(_0x49bea3+0x1)%_0x10f7f8['length']];_0x2a0095&&_0x2a0095['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f2211();}),_0x282cd1['focusTracker']['add'](this['view']['element']),_0x282cd1['focusTracker']['on']('change:isFocused',(_0x2a5fe5,_0x26f8e6,_0x18f495)=>{_0x18f495||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x34f6b7{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};