@ckeditor/ckeditor5-real-time-collaboration 46.1.1-alpha.1 → 46.1.1-alpha.3

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 _0x1e7b17,Plugin as _0x2f9917,PendingActions as _0x2a2a9f,Context as _0x4399a8}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x20be11,CKEditorError as _0x2cb01c,Collection as _0x4ead9b,global as _0x27bd36,version as ht,uid as _0x24a687,KeystrokeHandler as _0x2cd7be}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xcbf99a,View as _0x1be5d6,ListView as _0x319183,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x5cf855,clickOutsideHandler as _0x576ce6,BodyCollection as _0x845acd}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3271bd,History as _0x29b035,NoOperation as _0x2e8c85,InsertOperation as _0xa21fa5,MarkerOperation as _0x4e4c61,RootAttributeOperation as _0x5749dc,transformOperationSets as _0x4eebe0,OperationFactory as _0x493c8d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0xc90cf7,CollaborativeEditingService as _0x5a3001,User as ut,CommentsService as _0x25f3cf,TrackChangesService as it,RevisionHistoryService as rt,EditorService as ot}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x688a1d,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4123aa}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x36833e}from'es-toolkit/compat';class n extends _0x1e7b17{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xcbf99a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4dab4e){super(_0x4dab4e),this['set']('state',_0xc90cf7['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x20be11())();}['init'](){const _0x4b8993=this['context'],_0x50c7ef=_0x4b8993['plugins']['get']('CloudServices'),_0x35e9ee=_0x4b8993['plugins']['get'](_0xcbf99a);if(!_0x50c7ef['token'])throw new _0x2cb01c('websocketgateway-missing-token',this);if(!_0x50c7ef['webSocketUrl'])throw new _0x2cb01c('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'](_0x50c7ef['token'],_0x50c7ef['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3ba7b0=>{if(this['connection']=_0x3ba7b0,this['bind']('state')['to'](_0x3ba7b0,'state',this,'_isBrowserOffline',(_0x23b0ec,_0x2e5295)=>('connected'!==_0x23b0ec&&(this['_shouldPluginsReconnect']=!0x0),_0x2e5295||_0x23b0ec!==_0xc90cf7['CONNECTED']?_0xc90cf7['DISCONNECTED']:this['state']==_0xc90cf7['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xc90cf7['CONNECTING']):_0xc90cf7['CONNECTED'])),this['connection']['on']('error',(_0x289ce3,_0x43f0ed)=>{if('limitExceeded'!==_0x43f0ed['code'])throw console['error'](_0x43f0ed),new _0x2cb01c('cloudservices-init',null,{'originalError':_0x43f0ed});_0x35e9ee['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'});}),!_0x3ba7b0['me'])return new Promise(_0x1af305=>_0x3ba7b0['on']('change:me',_0x1af305));})['catch'](_0x2b2599=>{throw console['error'](_0x2b2599),new _0x2cb01c('cloudservices-init',null,{'originalError':_0x2b2599});});}['addToReconnectionStack'](_0x5a431b){if('function'!=typeof _0x5a431b['reconnect'])throw new _0x2cb01c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5a431b))throw new _0x2cb01c('websocketgateway-plugin-already-registered',this,{'name':_0x5a431b['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5a431b);}['removeFromReconnectionStack'](_0x4bcfca){this['_reconnectionStack']['delete'](_0x4bcfca);}['isInReconnectionStack'](_0x35c24e){return this['_reconnectionStack']['has'](_0x35c24e);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x55eb46=>_0x55eb46['reconnect']())))['then'](()=>this['state']=_0xc90cf7['CONNECTED'])['catch'](_0x371773=>{throw console['error'](_0x371773),new _0x2cb01c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xc90cf7['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1e7b17{['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,_0x688a1d];}constructor(_0xd49d21){super(_0xd49d21),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4ead9b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x688a1d);}['init'](){const _0xb7c7a5=this['context']['plugins']['get'](n);this['listenTo'](_0xb7c7a5,'change:state',(_0x4eb5ce,_0x352f06,_0x34953b)=>{if('connected'!==_0x34953b)this['channelSessions']['forEach'](_0x19e8d7=>_0x19e8d7['clear']()),this['channelConnectedUsers']['forEach'](_0x1832c7=>_0x1832c7['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x519201,_0x327b27]of this['_registeredSessions'])for(const _0x39319f of _0x327b27)this['_handleSessionAdd'](_0x519201,_0x39319f);}}),this['_createUser'](_0xb7c7a5['connection']['me'],!0x0);}['register'](_0x4b8395,_0x3dcad9){if(this['_registeredSessions']['has'](_0x4b8395))throw new _0x2cb01c('sessions-register-already-registered',null,{'channelId':_0x4b8395});this['_registeredSessions']['set'](_0x4b8395,_0x3dcad9),this['channelSessions']['set'](_0x4b8395,new _0x4ead9b()),this['channelConnectedUsers']['set'](_0x4b8395,new _0x4ead9b()),this['listenTo'](_0x3dcad9,'add',(_0x128885,_0x1a2bad)=>this['_handleSessionAdd'](_0x4b8395,_0x1a2bad)),this['listenTo'](_0x3dcad9,'remove',(_0x436347,_0x852cd6)=>this['_handleSessionRemove'](_0x4b8395,_0x852cd6));for(const _0x3733da of _0x3dcad9)this['_handleSessionAdd'](_0x4b8395,_0x3733da);}['unregister'](_0x114124){if(!this['_registeredSessions']['has'](_0x114124))throw new _0x2cb01c('sessions-unregister-not-exist',null,{'channelId':_0x114124});const _0x20bbd2=this['_registeredSessions']['get'](_0x114124);this['stopListening'](_0x20bbd2);for(const _0xc9558 of _0x20bbd2)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x114124,_0xc9558);this['_registeredSessions']['delete'](_0x114124),this['channelSessions']['delete'](_0x114124),this['channelConnectedUsers']['delete'](_0x114124);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5841c7){for(const _0x58b0f5 of this['channelSessions']['values']())for(const _0x19e07f of _0x58b0f5)if(_0x19e07f['id']===_0x5841c7)return _0x19e07f['user'];}['getUserSessions'](_0x2978a4,_0x113689){const _0x164cc5=_0x113689?[this['channelSessions']['get'](_0x113689)]:this['channelSessions']['values'](),_0x49bf7d=new Set();for(const _0x722322 of _0x164cc5)for(const _0x2a22b3 of _0x722322)_0x2a22b3['user']['id']===_0x2978a4['id']&&_0x49bf7d['add'](_0x2a22b3['id']);return _0x49bf7d;}['getUserRole'](_0x5698aa){for(const _0x56bd9c of this['channelSessions']['values']())for(const _0x516e95 of _0x56bd9c)if(_0x516e95['user']===_0x5698aa)return _0x516e95['role'];}['_handleSessionAdd'](_0x222716,_0x1ef51c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x664d35=_0x1ef51c['user'],_0x255192=this['_users']['getUser'](_0x664d35['id'])||this['_createUser'](_0x664d35),_0x56d091=Object['assign']({},_0x1ef51c,{'user':_0x255192});if(this['channelSessions']['get'](_0x222716)['add'](_0x56d091),!_0x664d35['hiddenInPresenceList']){const _0x1de8d8=this['channelConnectedUsers']['get'](_0x222716);_0x1de8d8['has'](_0x255192['id'])||_0x1de8d8['add'](_0x255192),this['allConnectedUsers']['has'](_0x255192['id'])||_0x664d35['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x255192,_0x255192['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x222716,{'channelId':_0x222716,'session':_0x56d091});}['_handleSessionRemove'](_0x1bb03a,_0x103241){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x101653=this['channelConnectedUsers']['get'](_0x1bb03a),_0x3d1fa9=_0x103241['user'];_0x3d1fa9['id']&&(this['channelSessions']['get'](_0x1bb03a)['remove'](_0x103241['id']),_0x101653['has'](_0x3d1fa9['id'])&&!this['getUserSessions'](_0x3d1fa9,_0x1bb03a)['size']&&_0x101653['remove'](_0x3d1fa9['id']),this['allConnectedUsers']['get'](_0x3d1fa9['id'])&&!this['getUserSessions'](_0x3d1fa9)['size']&&this['allConnectedUsers']['remove'](_0x3d1fa9['id']));}['_createUser'](_0x478741,_0x20ee19){const _0x140bfd=this['_users']['addUser'](_0x478741);return _0x20ee19&&this['_users']['defineMe'](_0x478741['id']),_0x140bfd['orderNumber']=this['_uniqueUsersCount']++,_0x140bfd;}}class P extends _0x2f9917{['_domEmitter']=new(_0x20be11())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2aafc4=this['editor'],_0x2fb94a=_0x2aafc4['plugins']['get'](i);_0x2aafc4['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3945c8,{writer:_0x381c4c})=>function(_0x4b81cb,_0x219f3f,_0x335c28,_0x221d16){const _0x363482=_0x4b81cb['markerName']['split'](':')[0x2],_0x247ebc=_0x335c28['getUserBySessionId'](_0x363482);if(!_0x247ebc||_0x363482===_0x335c28['mySessionId'])return;if(!_0x221d16['model']['schema']['checkChild'](_0x4b81cb['markerRange']['start'],'$text'))return;const _0x2c0bf3={'class':'ck-user__marker\x20'+_0x247ebc['color']['getMarkerClass'](),'data-name':_0x247ebc['name'],'data-session-id':_0x363482},_0x78858a=_0x221d16['model']['markers']['get'](_0x4b81cb['markerName']),_0x15b762=_0x78858a['getStart'](),_0x5e1da1=_0x15b762['nodeAfter'],_0x42d221=_0x221d16['model']['schema'];if(_0x5e1da1&&_0x42d221['isObject'](_0x5e1da1)&&_0x42d221['isInline'](_0x5e1da1)&&!_0x221d16['model']['markers']['get']('user:range:'+_0x363482)['getRange']()['isCollapsed'])return;const _0x35127e=_0x15b762['parent'];return _0x221d16['model']['schema']['isLimit'](_0x35127e)&&!_0x221d16['model']['hasContent'](_0x35127e)&&(_0x2c0bf3['contenteditable']=!0x1),function(_0x1bb77a,_0x9a1f96,_0x39b47f){const _0x3ad373=_0x1bb77a['createUIElement']('span',_0x9a1f96);return _0x1bb77a['setCustomProperty']('userPositionMarker',!0x0,_0x3ad373),_0x3ad373['render']=function(_0x247ca7){const _0x290ad1=this['toDomElement'](_0x247ca7),_0x3809ac=document['createElement']('span');return _0x3809ac['classList']['add']('ck-user__marker-tooltip'),_0x3809ac['setAttribute']('contenteditable','false'),_0x3809ac['setAttribute']('spellcheck','false'),_0x3809ac['textContent']=_0x39b47f['name'],_0x290ad1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3809ac['outerHTML']+'⁠',_0x290ad1['addEventListener']('mouseenter',()=>{_0x290ad1['classList']['add']('ck-user__marker_hovered');}),_0x290ad1['addEventListener']('mouseleave',()=>{_0x290ad1['classList']['remove']('ck-user__marker_hovered');}),_0x290ad1;},_0x3ad373['isSimilar']=function(_0xa2592e){return!(!this['getCustomProperty']('userPositionMarker')||!_0xa2592e['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xa2592e['getAttribute']('data-session-id'));},_0x3ad373;}(_0x219f3f,_0x2c0bf3,_0x247ebc);}(_0x3945c8,_0x381c4c,_0x2fb94a,_0x2aafc4)}),_0x2aafc4['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x171c78=>function(_0x5d67ef,_0x40efcf){const _0x48b3da=_0x5d67ef['markerName']['split'](':')[0x2];if(_0x48b3da===_0x40efcf['mySessionId'])return null;const _0x4bffd4=_0x40efcf['getUserBySessionId'](_0x48b3da);if(!_0x4bffd4)return{'id':_0x48b3da,'classes':[]};return{'id':_0x48b3da,'classes':['ck-user__selection',_0x4bffd4['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x48b3da},'priority':0x7d0+_0x4bffd4['orderNumber']};}(_0x171c78,_0x2fb94a)}),function(_0x265242){const _0x3f52e4=_0x265242['model'],_0x32e2f1=new Map(),_0x98c1fc=_0x265242['plugins']['get'](i);_0x3f52e4['markers']['on']('update:user:range',(_0x4ba116,_0x661e2e,_0xb8931e,_0x2c43da)=>{if(!_0x2c43da&&_0x32e2f1['get'](_0x661e2e['name']))return _0x32e2f1['get'](_0x661e2e['name'])['detach'](),void _0x32e2f1['delete'](_0x661e2e['name']);const _0x27976d=_0x661e2e['name']['split'](':')[0x2];if(_0x27976d===_0x98c1fc['mySessionId'])return;const _0x9ffe09='user:position:'+_0x27976d;_0x3f52e4['markers']['has'](_0x9ffe09)&&_0x265242['editing']['reconvertMarker'](_0x9ffe09),_0x661e2e['on']('change:range',(_0x7ba003,_0x48bef7,_0x1d05ad)=>{if('$graveyard'!=_0x48bef7['root']['rootName']&&'$graveyard'==_0x661e2e['getRange']()['root']['rootName']&&!_0x32e2f1['has'](_0x661e2e['name'])){const _0x460749=_0x3f52e4['schema']['getNearestSelectionRange'](_0x1d05ad['deletionPosition']);if(_0x460749){const _0x18c062=_0x3271bd['fromRange'](_0x460749);_0x32e2f1['set'](_0x661e2e['name'],_0x18c062),_0x18c062['on']('change:range',(_0x138e68,_0x439418,_0x238866)=>{if('$graveyard'==_0x18c062['root']['rootName']){const _0x1dfb07=_0x3f52e4['schema']['getNearestSelectionRange'](_0x238866['deletionPosition']);_0x1dfb07?(_0x18c062['start']=_0x1dfb07['start'],_0x18c062['end']=_0x1dfb07['end']):(_0x32e2f1['delete'](_0x661e2e['name']),_0x18c062['detach']());}});}}});}),_0x3f52e4['document']['on']('change',()=>{_0x32e2f1['size']>0x0&&_0x3f52e4['enqueueChange']({'isUndoable':!0x1},_0x3d7c9a=>{for(const [_0x1a1826,_0x56e2cc]of _0x32e2f1)'$graveyard'==_0x3f52e4['markers']['get'](_0x1a1826)['getRange']()['root']['rootName']&&(G(_0x1a1826['split'](':')[0x2],_0x56e2cc['toRange'](),_0x3f52e4,_0x3d7c9a),_0x56e2cc['detach']());_0x32e2f1['clear']();});});}(_0x2aafc4),this['_domEmitter']['listenTo'](_0x27bd36['document'],'keydown',(_0x381d52,{key:_0x417933})=>{'Escape'===_0x417933&&function(_0x119eaf){_0x119eaf['editing']['view']['change'](_0x4d4d9c=>{for(const _0x556d3d of _0x119eaf['model']['markers']){if(!_0x556d3d['name']['startsWith']('user:position'))continue;const _0x279d46=_0x119eaf['editing']['mapper']['markerNameToElements'](_0x556d3d['name']);if(_0x279d46){for(const _0x5124d0 of _0x279d46)_0x4d4d9c['removeClass']('ck-user__marker_hovered',_0x5124d0);}}});}(_0x2aafc4);},{'useCapture':!0x0});}['afterInit'](){const _0xaca42e=this['editor'],_0x1cec4a=_0xaca42e['commands']['get']('undo');_0x1cec4a&&_0xaca42e['model']['on']('applyOperation',(_0x14d398,_0x21e05d)=>{const _0x544997=_0x21e05d[0x0];if(!_0x544997['isDocumentOperation'])return;if('marker'!=_0x544997['type']||!_0x544997['name']['startsWith']('user:'))return;const _0x337e31=_0x544997['batch'];_0x1cec4a['_createdBatches']['has'](_0x337e31)&&(_0x544997['newRange']=_0x544997['oldRange']?_0xaca42e['model']['createRange'](_0x544997['oldRange']['start'],_0x544997['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4fc7a9=this['editor'],_0x1244d5=_0x4fc7a9['model']['document'],_0x34caeb=_0x4fc7a9['plugins']['get'](i);_0x4fc7a9['model']['enqueueChange']({'isUndoable':!0x1},_0x1010ae=>{const _0x595639='user:range:'+_0x34caeb['mySessionId'],_0x4db344='user:position:'+_0x34caeb['mySessionId'],_0x38d8a8=_0x4fc7a9['model']['markers']['has'](_0x595639);_0x4fc7a9['editing']['view']['hasDomSelection']?G(_0x34caeb['mySessionId'],_0x1244d5['selection']['getFirstRange'](),_0x4fc7a9['model'],_0x1010ae):_0x38d8a8&&(_0x1010ae['removeMarker'](_0x595639),_0x1010ae['removeMarker'](_0x4db344));});}}function G(_0x112927,_0x15ac22,_0x52f3f1,_0x479649){const _0x1a3aac='user:range:'+_0x112927,_0x3e5107='user:position:'+_0x112927,_0x376329=_0x15ac22['getContainedElement']();let _0x580732=_0x15ac22['start'];if(_0x376329&&_0x376329['is']('element','tableCell')){const _0x4571ea=function(_0x3c868f,_0x426039){for(const _0x4ad0cd of _0x3c868f['getPositions']())if(_0x426039['schema']['checkChild'](_0x4ad0cd,'$text'))return _0x4ad0cd;}(_0x15ac22,_0x52f3f1);_0x4571ea&&(_0x580732=_0x4571ea,_0x15ac22=_0x479649['createRange'](_0x580732));}const _0x15695c=_0x479649['createRange'](_0x580732);_0x52f3f1['markers']['has'](_0x1a3aac)?(_0x479649['updateMarker'](_0x1a3aac,{'range':_0x15ac22}),_0x479649['updateMarker'](_0x3e5107,{'range':_0x15695c})):(_0x479649['addMarker'](_0x1a3aac,{'range':_0x15ac22,'usingOperation':!0x0}),_0x479649['addMarker'](_0x3e5107,{'range':_0x15695c,'usingOperation':!0x0}));}function U(_0x1056b4,_0x3e7ee5,_0x20105a){const _0x4c5678=_0x1056b4['t'],t=_0x1056b4['t'];switch(_0x3e7ee5){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 _0x4c5678({'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'},_0x20105a);default:return'';}}let N=0x1;class l extends _0x2f9917{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x5a3001)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,P,_0x2a2a9f,_0x688a1d,_0xcbf99a];}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 _0x498389=this['serverHistory']['getOperations']();for(let _0x3cfe1b=_0x498389['length']-0x1;_0x3cfe1b>=0x0;_0x3cfe1b--){const _0x48957c=_0x498389[_0x3cfe1b];if(!this['_disconnectionOperations']['has'](_0x48957c))return _0x48957c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1c2484){if(super(_0x1c2484),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x29b035(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2cb01c('collaboration-missing-channelid',this);const _0x2ba962=_0x1c2484['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x2ba962,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4123aa(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new M(this['_disconnectionOperations']);}['init'](){const _0xa39f9d=this['editor'],_0xbcde3=_0xa39f9d['plugins']['get'](_0x688a1d),_0x163409=_0xa39f9d['plugins']['get'](n);this['listenTo'](_0xbcde3,'getOperationAuthor',(_0x4b67df,_0x481db7)=>{const _0x229046=_0x481db7[0x0];_0x229046['_authorId']&&(_0x4b67df['return']=_0xbcde3['getUser'](_0x229046['_authorId']),_0x4b67df['stop']()),null===_0x229046['_authorId']&&(_0x4b67df['return']=null,_0x4b67df['stop']());},{'priority':'high'}),this['listenTo'](_0xa39f9d['model']['document']['selection'],'change:range',(_0x457009,_0x1880c0)=>{_0x1880c0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xa39f9d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xa39f9d['model']['on']('applyOperation',(_0x236dfd,_0x52ad3a)=>{const _0x44e7f3=_0x52ad3a[0x0];_0x44e7f3['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x44e7f3),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x163409,'state',this,'_hasSynchronizationProblem',(_0x545b35,_0x473c19)=>'connected'===_0x545b35&&!_0x473c19),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xa39f9d['disableReadOnlyMode']('rtc-offline'):_0xa39f9d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xa39f9d['disableReadOnlyMode']('rtc-offline'):_0xa39f9d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x220b37=this['editor']['plugins']['get'](i),_0x33e30e=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x220b37['unregister'](this['_channelId']);const _0x30b9c4=await this['_service']['reconnect'](_0x33e30e['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30b9c4)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1cfa5f=await this['_service']['getConnectedSessions']();_0x220b37['register'](this['_channelId'],_0x1cfa5f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x316b7d){if(function(_0x58341b){return'404'===_0x58341b['code'];}(_0x316b7d)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2f97cc){return'409'===_0x2f97cc['code'];}(_0x316b7d)){const _0xb06c10=U(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'](_0xb06c10);}else{if(!(_0x316b7d instanceof B))throw _0x316b7d;this['_handleReconnectionError']();}}}}['destroy'](){const _0x760394=this['editor']['plugins']['get'](n),_0xed5e8f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xed5e8f['channelSessions']['has'](this['_channelId'])&&_0xed5e8f['unregister'](this['_channelId']),_0x760394['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x4e0489){if(this['sessionId']!==_0x4e0489['sessionId']&&this['_lastSyncedOperationId']!==_0x4e0489['lastOperationId'])throw new B();return this['sessionId']=_0x4e0489['sessionId'],this['_handleServerResponse']([],{..._0x4e0489,'wereChangesApplied':!0x1,'data':_0x4e0489['data']},'reconnect');}async['_connectService'](_0x24f898,_0x5813e9=!0x1){const {connection:_0x2037f3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2037f3,this['_channelId'])['then'](_0x111f8a=>this['_initSessionsHandling'](_0x111f8a))['catch'](_0x450339=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x450339);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x228e59,_0x380406)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x380406);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2cbb3e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24f898);this['_isPendingUpdate']=!0x0;const _0x2a7bc0=await this['_service']['connect'](_0x2037f3,this['_compressOperations'](_0x24f898),_0x2cbb3e);if(this['sessionId']=_0x2a7bc0['sessionId'],_0x5813e9){if(!_0x2a7bc0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2a7bc0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x24f898,_0x2a7bc0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2a7bc0,_0x24f898);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x31db01=this['editor']['plugins']['get'](i),_0x2e2cdd=this['editor']['plugins']['get'](P),_0xda0496=_0x31db01['channelSessions']['get'](this['_channelId']);_0xda0496&&_0xda0496['length']>0x1?_0x2e2cdd['createUserMarkerOperations']():this['listenTo'](_0x31db01,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x31db01['channelSessions']['get'](this['_channelId'])['length']&&_0x2e2cdd['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x40ccbb,_0x14def3,_0x34d308,_0x132b01){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x14def3){const _0xbfc2d7=this['_decompressOperations'](_0x34d308,_0x132b01);await this['_fetchMissingUsers'](_0xbfc2d7),this['_handleExternalOperations'](_0xbfc2d7,_0x14def3,_0x34d308['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x102e71}=this['editor'];let _0x4fac6b;try{_0x4fac6b=await this['_service']['getDocumentDetails']();}catch{const _0xabef3a=U(_0x102e71,'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'](_0xabef3a);}const _0x2b173c=_0x4fac6b['currentDocumentSession']||_0x4fac6b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x2b173c['lastOperationId']){const _0x404ef3=U(_0x102e71,'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'](_0x404ef3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2ca492){const _0x49b960=this['editor']['plugins']['get'](i);this['listenTo'](_0x49b960,'sessionAdd:'+this['_channelId'],(_0x1b4222,{session:_0x4eb91f})=>{if(_0x4eb91f['id']===_0x49b960['mySessionId']){_0x1b4222['off']();const _0x14a637=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1dcf6f=_0x4eb91f['permissions'];_0x14a637&&_0x14a637['isEnabled']&&(_0x1dcf6f=_0x1dcf6f['filter'](_0x4b990c=>'document:write'!==_0x4b990c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1dcf6f,this['_channelId']);}}),_0x49b960['register'](this['_channelId'],_0x2ca492);}['_initThrowingOnDataSet'](){const _0x484938=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1565d0)=>{if(!_0x1565d0[_0x1565d0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2cb01c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x484938['apply'](this['editor']['data'],_0x1565d0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x28ea90,[_0xe9dd11])=>{if(this['_document']['version'])throw new _0x2cb01c('realtimecollaborationclient-init-document-already-initialized',this);_0x28ea90['stop'](),this['_setPendingAction']();const _0x21731b=this['editor']['config']['get']('rootsAttributes'),_0x123c35=this['_getOperationsFromInitData'](_0xe9dd11,_0x21731b);0x0==_0x123c35['length']&&_0x123c35['push'](new _0x2e8c85(0x0)),_0x28ea90['return']=this['_connectService'](_0x123c35)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1902e4=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1902e4))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x46fb16,[_0x4ee1e0,_0x1691c1])=>{_0x46fb16['stop']();const _0x37d831=this['editor']['model']['document']['getRoot'](_0x4ee1e0);if(!this['_knownRootNames']['has'](_0x4ee1e0)){const _0x2cfdce=_0x1691c1&&_0x1691c1['data']?_0x1691c1['data']:'',_0x5ac82b=_0x1691c1&&_0x1691c1['attributes']?_0x1691c1['attributes']:{};await this['_loadRoot'](_0x4ee1e0,_0x2cfdce,_0x5ac82b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x37d831['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x37d831);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x16506a){const _0x174b1d=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x529e93}=this['editor']['plugins']['get'](n),_0x218367=new Set();for(const _0x49dd0f of _0x16506a){const _0x1f837e=_0x49dd0f['_authorId'];_0x1f837e&&!_0x174b1d['getUser'](_0x1f837e)&&_0x218367['add'](_0x1f837e);}if(0x0===_0x218367['size'])return;const _0x42a92d=await ut['getMany'](_0x529e93,Array['from'](_0x218367));for(const _0x24bb2b of _0x42a92d)_0x174b1d['getUser'](_0x24bb2b['id'])||_0x174b1d['addUser'](_0x24bb2b);}['_getOperationsFromInitData'](_0x1f0e8c,_0x54483c={}){const _0x190cb0=this['editor']['model'],_0x5a2bfa=[];let _0x5ce61c=0x0;const _0x5bd2ff='string'==typeof _0x1f0e8c?{'main':_0x1f0e8c}:_0x1f0e8c;for(const _0x1b3864 of Object['keys'](_0x5bd2ff)){if(!this['_document']['roots']['has'](_0x1b3864))throw new _0x2cb01c('realtimecollaborationclient-init-non-existent-root',this);const _0xe2ef20=this['editor']['data']['parse'](_0x5bd2ff[_0x1b3864]),_0x59f1f7=this['_document']['getRoot'](_0x1b3864),_0x369e02=new _0xa21fa5(_0x190cb0['createPositionAt'](_0x59f1f7,0x0),_0xe2ef20,_0x5ce61c++);_0x5a2bfa['push'](_0x369e02);for(const [_0x2d1f9d,_0xa296ff]of _0xe2ef20['markers']){const _0x2de683=_0x190cb0['createRange'](_0x190cb0['createPositionFromPath'](_0x59f1f7,_0xa296ff['start']['path']['slice']()),_0x190cb0['createPositionFromPath'](_0x59f1f7,_0xa296ff['end']['path']['slice']())),_0x1dfc9c=new _0x4e4c61(_0x2d1f9d,null,_0x2de683,_0x190cb0['markers'],!0x0,_0x5ce61c++);_0x5a2bfa['push'](_0x1dfc9c);}}if(_0x54483c)for(const [_0x453ff8,_0x5f1ae0]of Object['entries'](_0x54483c)){const _0x124d93=_0x190cb0['document']['getRoot'](_0x453ff8);if(!_0x124d93)throw new _0x2cb01c('multi-root-editor-root-attributes-no-root',null);for(const [_0x3bdc89,_0x1ac5a1]of Object['entries'](_0x5f1ae0))if(null!==_0x1ac5a1){const _0x17fcee=new _0x5749dc(_0x124d93,_0x3bdc89,null,_0x1ac5a1,_0x5ce61c++);_0x5a2bfa['push'](_0x17fcee);}}return _0x5a2bfa;}async['_loadRoot'](_0x3be1d3,_0x41e49b,_0x25048d){this['_getOperationsFromInitData']({[_0x3be1d3]:_0x41e49b},{[_0x3be1d3]:_0x25048d})['forEach']((_0x18a8e5,_0x1f97f6)=>{_0x18a8e5['baseVersion']=this['_document']['version']+_0x1f97f6,_0x18a8e5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18a8e5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x16e69b,_0x16a8ff){let _0x647831;this['_offset']=_0x16e69b['offset'];const _0x29f60a=_0x16e69b['wereChangesApplied']&&!_0x16e69b['initData'],_0x22d35b=_0x29f60a?0x0:_0x16e69b['data']['baseVersion'];if(_0x16a8ff['forEach'](_0x5cfd64=>{_0x5cfd64['_isInit']=!0x0,_0x5cfd64['createdAt']=_0x16e69b['sessionCreatedAt'],_0x5cfd64['_authorId']=null;}),_0x29f60a)_0x647831=_0x16a8ff,this['_applyOperationsSet'](_0x647831,_0x29f60a);else{if(_0x16e69b['initData']){const _0x1240bd=this['_getOperationsFromInitData'](_0x16e69b['initData']);this['_document']['history']['version']=-_0x1240bd['length'],_0x1240bd['forEach'](_0x2e4fd=>{_0x2e4fd['baseVersion']-=_0x1240bd['length'],_0x2e4fd['createdAt']=_0x16e69b['sessionCreatedAt'],_0x2e4fd['_isInit']=!0x0,_0x2e4fd['_authorId']=null;}),this['_applyOperationsSet'](_0x1240bd,!0x0),this['serverHistory']['version']=-_0x1240bd['length']+this['_offset'],this['_updateServerHistory'](_0x1240bd);}this['_document']['history']['version']=_0x22d35b,_0x647831=this['_decompressOperations'](_0x16e69b['data'],_0x16e69b['metadata']),await this['_fetchMissingUsers'](_0x647831),this['_applyOperationsSet'](_0x647831,_0x29f60a);}_0x16e69b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x647831,_0x16e69b['lastOperationId']),this['_lastSyncedOperationId']=_0x16e69b['lastOperationId']),this['serverHistory']['version']=_0x22d35b+this['_offset'],this['_updateServerHistory'](_0x647831),_0x16a8ff['filter'](_0xa65958=>{const _0x37ff22=this['_getAffectedRoot'](_0xa65958);return _0x37ff22&&!this['_knownRootNames']['has'](_0x37ff22);})['forEach']((_0x24e505,_0x279958)=>{_0x24e505['baseVersion']=this['_document']['version']+_0x279958,this['_saveOperationInBuffer'](_0x24e505);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x21b57f,_0x21ee45){const _0x1a63e3=_0x21ee45&&_0x21ee45['message'];if(_0x1a63e3&&_0x1a63e3['startsWith']('realtimecollaborationclient'))throw _0x21ee45;const _0x2edaa6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2edaa6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2cb01c(_0x21b57f,this['editor'],_0x1a63e3?{'originalError':_0x1a63e3}:void 0x0);}['_saveOperationInBuffer'](_0x45b26e){this['_knownOperations']['has'](_0x45b26e)||(this['_knownOperations']['add'](_0x45b26e),this['_bufferedOperations']['push'](_0x45b26e),this['_pendingAction']||'marker'==_0x45b26e['type']&&!_0x45b26e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5d9b39=!0x1){!_0x5d9b39&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x46ca88=>{_0x46ca88&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x54799d=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x405880){return _0x405880['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x405880['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x405880['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x54799d)||this['_crash'](_0x54799d['message'],_0x54799d);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2eff59=>{this['on']('change:_isPendingUpdate',()=>{_0x2eff59();});});}async['_sendBufferedOperations'](){const _0x367c7b=this['editor']['plugins']['get'](P);if(this['_shouldSendSelectionUpdate']()&&(_0x367c7b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x351a62=[...this['_bufferedOperations']];for(const _0x4d5b39 of _0x351a62)_0x4d5b39['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4d5b39);const _0x43602=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x351a62),_0x2888e4=N++,_0x27544e=this['_compressOperations'](_0x351a62),_0x19a4fa=await this['_service']['sendOperations'](_0x27544e,_0x27544e['baseVersion'],_0x43602);try{return await this['_handleServerResponse'](_0x351a62,_0x19a4fa,_0x2888e4);}catch(_0x1fc5df){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1fc5df);}}async['_handleServerResponse'](_0x320914,_0x2831b3,_0x2b25b8){if('error'in _0x2831b3)throw _0x2831b3['error'];let _0x498266=!0x1;if(_0x2831b3['wereChangesApplied']){_0x2831b3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2831b3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xf3b663=>!_0x320914['includes'](_0xf3b663));for(const _0x4787e0 of _0x320914)_0x4787e0['createdAt']='lastOperationAcceptedAt'in _0x2831b3&&_0x2831b3['lastOperationAcceptedAt']||void 0x0;x(_0x320914,_0x2831b3['version']-_0x320914['length']),this['_updateServerHistory'](_0x320914);const _0x564aa9=_0x320914['filter'](_0x5925db=>{if(!_0x5925db['_isInit'])return!0x1;const _0x34dcac=this['_getAffectedRoot'](_0x5925db);return _0x34dcac&&!this['_knownRootNames']['has'](_0x34dcac);});x(_0x564aa9,this['_document']['version']),this['_applyOperationsSet'](_0x564aa9),_0x498266=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x432da0=this['_decompressOperations'](_0x2831b3['data'],_0x2831b3['metadata'])['filter'](_0x5c2474=>_0x5c2474['baseVersion']>=this['_lastServerVersion']);_0x432da0['forEach'](_0x1bfea4=>this['_addKnownRoot'](_0x1bfea4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x68241b=>!_0x68241b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x68241b))),this['_bufferedOperations']['length']&&x(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x432da0),_0x498266=this['_handleExternalOperations'](_0x432da0,_0x2831b3['version'],_0x2831b3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x498266?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3c06fb,_0x4207f,_0x501ac7){try{const _0x22bf07={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x56bd19,operationsB:_0x48d238,originalOperations:_0x371797}=_0x4eebe0(_0x3c06fb,this['_bufferedOperations'],_0x22bf07);x(_0x56bd19,this['_document']['version']),x(_0x48d238,_0x4207f);for(const _0x93804c of _0x56bd19){const _0x59b0b4=_0x371797['get'](_0x93804c);_0x93804c['_authorId']=_0x59b0b4?_0x59b0b4['_authorId']:null;}_0x501ac7&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3c06fb,_0x501ac7),this['_lastSyncedOperationId']=_0x501ac7),this['_bufferedOperations']=[..._0x48d238],this['_applyOperationsSet'](_0x56bd19),this['_updateServerHistory'](_0x3c06fb);}catch(_0x46f3c2){return console['error'](_0x46f3c2),!0x1;}return!0x0;}['_applyOperationsSet'](_0x23b33a,_0x2b2ce8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x49da41=>{for(const _0xf831fb of _0x23b33a)this['_knownOperations']['add'](_0xf831fb),this['_addKnownRoot'](_0xf831fb),_0x49da41['batch']['addOperation'](_0xf831fb),this['editor']['model']['applyOperation'](_0xf831fb);});}['_addKnownRoot'](_0x13fef6){const _0x7325aa=this['_getAffectedRoot'](_0x13fef6);_0x7325aa&&this['_knownRootNames']['add'](_0x7325aa);}['_getAffectedRoot'](_0x8eccc0){let _0x5e1e67,_0x4e2a50;switch(_0x8eccc0['type']){case'insert':_0x5e1e67=_0x8eccc0['position']['root'];break;case'marker':if(_0x4e2a50=_0x8eccc0['newRange'],!_0x4e2a50)return null;_0x5e1e67=_0x4e2a50['root'];break;case'addRootAttribute':_0x5e1e67=_0x8eccc0['root'];break;case'addRoot':_0x5e1e67=_0x8eccc0['affectedSelectable'];break;case'move':_0x5e1e67=_0x8eccc0['targetPosition']['root'];break;default:return null;}return _0x5e1e67['rootName'];}['_updateServerHistory'](_0x4f92b7){_0x4f92b7['forEach'](_0xd5a44a=>{const _0x115ad3=_0xd5a44a['clone']();_0x115ad3['_authorId']=_0xd5a44a['_authorId'],_0x115ad3['_isInit']=!!_0xd5a44a['_isInit'],_0x115ad3['createdAt']=_0xd5a44a['createdAt'],_0x115ad3['baseVersion']+=this['_offset'],_0xd5a44a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x115ad3),this['serverHistory']['addOperation'](_0x115ad3);});}['_handleReconnectionError'](_0x19438d){const _0x5e959a=this['editor']['plugins']['get']('Notification'),_0x4e993d=this['editor']['locale'];_0x19438d||(_0x19438d=U(_0x4e993d,'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.')),_0x5e959a['showWarning'](_0x19438d,{'title':U(_0x4e993d,'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'](_0x2a2a9f)['add'](U(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2a2a9f)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x30b50d){const _0x15c8ac=_0x30b50d['map'](_0x2b159e=>_0x2b159e['toJSON']());return this['_compressor']['compress'](_0x15c8ac);}['_decompressOperations'](_0x16f7af,_0x5a43b6){return this['_compressor']['decompress'](_0x16f7af)['map']((_0x33ed5c,_0x418a1d)=>{const _0x253865='init'==_0x5a43b6[_0x418a1d]['type'];if('InsertOperation'==_0x33ed5c['__className']){const _0x3e8748=_0x33ed5c['position']['root'];!this['_document']['getRoot'](_0x3e8748)&&(this['_document']['createRoot']('$root',_0x3e8748)['_isAttached']=!0x1);}const _0x358b37=_0x493c8d['fromJSON'](_0x33ed5c,this['_document']);return _0x358b37['wasUndone']=_0x33ed5c['wasUndone'],_0x358b37['_isInit']=_0x253865,_0x358b37['_authorId']=_0x253865?null:_0x5a43b6[_0x418a1d]['userId'],_0x358b37['_isDisconnection']='cs:removeUser'===_0x5a43b6[_0x418a1d]['type'],_0x358b37['createdAt']=_0x5a43b6[_0x418a1d]['createdAt'],_0x358b37;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x47afe7=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x47afe7&&_0x47afe7['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class B extends Error{}function x(_0x16641b,_0x5aecce){for(const _0x37770e of _0x16641b)_0x37770e['baseVersion']=_0x5aecce++;}class M{['_ignoredOperations'];['_operationToId'];constructor(_0x1134ec){this['_ignoredOperations']=_0x1134ec,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2e4f28){let _0x28b420=_0x2e4f28['length'];for(;_0x28b420--;){const _0x3bf032=_0x2e4f28[_0x28b420];if(!this['_ignoredOperations']['has'](_0x3bf032)){if(!this['_operationToId']['has'](_0x3bf032)){const _0x1c7c1d=_0x24a687()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3bf032,_0x1c7c1d);}return this['_operationToId']['get'](_0x3bf032);}}}['setIdForTheLastOperation'](_0x5b2323,_0x2d12ef){if(!_0x2d12ef)return;let _0x1a4d10=_0x5b2323['length'];for(;_0x1a4d10--;){const _0x1d9420=_0x5b2323[_0x1a4d10];this['_ignoredOperations']['has'](_0x1d9420)||this['_operationToId']['set'](_0x1d9420,_0x2d12ef);}}}class a extends _0x2f9917{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1e7b17{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x25f3cf)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x688a1d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x24eb2d){super(_0x24eb2d),this['_services']=new Map();}async['init'](){const _0x5df8ce=this['context'],_0xd0499d=_0x5df8ce['plugins']['get']('CommentsRepository');if(_0x5df8ce['plugins']['get'](n)['addToReconnectionStack'](this),_0xd0499d['adapter']={'addCommentThread':async({channelId:_0x16a85c,threadId:_0x57423e,comments:_0x49747a,resolvedAt:_0x4c4568,resolvedBy:_0x4fbd81,context:_0x2a7c2b,attributes:_0x334ccc})=>{const _0x387878=await this['_getService'](_0x16a85c)['addCommentThread']({'commentThreadId':_0x57423e,'comments':_0x49747a['map'](_0x54269e=>function(_0x1f002b,_0x12742b,_0x1dff46){return{'commentThreadId':_0x1dff46,'commentId':_0x1f002b['commentId'],'userId':_0x1f002b['authorId'],'content':_0x1f002b['content'],'documentId':_0x12742b,'createdAt':_0x1f002b['createdAt'],'attributes':_0x1f002b['attributes']||{}};}(_0x54269e,_0x16a85c,_0x57423e)),'resolvedAt':_0x4c4568,'resolvedBy':_0x4fbd81,'context':_0x2a7c2b,'attributes':_0x334ccc})['catch'](ft);return{'threadId':_0x387878['commentThreadId'],'comments':_0x387878['comments']};},'getCommentThread':async({channelId:_0x4ebbd3,threadId:_0x43bb15})=>{const _0x4aedd2=await this['_getService'](_0x4ebbd3)['getCommentThread'](_0x43bb15)['catch'](v)['catch'](ft);return _0x4aedd2?_0x4aedd2['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4aedd2]),{'threadId':_0x4aedd2['commentThreadId'],'comments':_0x4aedd2['comments']['map'](p),'context':_0x4aedd2['context'],'resolvedAt':_0x4aedd2['resolvedAt'],'resolvedBy':_0x4aedd2['resolvedBy'],'attributes':_0x4aedd2['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x266012,threadId:_0x21abd9,context:_0x368ae9,unlinkedAt:_0x413bda,attributes:_0x1c64e0})=>this['_getService'](_0x266012)['updateCommentThread']({'commentThreadId':_0x21abd9,'context':_0x368ae9,'attributes':_0x1c64e0,'unlinkedAt':_0x413bda})['catch'](v)['catch'](ft),'resolveCommentThread':async({channelId:_0x509f22,threadId:_0x8804ac})=>{const _0x1628c9=await this['_getService'](_0x509f22)['resolveCommentThread'](_0x8804ac)['catch'](v)['catch'](ft);return{'threadId':_0x1628c9['commentThreadId'],'resolvedAt':_0x1628c9['resolvedAt'],'resolvedBy':_0x1628c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ef2cc,threadId:_0x286ba1})=>this['_getService'](_0x3ef2cc)['reopenCommentThread'](_0x286ba1)['catch'](v)['catch'](ft),'removeCommentThread':({channelId:_0x3e9377,threadId:_0x2e8184})=>this['_getService'](_0x3e9377)['removeCommentThread'](_0x2e8184)['catch'](v)['catch'](ft),'addComment':({channelId:_0x2c2b27,threadId:_0x297163,commentId:_0x220522,content:_0x4598ad,attributes:_0x442088})=>this['_getService'](_0x2c2b27)['addComment'](_0x297163,_0x220522,_0x4598ad,_0x442088)['catch'](ft),'updateComment':({channelId:_0x2e45ad,threadId:_0x453ccd,commentId:_0x21f088,content:_0x4c8f53,attributes:_0xa85960})=>this['_getService'](_0x2e45ad)['updateComment'](_0x453ccd,_0x21f088,_0x4c8f53,_0xa85960)['catch'](v)['catch'](ft),'removeComment':({channelId:_0x4bfe5b,threadId:_0x51d525,commentId:_0x2a1ed3})=>this['_getService'](_0x4bfe5b)['removeComment'](_0x51d525,_0x2a1ed3)['catch'](v)['catch'](ft)},_0x5df8ce instanceof _0x4399a8){const _0x465da3=_0x5df8ce['config']['get']('collaboration.channelId'),_0x47519d=_0x5df8ce['plugins']['get'](i);await this['_setUpService'](_0x465da3);const _0x5afe6a=await this['_services']['get'](_0x465da3)['getConnectedSessions']();this['listenTo'](_0x47519d,'sessionAdd:'+_0x465da3,(_0x2a2390,{session:_0x28d0f2})=>{_0x28d0f2['id']===_0x47519d['mySessionId']&&(_0x2a2390['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x28d0f2['permissions'],_0x465da3));}),_0x47519d['register'](_0x465da3,_0x5afe6a);}}async['_setUpService'](_0x4dbd45){if(this['_services']['has'](_0x4dbd45))throw new _0x2cb01c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4dbd45});const _0x392f49=this['context']['plugins']['get']('CommentsRepository'),_0x45a8ff=new s['CommentsService'](_0x4dbd45);this['_services']['set'](_0x4dbd45,_0x45a8ff),this['listenTo'](_0x45a8ff,'commentThreadAdded',(_0x2eaa75,_0x31e103)=>{const {commentThreadId:_0x4f6c25,documentId:_0x4a98fd,context:_0x356f6d,attributes:_0x34f189,resolvedAt:_0x31d795,resolvedBy:_0x4b1721,comments:_0x4a867a}=_0x31e103;_0x392f49['getCommentThread'](_0x4f6c25)||_0x392f49['addCommentThread']({'threadId':_0x4f6c25,'channelId':_0x4a98fd,'comments':_0x4a867a?_0x4a867a['map'](p):[],'context':_0x356f6d,'attributes':_0x34f189,'resolvedAt':_0x31d795,'resolvedBy':_0x4b1721,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadUpdated',(_0x16c2ae,{commentThreadId:_0x42d3bd,documentId:_0x39f51c,context:_0x1fef51,unlinkedAt:_0x3e1e89,attributes:_0x40fc30})=>{_0x392f49['getCommentThread'](_0x42d3bd)&&_0x392f49['updateCommentThread']({'threadId':_0x42d3bd,'channelId':_0x39f51c,'context':_0x1fef51,'unlinkedAt':_0x3e1e89,'attributes':_0x40fc30,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadResolved',(_0x384756,{commentThreadId:_0x1af342,resolvedBy:_0xd9f2e9,resolvedAt:_0x58efb7})=>{const _0x1d34e3=_0x392f49['getCommentThread'](_0x1af342);_0x1d34e3&&_0x1d34e3['resolve']({'resolvedBy':_0xd9f2e9,'resolvedAt':_0x58efb7,'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadReopened',(_0x429923,{commentThreadId:_0x3e38db})=>{const _0xb14533=_0x392f49['getCommentThread'](_0x3e38db);_0xb14533&&_0xb14533['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentThreadRemoved',(_0x56dab3,{commentThreadId:_0xc339ae})=>{const _0x4616bc=_0x392f49['getCommentThread'](_0xc339ae);_0x4616bc&&_0x4616bc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentAdded',(_0x4a66be,_0xb872cf)=>{const _0x5852c9=_0xb872cf['commentThreadId'],_0x2c453f=_0x392f49['getCommentThread'](_0x5852c9);_0x2c453f&&_0x2c453f['addComment']({...p(_0xb872cf),'isFromAdapter':!0x0});}),this['listenTo'](_0x45a8ff,'commentUpdated',(_0x467e1c,{commentThreadId:_0x488112,commentId:_0x3c4a53,content:_0x1fe032,attributes:_0x56cb81})=>{const _0xcf75a9=_0x392f49['getCommentThread'](_0x488112);if(_0xcf75a9){const _0x486ca2=_0xcf75a9['getComment'](_0x3c4a53);_0x486ca2&&_0x486ca2['update']({'content':_0x1fe032,'attributes':_0x56cb81,'isFromAdapter':!0x0});}}),this['listenTo'](_0x45a8ff,'commentRemoved',(_0xeb8026,{commentThreadId:_0x2b56fd,commentId:_0x8f504a})=>{const _0x200a1c=_0x392f49['getCommentThread'](_0x2b56fd);if(_0x200a1c){const _0x9d6055=_0x200a1c['getComment'](_0x8f504a);_0x9d6055&&_0x9d6055['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4dbd45);}['destroy'](){if(this['context']instanceof _0x4399a8){const _0x36578a=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x36578a);}}['_terminateService'](_0x3f89d6){if(!this['_services']['has'](_0x3f89d6))throw new _0x2cb01c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x3f89d6});this['_getService'](_0x3f89d6)['disconnect'](),this['_services']['delete'](_0x3f89d6);}async['reconnect'](){for(const _0x30b733 of this['_services']['keys']())await this['_connectService'](_0x30b733);if(this['context']instanceof _0x4399a8){const _0x5e4180=this['context']['config']['get']('collaboration.channelId'),_0x58ae15=this['context']['plugins']['get'](i);_0x58ae15['unregister'](_0x5e4180);const _0x4152eb=await this['_services']['get'](_0x5e4180)['getConnectedSessions']();_0x58ae15['register'](_0x5e4180,_0x4152eb);}}async['_connectService'](_0x1cd287){const {connection:_0x3888ac}=this['context']['plugins']['get'](n),_0x35e34f=this['context']['plugins']['get']('CommentsRepository'),_0x51344f=this['_services']['get'](_0x1cd287),_0x1f4d2b=await _0x51344f['connect'](_0x3888ac);await this['_fetchMissingUsersForThreads'](_0x1f4d2b);const _0x3caff8=new Set(Array['from'](_0x35e34f['getCommentThreads']({'channelId':_0x1cd287}),_0x34ca56=>_0x34ca56['id']));for(const _0x25cdab of _0x1f4d2b)_0x25cdab['deletedAt']||_0x3caff8['delete'](_0x25cdab['commentThreadId']);for(const _0x41ec7c of _0x3caff8)_0x35e34f['getCommentThread'](_0x41ec7c)['remove']({'isFromAdapter':!0x0});for(const _0x587724 of _0x1f4d2b){let _0x348fb3=_0x35e34f['getCommentThread'](_0x587724['commentThreadId']);const {commentThreadId:_0x3ddf09,context:_0x5e114e,attributes:_0x1e5cb8,resolvedBy:_0x12232b,resolvedAt:_0xbc610c,unlinkedAt:_0x3d3843,deletedAt:_0x5bdffa}=_0x587724;if(_0x5bdffa)continue;_0x348fb3||(_0x348fb3=_0x35e34f['addCommentThread']({'channelId':_0x1cd287,'threadId':_0x3ddf09,'context':_0x5e114e,'attributes':_0x1e5cb8||{},'resolvedBy':_0x12232b,'resolvedAt':_0xbc610c,'unlinkedAt':_0x3d3843,'isFromAdapter':!0x0}));const _0x31632e=new Set(Array['from'](_0x348fb3['comments'],_0x36872b=>_0x36872b['id']));for(const _0x8ac10c of _0x587724['comments'])_0x31632e['delete'](_0x8ac10c['commentId']);for(const _0x580a8b of _0x31632e)_0x348fb3['getComment'](_0x580a8b)['remove']({'isFromAdapter':!0x0});for(const _0x160f55 of _0x587724['comments']){const _0x22dbb=_0x348fb3['getComment'](_0x160f55['commentId']);_0x22dbb?_0x22dbb['content']!==_0x160f55['content']&&_0x22dbb['update']({'content':_0x160f55['content'],'isFromAdapter':!0x0}):_0x348fb3['addComment'](Object['assign'](p(_0x160f55),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3c0411){if(!this['_services']['has'](_0x3c0411))throw new _0x2cb01c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3c0411});return this['_services']['get'](_0x3c0411);}async['_fetchMissingUsersForThreads'](_0x26d89d){const _0x23a77c=this['context']['plugins']['get'](_0x688a1d),{connection:_0xc196a0}=this['context']['plugins']['get'](n),_0x56db3f=new Set();for(const {resolvedBy:_0x2bcaf1,comments:_0x1b7ccd}of _0x26d89d){_0x2bcaf1&&!_0x23a77c['getUser'](_0x2bcaf1)&&_0x56db3f['add'](_0x2bcaf1);for(const {userId:_0x5e04bf}of _0x1b7ccd)_0x23a77c['getUser'](_0x5e04bf)||_0x56db3f['add'](_0x5e04bf);}if(0x0===_0x56db3f['size'])return;const _0x1e1ddb=await ut['getMany'](_0xc196a0,Array['from'](_0x56db3f));for(const _0x5c02de of _0x1e1ddb)_0x23a77c['getUser'](_0x5c02de['id'])||_0x23a77c['addUser'](_0x5c02de);}}async function v(_0x4db5ba){if('404'!==_0x4db5ba['code'])throw _0x4db5ba;}function ft(_0x5b104c){if((_0x215a82=_0x5b104c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x215a82['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x215a82['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x215a82;throw _0x5b104c;}function p(_0x75ea5c){return{'threadId':_0x75ea5c['commentThreadId'],'commentId':_0x75ea5c['commentId'],'content':_0x75ea5c['content'],'createdAt':_0x75ea5c['createdAt'],'authorId':_0x75ea5c['userId'],'attributes':_0x75ea5c['attributes']||{}};}class m extends _0x2f9917{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>it)());['_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(_0x209a9e){super(_0x209a9e);const _0x2784b9=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x2784b9);}['init'](){const _0x45b966=this['editor']['plugins']['get'](n),_0x448551=this['editor']['plugins']['get']('TrackChangesEditing');return _0x448551['adapter']={'getSuggestion':async _0x3f30e2=>{await this['_waitForServiceReady']();const _0xaeefde=await this['_trackChangesService']['get'](_0x3f30e2)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0xaeefde]),_0xaeefde;},'addSuggestion':async({id:_0x67696a,type:_0x58ef08,data:_0x7739cd,originalSuggestionId:_0x3fd196,attributes:_0x178bc2})=>{await this['_waitForServiceReady']();const _0x19ecef={'id':_0x67696a,'type':_0x58ef08,'data':_0x7739cd,'originalSuggestionId':_0x3fd196,'attributes':_0x178bc2},_0xd90968=await this['_trackChangesService']['add'](_0x67696a,_0x58ef08,_0x7739cd,_0x3fd196,_0x178bc2)['catch'](_0x446e12=>{if(mt(_0x446e12))return new Promise(_0x36fdb7=>{this['_bufferedRequests']['set'](_0x67696a,{'resolve':_0x36fdb7,'suggestionData':_0x19ecef});});throw _0x446e12;});return this['_bufferedRequests']['delete'](_0x67696a),_0xd90968;},'updateSuggestion':async(_0x4d93bf,_0x3262cd)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3262cd['state'])return this['_trackChangesService']['update'](_0x4d93bf,_0x3262cd)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3c282b,_0x432970)=>{_0x448551['hasSuggestion'](_0x432970['id'])&&(_0x448551['getSuggestion'](_0x432970['id'])['attributes']=_0x432970['attributes']);}),this['_trackChangesService']['connect'](_0x45b966['connection'])['then'](_0x3b7edf=>(_0x45b966['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3b7edf)['then'](()=>{for(const _0x4488d4 of _0x3b7edf){_0x448551['addSuggestionData'](_0x4488d4)['_saved']=!0x0;}})));}async['reconnect'](){const _0x20acac=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1ef174}=this['editor']['plugins']['get'](n),_0x497ed0=await this['_trackChangesService']['connect'](_0x1ef174);await this['_fetchMissingUsersForThreads'](_0x497ed0);for(const {suggestionData:_0x1696f3,resolve:_0x433492}of this['_bufferedRequests']['values']()){let _0x38b5ba=_0x497ed0['find'](_0x40c9d1=>_0x40c9d1['id']===_0x1696f3['id']);_0x38b5ba||(_0x38b5ba=await this['_trackChangesService']['add'](_0x1696f3['id'],_0x1696f3['type'],_0x1696f3['data'],_0x1696f3['originalSuggestionId'])),_0x433492(_0x38b5ba);}for(const _0x4bf469 of _0x497ed0)_0x20acac['hasSuggestion'](_0x4bf469['id'])||_0x20acac['addSuggestionData'](_0x4bf469);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x309c70=>{this['listenTo'](this['_trackChangesService'],'connected',_0x22070f=>{_0x22070f['off'](),_0x309c70();});});}async['_fetchMissingUsersForThreads'](_0x3fb596){const _0x41ff40=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x59372e}=this['editor']['plugins']['get'](n),_0x15f3c7=new Set();for(const {authorId:_0x3a45f1}of _0x3fb596)_0x41ff40['getUser'](_0x3a45f1)||_0x15f3c7['add'](_0x3a45f1);if(0x0===_0x15f3c7['size'])return;const _0x3503c9=await ut['getMany'](_0x59372e,Array['from'](_0x15f3c7));for(const _0x44ccf8 of _0x3503c9)_0x41ff40['getUser'](_0x44ccf8['id'])||_0x41ff40['addUser'](_0x44ccf8);}}function A(_0x40036e){if(mt(_0x40036e))return new Promise(()=>{});throw _0x40036e;}function mt(_0x4f01ec){return _0x4f01ec['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4f01ec['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x2f9917{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 _0x3f3d90=this['editor']['plugins']['get'](n),_0x2974d6=this['editor']['plugins']['get']('CommentsEditing'),_0x3eefae=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3f3d90,'change:state',(_0x566402,_0x1470c8,_0x233ab1)=>{_0x2974d6['isThreadsLoadingPaused']='connected'!==_0x233ab1;});}),this['listenTo'](_0x3f3d90,'change:state',(_0x214c1d,_0x541368,_0x13512c)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x13512c);}),_0x3eefae['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x2f9917{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 _0x2f9917{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>rt)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x688a1d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b8781){super(_0x2b8781);const _0x1bae24=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x1bae24);}async['init'](){const _0x25c16c=this['editor']['plugins']['get'](l),_0xfce1f0=_0x25c16c['serverHistory'],_0x1df47a=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xfce1f0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x25c16c['sessionId']});const _0x1e9f4f=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x558686=await ot['isBundleUploaded'](_0x1df47a['connection'],_0x1e9f4f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x21572f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x21572f)),'updateRevisions':async _0x2b9cf9=>{await this['_waitForServiceReady']();const _0x1f444f=this['_revisionTracker']['currentRevision'];if(_0x558686&&0x1===_0x2b9cf9['length']&&_0x2b9cf9[0x0]['id']===_0x1f444f['id'])return _0x2b9cf9;for(const _0x28a4bd of _0x2b9cf9)_0x28a4bd['id']===_0x1f444f['id']&&(_0x28a4bd['isEmptyCurrent']=_0x28a4bd['fromVersion']===_0x28a4bd['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2b9cf9,this['_lastRequestId'])['then'](_0x4607a4=>(this['_lastRequestId']=_0x4607a4,_0x2b9cf9))['catch'](_0x238923=>{if(et(_0x238923)||'400'===_0x238923['code']&&void 0x0!==_0x238923['data']['wrongRequestId']){for(const _0xb513eb of _0x2b9cf9){!this['_revisionTracker']['repository']['getRevision'](_0xb513eb['id'])||this['_revisionTracker']['_bufferUpdate'](_0xb513eb['id'],_0xb513eb,!0x1);}if(et(_0x238923))throw _0x238923;return _0x2b9cf9;}throw _0x238923;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x45209a,{revisionsData:_0x3d103e,requestId:_0x318d8a})=>{Math['max'](..._0x3d103e['map'](_0x145222=>_0x145222['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3d103e,_0x318d8a);}):this['_handleRevisionsUpdate'](_0x3d103e,_0x318d8a);});const {revisions:_0x11ed43,requestId:_0x5198b1}=await this['_revisionHistoryService']['connect'](_0x1df47a['connection']);_0x1df47a['addToReconnectionStack'](this),this['_lastRequestId']=_0x5198b1,await this['_fetchMissingUsers'](_0x11ed43);for(const _0x131777 of _0x11ed43)this['_revisionTracker']['addRevisionData'](_0x131777);this['listenTo'](_0x25c16c,'change:_isConnected',(_0x53f992,_0x2fbfbb,_0x597004)=>{_0x597004&&(this['_oldOffset']=_0x25c16c['_offset'],_0x53f992['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1df47a,'state',_0x1bdc1b=>_0x1bdc1b===_0xc90cf7['CONNECTED']);}async['reconnect'](){const _0x559376=this['editor']['plugins']['get'](n),_0xce3a41=this['editor']['plugins']['get'](l),_0x203960=async()=>{const _0x48a4b4=this['_revisionTracker']['currentRevision'],_0x1d65d7=_0x48a4b4['id'],_0x358407=_0x1d65d7!==_0xce3a41['sessionId'];if(_0x358407){const _0x198f5b=_0xce3a41['_offset']-this['_oldOffset'],_0x166122=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x48a4b4['toVersion']+_0x198f5b!==_0x166122){const _0x58520a=_0x48a4b4['fromVersion']+_0x198f5b,_0x915936=this['editor']['plugins']['get'](_0x688a1d),_0x2d9a25=this['_revisionTracker']['buildRevisionData']({'revision':_0x48a4b4,'from':_0x58520a,'to':_0x166122});_0x2d9a25['id']=_0x48a4b4['id'];const _0x433dda=_0x2d9a25['authorsIds']['map'](_0x470e60=>_0x915936['getUser'](_0x470e60));_0x48a4b4['_update']({..._0x2d9a25,'authors':_0x433dda},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x48a4b4['id'],_0x2d9a25,!0x0);}this['_revisionTracker']['_startingVersion']=_0x166122,(_0x48a4b4['toVersion']===_0x48a4b4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1d65d7)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1d65d7),this['_revisionTracker']['_createCurrentRevision'](_0x166122));}const {revisions:_0x536d6c,requestId:_0xa7dba0}=await this['_revisionHistoryService']['reconnect'](_0x559376['connection'],this['_lastRequestId']);_0x358407&&_0x536d6c['length']>0x0?_0xce3a41['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x536d6c),this['_handleRevisionsUpdate'](_0x536d6c,_0xa7dba0),this['_revisionTracker']['sendBufferedUpdates']());};return _0xce3a41['_isConnected']?_0x203960():new Promise((_0x3d560b,_0x5f1728)=>{_0xce3a41['once']('change:_isConnected',()=>{_0x203960()['then'](_0x3d560b)['catch'](_0x5f1728);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4b0bd0=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5810f7=>{_0x5810f7['off'](),_0x4b0bd0();});});}['_getLatestVersionFromServerOperations'](){const _0x101180=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x26e746 of _0x101180)if('marker'!==_0x26e746['type']||_0x26e746['affectsData'])return _0x26e746['baseVersion']+0x1;}['_getLatestVersion'](){const _0x40f8a2=this['editor']['plugins']['get'](l);return new Promise(_0xea4467=>{_0x40f8a2['_isPendingUpdate']?_0x40f8a2['once']('change:_isPendingUpdate',()=>{_0xea4467(this['_getLatestVersionFromServerOperations']());}):_0xea4467(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x359b1d,_0x54c3f7){const _0x8ef625=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x54c3f7;for(const _0x3f1101 of _0x359b1d){const _0x33cebb=_0x8ef625['getRevision'](_0x3f1101['id']);if(_0x33cebb){if((_0x3f1101['fromVersion']||_0x3f1101['toVersion'])&&(_0x3f1101['diffData']=null),_0x33cebb===this['_revisionTracker']['currentRevision']){const _0x59a5c7=Math['max'](_0x33cebb['toVersion'],_0x3f1101['toVersion']),_0x4133d9=Math['max'](_0x33cebb['fromVersion'],_0x3f1101['fromVersion']);let _0x2a2bf2;_0x33cebb['toVersion']===_0x3f1101['toVersion']&&_0x33cebb['fromVersion']===_0x3f1101['fromVersion']?(_0x2a2bf2=!0x0,this['_preventResendingRevisionData'](_0x3f1101)):_0x3f1101['toVersion']===_0x59a5c7&&_0x3f1101['fromVersion']===_0x4133d9?_0x2a2bf2=!0x1:(_0x33cebb['toVersion']===_0x59a5c7&&_0x33cebb['fromVersion']===_0x4133d9||this['_fixRevision']({'revision':_0x33cebb,'from':_0x4133d9,'to':_0x59a5c7}),_0x2a2bf2=!0x0),_0x2a2bf2&&(delete _0x3f1101['fromVersion'],delete _0x3f1101['toVersion'],delete _0x3f1101['diffData'],delete _0x3f1101['createdAt'],delete _0x3f1101['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3f1101),this['_preventResendingRevisionData'](_0x3f1101);}else this['_revisionTracker']['addRevisionData'](_0x3f1101);}const _0x19e55b=_0x8ef625['getRevisions']();_0x19e55b['reverse']();for(let _0x3082b0=0x0;_0x3082b0<_0x19e55b['length']-0x1;_0x3082b0++){const _0x350aca=_0x19e55b[_0x3082b0],_0x15d574=_0x19e55b[_0x3082b0+0x1];if(_0x350aca['fromVersion']<_0x15d574['toVersion']){const _0x30adee=_0x15d574['toVersion'],_0x4adc24=Math['max'](_0x30adee,_0x350aca['toVersion']);this['_fixRevision']({'revision':_0x350aca,'from':_0x30adee,'to':_0x4adc24});}}}['_fixRevision']({revision:_0xbd505b,from:_0x5c118a,to:_0x23e7be}={}){const _0x102722=this['editor']['plugins']['get'](_0x688a1d),_0x4ea209=this['_revisionTracker']['buildRevisionData']({'revision':_0xbd505b,'from':_0x5c118a,'to':_0x23e7be});_0x4ea209['authors']=_0x4ea209['authorsIds']['map'](_0x1829dc=>_0x102722['getUser'](_0x1829dc)),_0xbd505b['_update'](_0x4ea209);}['_preventResendingRevisionData'](_0x2011cc){const _0x36f994={};_0x36f994['id']=_0x2011cc['id'];for(const _0x254c37 of Object['keys'](_0x2011cc))'id'!==_0x254c37&&(_0x36f994[_0x254c37]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x36f994['id'],_0x36f994,!0x0);}async['_fetchMissingUsers'](_0x8e41d8){const _0x16a8cf=this['editor']['plugins']['get'](_0x688a1d),{connection:_0x372832}=this['editor']['plugins']['get'](n),_0x4e107f=new Set();for(const _0x7b6bdb of _0x8e41d8){for(const _0x459103 of _0x7b6bdb['authorsIds'])_0x400099(_0x459103);_0x7b6bdb['creatorId']&&_0x400099(_0x7b6bdb['creatorId']);}if(0x0===_0x4e107f['size'])return;const _0x37a3e6=await ut['getMany'](_0x372832,Array['from'](_0x4e107f));for(const _0x40ed83 of _0x37a3e6)_0x16a8cf['getUser'](_0x40ed83['id'])||_0x16a8cf['addUser'](_0x40ed83);function _0x400099(_0x24f050){_0x16a8cf['getUser'](_0x24f050)||_0x4e107f['add'](_0x24f050);}}}function et(_0x2d5bb7){return _0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2d5bb7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x2f9917{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class X extends _0x1be5d6{['_collapseAt'];constructor(_0x288dad,_0x9b5176=0x6){super(_0x288dad);const _0x450196=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x9b5176,this['bind']('isHidden')['to'](this,'usersCount',_0xeb3206=>_0xeb3206<_0x9b5176),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x450196['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':_0x450196['to']('usersCount',_0x33ac82=>'+'+(_0x33ac82-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x1be5d6{['items'];['keystrokes'];constructor(_0x127af2){super(_0x127af2);const _0x5eebec=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2cd7be(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5eebec['if']('hasPopup'),'aria-expanded':_0x5eebec['to']('isExpanded',_0x23ac17=>this['hasPopup']&&String(_0x23ac17)),'aria-label':_0x5eebec['to']('hasPopup',_0x2fd4fe=>U(_0x127af2,_0x2fd4fe?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5eebec['to']('hasPopup',_0x1d4572=>!!_0x1d4572&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5eebec['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5eebec['to'](_0xae621b=>{const _0x55e0ad=_0xae621b,_0x279c78=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3bf7a2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x279c78?.['contains'](_0x55e0ad['relatedTarget'])||_0x3bf7a2?.['contains'](_0x55e0ad['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x37062c,_0x2121da,_0x170abb)=>{this['element']&&(_0x170abb?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 Q extends _0x1be5d6{['counterView'];['inlineListView'];constructor(_0x3c2f91,_0x1c6b3e=0x6){super(_0x3c2f91);const _0x4a90b7=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new X(this['locale'],_0x1c6b3e),this['inlineListView']=new is(_0x3c2f91),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4e73ef of this['inlineListView']['items'])_0x4e73ef['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',_0x4a90b7['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Y extends _0x1be5d6{['listWrapperView'];constructor(_0x40b190,_0x53ec3c){super(_0x40b190);const _0x44efa3=this['bindTemplate'];this['listWrapperView']=new wt(_0x40b190,_0x53ec3c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':U(_0x40b190,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x44efa3['to'](_0x59ca68=>{const _0x95ec98=_0x59ca68,_0x142e9a=document['querySelector']('.ck-presence-list__list'),_0x495f92=document['querySelector']('.ck-balloon-panel_with-arrow');_0x142e9a?.['contains'](_0x95ec98['relatedTarget'])||_0x495f92?.['contains'](_0x95ec98['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x319183{constructor(_0x1a1f56,_0x12dd9e){super(_0x1a1f56);const _0x182ae4=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x12dd9e?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x182ae4['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x182ae4['to']('role'),'aria-label':_0x182ae4['to']('ariaLabel'),'aria-labelledby':_0x182ae4['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x27bd36['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5c14d1=this['element'];_0x5c14d1&&(this['_isScrollable']=Math['max'](_0x5c14d1['scrollHeight'],_0x5c14d1['clientHeight'])>0.8*window['innerHeight']);}}class Z extends ct{['userView'];constructor(_0x229eb5,_0x365b43,_0x3b24ab){super(_0x229eb5);const _0x475f35=this['bindTemplate'];this['userView']=new at(_0x229eb5,_0x365b43);const _0x43f6e6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x365b43['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x365b43['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x365b43['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3b24ab&&(_0x43f6e6['tag']='button',_0x43f6e6['on']={'click':_0x475f35['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x43f6e6);}['focus'](){this['element']['focus']();}}class tt extends _0x1be5d6{['userView'];['markerView'];constructor(_0x7b68f4,_0x456902,_0x15b339){super(_0x7b68f4);const _0x4b2c03=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x7b68f4,_0x456902),this['markerView']=new nt(_0x7b68f4,_0x456902);const _0xdad5cb=new lt(_0x7b68f4);_0xdad5cb['template']['tag']='span',_0xdad5cb['text']=_0x456902['name'];const _0x3b6ce3={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4b2c03['to']('isFocusable',_0x5c78b1=>!!_0x5c78b1&&0x0),'aria-labelledby':_0xdad5cb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4b2c03['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4b2c03['to']('hasTooltip',_0xa04f82=>!_0xa04f82),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0xdad5cb]};_0x15b339&&(_0x3b6ce3['tag']='button',_0x3b6ce3['on']={'click':_0x4b2c03['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3b6ce3);}}class nt extends _0x1be5d6{constructor(_0x16bbc2,_0x3299bf){super(_0x16bbc2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3299bf['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const st={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1e7b17{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e485a){super(_0x2e485a),this['context']['config']['define']('presenceList',st);const _0x3527ec=_0x2e485a['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3527ec)throw new _0x2cb01c('presencelist-collapseat-invalid-format',this);if(_0x3527ec<0x1)throw new _0x2cb01c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4ead9b(),this['balloonPanelView']=new _0x5cf855(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19f02e of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19f02e);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2a4d59,_0x18669f)=>{this['_handleUserAdd'](_0x18669f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0xa20f41,_0x5bdf0b)=>{this['_handleUserRemove'](_0x5bdf0b);});}['_createView'](){const _0x3892d1=this['context'],_0x298b38=new Q(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x983fbf=this['balloonPanelView'];if(!_0x36833e(_0x3892d1['config']['get']('presenceList.container')))throw new _0x2cb01c('presencelist-missing-container',this);return _0x298b38['counterView']['bind']('usersCount')['to'](this),_0x298b38['bind']('isCollapsed')['to'](this,'usersCount',_0x1cf5c2=>{const {collapseAt:_0x3a538e}=_0x3892d1['config']['get']('presenceList'),_0x345b3b=_0x1cf5c2>=_0x3a538e;if(_0x345b3b&&!_0x298b38['inlineListView']['items']['find'](_0x916910=>_0x916910 instanceof X)){const _0x2ea006=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2ea006&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x298b38['inlineListView']['items']['add'](_0x298b38['counterView']);}return _0x345b3b||this['hideDropdown'](),_0x345b3b;}),_0x298b38['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x307435=>{const _0x17d0b7=_0x3892d1['config']['get']('presenceList'),_0x5c9815=new tt(_0x3892d1['locale'],_0x307435,!!_0x17d0b7['onClick']);return _0x5c9815['bind']('hasTooltip')['to'](_0x298b38,'isCollapsed',_0x3a854d=>!_0x3a854d),_0x5c9815['bind']('isFocusable')['to'](_0x298b38,'isCollapsed',_0x2139d1=>!_0x2139d1),_0x17d0b7['onClick']&&this['listenTo'](_0x5c9815,'execute',()=>{this['view']['isCollapsed']||_0x17d0b7['onClick'](_0x307435,_0x5c9815['element']);}),_0x5c9815;}),this['listenTo'](_0x298b38['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x298b38['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x298b38['inlineListView']['keystrokes']['set']('Enter',(_0x241ce7,_0x3867e4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3867e4());}),_0x298b38['render'](),_0x983fbf['render'](),_0x576ce6({'emitter':_0x298b38,'activator':()=>_0x983fbf['isVisible'],'contextElements':[_0x983fbf['element'],_0x298b38['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3892d1['config']['get']('presenceList.container')['appendChild'](_0x298b38['element']),this['_bodyCollection']=new _0x845acd(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x298b38;}['_handleUserAdd'](_0x3fa17d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3fa17d['isMe'])return;const _0x26b97d=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x26b97d-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x48cd21=_0x3fa17d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3fa17d,_0x48cd21);}['_handleUserRemove'](_0x1a3204){this['usersCount']--;const {collapseAt:_0x57bb54}=this['context']['config']['get']('presenceList'),_0x1451c6=this['usersCount']>=_0x57bb54;if(this['currentDisplayedUsers']['get'](_0x1a3204['id']))this['currentDisplayedUsers']['remove'](_0x1a3204['id']);else{if(_0x1451c6&&this['currentDisplayedUsers']['length']+0x1===_0x57bb54-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1451c6?0x1:0x0)<this['usersCount']){for(const _0x383d8e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x383d8e['id'])&&(this['currentDisplayedUsers']['add'](_0x383d8e,Math['min'](this['currentDisplayedUsers']['length']-(_0x1451c6?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1451c6?0x1:0x0)===_0x57bb54-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4b736e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Y(this['context']['locale'],!!_0x4b736e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4266da}=this['presenceDropdownView'];_0x4266da['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2eec61=>{if(!_0x4b736e['displayMe']&&_0x2eec61['isMe'])return null;const _0x57de6f=new Z(this['context']['locale'],_0x2eec61,!!_0x4b736e['onClick']);return _0x4b736e['onClick']&&this['listenTo'](_0x57de6f,'execute',()=>{_0x4b736e['onClick'](_0x2eec61,_0x57de6f['element']);}),_0x57de6f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4266da['focus'](),_0x4266da['checkIfScrollable']();const _0x324a63=(_0x3167f1,_0x536cb8)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x536cb8();};_0x4266da['keystrokes']['set']('Esc',_0x324a63),_0x4266da['keystrokes']['set']('Shift+Tab',_0x324a63),_0x4266da['keystrokes']['set']('Tab',(_0x4e6ca7,_0x4f9294)=>{!function(_0x408115){const _0xb2a3a0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x26fb5c=>_0x26fb5c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x36da19=[...document['body']['querySelectorAll'](_0xb2a3a0)]['filter'](_0x2954f3=>_0x2954f3===document['activeElement']||_0x2954f3['offsetWidth']+_0x2954f3['offsetHeight']>0x0)['sort']((_0x4685e7,_0x12dcc1)=>(_0x4685e7['tabIndex']||0x0)-(_0x12dcc1['tabIndex']||0x0)),_0x155a23=_0x36da19['indexOf'](_0x408115),_0x51a151=_0x36da19[(_0x155a23+0x1)%_0x36da19['length']];_0x51a151&&_0x51a151['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4f9294();}),_0x4266da['focusTracker']['add'](this['view']['element']),_0x4266da['focusTracker']['on']('change:isFocused',(_0x4a13fb,_0x3f338a,_0x12203)=>{_0x12203||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x1e7b17{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x1861c7,Plugin as _0x5b8bc3,PendingActions as _0x5790b1,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x518146,CKEditorError as _0x3a0d6c,Collection as _0x4fdafc,global as _0x21a1a4,version as ht,uid as _0xc6304d,KeystrokeHandler as _0x5e36a4}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x279f17,View as _0x4e32f2,ListView as _0x478f63,ListItemView as rt,LabelView as at,BalloonPanelView as _0x55c17c,clickOutsideHandler as _0x33581a,BodyCollection as _0x20fbe5}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4e36b4,History as _0x25b8ea,NoOperation as _0x29156a,InsertOperation as _0xdb4287,MarkerOperation as _0x3f9087,RootAttributeOperation as _0x447550,transformOperationSets as _0x4b0c2e,OperationFactory as _0xc90b3d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x4efd76,CollaborativeEditingService as _0x3aabc8,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x53bdb2,EditorService as _0x242d38}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x393929,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x136efe}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x4d7729}from'es-toolkit/compat';class n extends _0x1861c7{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x279f17];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x26a374){super(_0x26a374),this['set']('state',_0x4efd76['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x518146())();}['init'](){const _0xfa2863=this['context'],_0x4d80aa=_0xfa2863['plugins']['get']('CloudServices'),_0x5654b3=_0xfa2863['plugins']['get'](_0x279f17);if(!_0x4d80aa['token'])throw new _0x3a0d6c('websocketgateway-missing-token',this);if(!_0x4d80aa['webSocketUrl'])throw new _0x3a0d6c('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'](_0x4d80aa['token'],_0x4d80aa['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xd38b95=>{if(this['connection']=_0xd38b95,this['bind']('state')['to'](_0xd38b95,'state',this,'_isBrowserOffline',(_0x522c19,_0x3225d1)=>('connected'!==_0x522c19&&(this['_shouldPluginsReconnect']=!0x0),_0x3225d1||_0x522c19!==_0x4efd76['CONNECTED']?_0x4efd76['DISCONNECTED']:this['state']==_0x4efd76['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x4efd76['CONNECTING']):_0x4efd76['CONNECTED'])),this['connection']['on']('error',(_0x2b9245,_0x19829d)=>{if('limitExceeded'!==_0x19829d['code'])throw console['error'](_0x19829d),new _0x3a0d6c('cloudservices-init',null,{'originalError':_0x19829d});_0x5654b3['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'});}),!_0xd38b95['me'])return new Promise(_0x15da56=>_0xd38b95['on']('change:me',_0x15da56));})['catch'](_0xc2d8b8=>{throw console['error'](_0xc2d8b8),new _0x3a0d6c('cloudservices-init',null,{'originalError':_0xc2d8b8});});}['addToReconnectionStack'](_0x3c8e37){if('function'!=typeof _0x3c8e37['reconnect'])throw new _0x3a0d6c('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3c8e37))throw new _0x3a0d6c('websocketgateway-plugin-already-registered',this,{'name':_0x3c8e37['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3c8e37);}['removeFromReconnectionStack'](_0x1be096){this['_reconnectionStack']['delete'](_0x1be096);}['isInReconnectionStack'](_0x173b28){return this['_reconnectionStack']['has'](_0x173b28);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3536b1=>_0x3536b1['reconnect']())))['then'](()=>this['state']=_0x4efd76['CONNECTED'])['catch'](_0x449b30=>{throw console['error'](_0x449b30),new _0x3a0d6c('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x4efd76['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1861c7{['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,_0x393929];}constructor(_0x41c9cc){super(_0x41c9cc),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4fdafc(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x393929);}['init'](){const _0x26b0f6=this['context']['plugins']['get'](n);this['listenTo'](_0x26b0f6,'change:state',(_0x2ab328,_0x385d2d,_0x199caa)=>{if('connected'!==_0x199caa)this['channelSessions']['forEach'](_0x333c9b=>_0x333c9b['clear']()),this['channelConnectedUsers']['forEach'](_0x547486=>_0x547486['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x56bf85,_0x2b1046]of this['_registeredSessions'])for(const _0x2f2d79 of _0x2b1046)this['_handleSessionAdd'](_0x56bf85,_0x2f2d79);}}),this['_createUser'](_0x26b0f6['connection']['me'],!0x0);}['register'](_0x1b4e32,_0x560240){if(this['_registeredSessions']['has'](_0x1b4e32))throw new _0x3a0d6c('sessions-register-already-registered',null,{'channelId':_0x1b4e32});this['_registeredSessions']['set'](_0x1b4e32,_0x560240),this['channelSessions']['set'](_0x1b4e32,new _0x4fdafc()),this['channelConnectedUsers']['set'](_0x1b4e32,new _0x4fdafc()),this['listenTo'](_0x560240,'add',(_0xdad422,_0x33df42)=>this['_handleSessionAdd'](_0x1b4e32,_0x33df42)),this['listenTo'](_0x560240,'remove',(_0x1c63c0,_0x1d2203)=>this['_handleSessionRemove'](_0x1b4e32,_0x1d2203));for(const _0x30c03f of _0x560240)this['_handleSessionAdd'](_0x1b4e32,_0x30c03f);}['unregister'](_0x37b602){if(!this['_registeredSessions']['has'](_0x37b602))throw new _0x3a0d6c('sessions-unregister-not-exist',null,{'channelId':_0x37b602});const _0x4eaae1=this['_registeredSessions']['get'](_0x37b602);this['stopListening'](_0x4eaae1);for(const _0x4d3d9a of _0x4eaae1)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x37b602,_0x4d3d9a);this['_registeredSessions']['delete'](_0x37b602),this['channelSessions']['delete'](_0x37b602),this['channelConnectedUsers']['delete'](_0x37b602);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x14db0f){for(const _0x5129db of this['channelSessions']['values']())for(const _0x26481f of _0x5129db)if(_0x26481f['id']===_0x14db0f)return _0x26481f['user'];}['getUserSessions'](_0xf7f19d,_0x2b2a26){const _0x4801e7=_0x2b2a26?[this['channelSessions']['get'](_0x2b2a26)]:this['channelSessions']['values'](),_0x55cf5b=new Set();for(const _0x2d8d26 of _0x4801e7)for(const _0x1b785e of _0x2d8d26)_0x1b785e['user']['id']===_0xf7f19d['id']&&_0x55cf5b['add'](_0x1b785e['id']);return _0x55cf5b;}['getUserRole'](_0x5483fc){for(const _0x9358d9 of this['channelSessions']['values']())for(const _0x1d0a07 of _0x9358d9)if(_0x1d0a07['user']===_0x5483fc)return _0x1d0a07['role'];}['_handleSessionAdd'](_0x3de906,_0x2d307f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3ec79b=_0x2d307f['user'],_0x22dea5=this['_users']['getUser'](_0x3ec79b['id'])||this['_createUser'](_0x3ec79b),_0xdeeb47=Object['assign']({},_0x2d307f,{'user':_0x22dea5});if(this['channelSessions']['get'](_0x3de906)['add'](_0xdeeb47),!_0x3ec79b['hiddenInPresenceList']){const _0x9fa6fd=this['channelConnectedUsers']['get'](_0x3de906);_0x9fa6fd['has'](_0x22dea5['id'])||_0x9fa6fd['add'](_0x22dea5),this['allConnectedUsers']['has'](_0x22dea5['id'])||_0x3ec79b['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x22dea5,_0x22dea5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3de906,{'channelId':_0x3de906,'session':_0xdeeb47});}['_handleSessionRemove'](_0x37c710,_0x2079fa){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x2c5656=this['channelConnectedUsers']['get'](_0x37c710),_0x3a51f7=_0x2079fa['user'];_0x3a51f7['id']&&(this['channelSessions']['get'](_0x37c710)['remove'](_0x2079fa['id']),_0x2c5656['has'](_0x3a51f7['id'])&&!this['getUserSessions'](_0x3a51f7,_0x37c710)['size']&&_0x2c5656['remove'](_0x3a51f7['id']),this['allConnectedUsers']['get'](_0x3a51f7['id'])&&!this['getUserSessions'](_0x3a51f7)['size']&&this['allConnectedUsers']['remove'](_0x3a51f7['id']));}['_createUser'](_0x10f68a,_0xcaa9a7){const _0x4f3c38=this['_users']['addUser'](_0x10f68a);return _0xcaa9a7&&this['_users']['defineMe'](_0x10f68a['id']),_0x4f3c38['orderNumber']=this['_uniqueUsersCount']++,_0x4f3c38;}}class H extends _0x5b8bc3{['_domEmitter']=new(_0x518146())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1dd6be=this['editor'],_0x1d2755=_0x1dd6be['plugins']['get'](i);_0x1dd6be['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x54227d,{writer:_0x209df8})=>function(_0x5dc29d,_0x352169,_0x253e96,_0x5ee8b5){const _0x12f585=_0x5dc29d['markerName']['split'](':')[0x2],_0x1ec34b=_0x253e96['getUserBySessionId'](_0x12f585);if(!_0x1ec34b||_0x12f585===_0x253e96['mySessionId'])return;if(!_0x5ee8b5['model']['schema']['checkChild'](_0x5dc29d['markerRange']['start'],'$text'))return;const _0x3bbd42={'class':'ck-user__marker\x20'+_0x1ec34b['color']['getMarkerClass'](),'data-name':_0x1ec34b['name'],'data-session-id':_0x12f585},_0x579f6f=_0x5ee8b5['model']['markers']['get'](_0x5dc29d['markerName']),_0x46ef04=_0x579f6f['getStart'](),_0x32833a=_0x46ef04['nodeAfter'],_0x45988e=_0x5ee8b5['model']['schema'];if(_0x32833a&&_0x45988e['isObject'](_0x32833a)&&_0x45988e['isInline'](_0x32833a)&&!_0x5ee8b5['model']['markers']['get']('user:range:'+_0x12f585)['getRange']()['isCollapsed'])return;const _0x3f744d=_0x46ef04['parent'];return _0x5ee8b5['model']['schema']['isLimit'](_0x3f744d)&&!_0x5ee8b5['model']['hasContent'](_0x3f744d)&&(_0x3bbd42['contenteditable']=!0x1),function(_0x538543,_0x1f24dc,_0x238da4){const _0x592dcd=_0x538543['createUIElement']('span',_0x1f24dc);return _0x538543['setCustomProperty']('userPositionMarker',!0x0,_0x592dcd),_0x592dcd['render']=function(_0x1de785){const _0x12a749=this['toDomElement'](_0x1de785),_0x28abce=document['createElement']('span');return _0x28abce['classList']['add']('ck-user__marker-tooltip'),_0x28abce['setAttribute']('contenteditable','false'),_0x28abce['setAttribute']('spellcheck','false'),_0x28abce['textContent']=_0x238da4['name'],_0x12a749['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x28abce['outerHTML']+'⁠',_0x12a749['addEventListener']('mouseenter',()=>{_0x12a749['classList']['add']('ck-user__marker_hovered');}),_0x12a749['addEventListener']('mouseleave',()=>{_0x12a749['classList']['remove']('ck-user__marker_hovered');}),_0x12a749;},_0x592dcd['isSimilar']=function(_0x38f091){return!(!this['getCustomProperty']('userPositionMarker')||!_0x38f091['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x38f091['getAttribute']('data-session-id'));},_0x592dcd;}(_0x352169,_0x3bbd42,_0x1ec34b);}(_0x54227d,_0x209df8,_0x1d2755,_0x1dd6be)}),_0x1dd6be['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2f3a3f=>function(_0x27f3dd,_0xb90ba4){const _0xd0368f=_0x27f3dd['markerName']['split'](':')[0x2];if(_0xd0368f===_0xb90ba4['mySessionId'])return null;const _0x45e03e=_0xb90ba4['getUserBySessionId'](_0xd0368f);if(!_0x45e03e)return{'id':_0xd0368f,'classes':[]};return{'id':_0xd0368f,'classes':['ck-user__selection',_0x45e03e['color']['getSelectionClass']()],'attributes':{'data-session-id':_0xd0368f},'priority':0x7d0+_0x45e03e['orderNumber']};}(_0x2f3a3f,_0x1d2755)}),function(_0x38836c){const _0x3f5983=_0x38836c['model'],_0x40f13a=new Map(),_0x222ed0=_0x38836c['plugins']['get'](i);_0x3f5983['markers']['on']('update:user:range',(_0x21317d,_0x26d263,_0x5e9a33,_0x398f13)=>{if(!_0x398f13&&_0x40f13a['get'](_0x26d263['name']))return _0x40f13a['get'](_0x26d263['name'])['detach'](),void _0x40f13a['delete'](_0x26d263['name']);const _0x254218=_0x26d263['name']['split'](':')[0x2];if(_0x254218===_0x222ed0['mySessionId'])return;const _0x5e165c='user:position:'+_0x254218;_0x3f5983['markers']['has'](_0x5e165c)&&_0x38836c['editing']['reconvertMarker'](_0x5e165c),_0x26d263['on']('change:range',(_0x181312,_0x4b53f4,_0x1027e4)=>{if('$graveyard'!=_0x4b53f4['root']['rootName']&&'$graveyard'==_0x26d263['getRange']()['root']['rootName']&&!_0x40f13a['has'](_0x26d263['name'])){const _0x43113a=_0x3f5983['schema']['getNearestSelectionRange'](_0x1027e4['deletionPosition']);if(_0x43113a){const _0xaa2c6d=_0x4e36b4['fromRange'](_0x43113a);_0x40f13a['set'](_0x26d263['name'],_0xaa2c6d),_0xaa2c6d['on']('change:range',(_0x5059be,_0x4ee07b,_0x15033e)=>{if('$graveyard'==_0xaa2c6d['root']['rootName']){const _0x280b38=_0x3f5983['schema']['getNearestSelectionRange'](_0x15033e['deletionPosition']);_0x280b38?(_0xaa2c6d['start']=_0x280b38['start'],_0xaa2c6d['end']=_0x280b38['end']):(_0x40f13a['delete'](_0x26d263['name']),_0xaa2c6d['detach']());}});}}});}),_0x3f5983['document']['on']('change',()=>{_0x40f13a['size']>0x0&&_0x3f5983['enqueueChange']({'isUndoable':!0x1},_0x441432=>{for(const [_0x908984,_0x44c373]of _0x40f13a)'$graveyard'==_0x3f5983['markers']['get'](_0x908984)['getRange']()['root']['rootName']&&(Y(_0x908984['split'](':')[0x2],_0x44c373['toRange'](),_0x3f5983,_0x441432),_0x44c373['detach']());_0x40f13a['clear']();});});}(_0x1dd6be),this['_domEmitter']['listenTo'](_0x21a1a4['document'],'keydown',(_0x18c0e2,{key:_0x595c14})=>{'Escape'===_0x595c14&&function(_0x4b771d){_0x4b771d['editing']['view']['change'](_0x1b4520=>{for(const _0x1df797 of _0x4b771d['model']['markers']){if(!_0x1df797['name']['startsWith']('user:position'))continue;const _0xf6a703=_0x4b771d['editing']['mapper']['markerNameToElements'](_0x1df797['name']);if(_0xf6a703){for(const _0x5875b3 of _0xf6a703)_0x1b4520['removeClass']('ck-user__marker_hovered',_0x5875b3);}}});}(_0x1dd6be);},{'useCapture':!0x0});}['afterInit'](){const _0x23fd6b=this['editor'],_0x156686=_0x23fd6b['commands']['get']('undo');_0x156686&&_0x23fd6b['model']['on']('applyOperation',(_0x5dbea0,_0x54ccae)=>{const _0x39f63f=_0x54ccae[0x0];if(!_0x39f63f['isDocumentOperation'])return;if('marker'!=_0x39f63f['type']||!_0x39f63f['name']['startsWith']('user:'))return;const _0xaf84d9=_0x39f63f['batch'];_0x156686['_createdBatches']['has'](_0xaf84d9)&&(_0x39f63f['newRange']=_0x39f63f['oldRange']?_0x23fd6b['model']['createRange'](_0x39f63f['oldRange']['start'],_0x39f63f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0xd00784=this['editor'],_0x5bb8c9=_0xd00784['model']['document'],_0x2a74a7=_0xd00784['plugins']['get'](i);_0xd00784['model']['enqueueChange']({'isUndoable':!0x1},_0x416a6d=>{const _0x510b74='user:range:'+_0x2a74a7['mySessionId'],_0x32f1eb='user:position:'+_0x2a74a7['mySessionId'],_0x4ff0ab=_0xd00784['model']['markers']['has'](_0x510b74);_0xd00784['editing']['view']['hasDomSelection']?Y(_0x2a74a7['mySessionId'],_0x5bb8c9['selection']['getFirstRange'](),_0xd00784['model'],_0x416a6d):_0x4ff0ab&&(_0x416a6d['removeMarker'](_0x510b74),_0x416a6d['removeMarker'](_0x32f1eb));});}}function Y(_0x3c2e14,_0x499c51,_0x2a3f87,_0xe8a2e9){const _0x404fb7='user:range:'+_0x3c2e14,_0x707498='user:position:'+_0x3c2e14,_0x429be5=_0x499c51['getContainedElement']();let _0x29cb48=_0x499c51['start'];if(_0x429be5&&_0x429be5['is']('element','tableCell')){const _0x57b77c=function(_0x3eecc5,_0x556e48){for(const _0x19a6fb of _0x3eecc5['getPositions']())if(_0x556e48['schema']['checkChild'](_0x19a6fb,'$text'))return _0x19a6fb;}(_0x499c51,_0x2a3f87);_0x57b77c&&(_0x29cb48=_0x57b77c,_0x499c51=_0xe8a2e9['createRange'](_0x29cb48));}const _0x3782c6=_0xe8a2e9['createRange'](_0x29cb48);_0x2a3f87['markers']['has'](_0x404fb7)?(_0xe8a2e9['updateMarker'](_0x404fb7,{'range':_0x499c51}),_0xe8a2e9['updateMarker'](_0x707498,{'range':_0x3782c6})):(_0xe8a2e9['addMarker'](_0x404fb7,{'range':_0x499c51,'usingOperation':!0x0}),_0xe8a2e9['addMarker'](_0x707498,{'range':_0x3782c6,'usingOperation':!0x0}));}function V(_0x5a6b0f,_0x5ac88c,_0x25000f){const _0x4f27cc=_0x5a6b0f['t'],t=_0x5a6b0f['t'];switch(_0x5ac88c){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 _0x4f27cc({'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'},_0x25000f);default:return'';}}let q=0x1;class l extends _0x5b8bc3{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x3aabc8)());['_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,_0x5790b1,_0x393929,_0x279f17];}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 _0x3429f5=this['serverHistory']['getOperations']();for(let _0x21dd6b=_0x3429f5['length']-0x1;_0x21dd6b>=0x0;_0x21dd6b--){const _0x398558=_0x3429f5[_0x21dd6b];if(!this['_disconnectionOperations']['has'](_0x398558))return _0x398558['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2c1792){if(super(_0x2c1792),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x25b8ea(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3a0d6c('collaboration-missing-channelid',this);const _0x178613=_0x2c1792['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x178613,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x136efe(),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 K(this['_disconnectionOperations']);}['init'](){const _0xbae3a=this['editor'],_0x48bbe8=_0xbae3a['plugins']['get'](_0x393929),_0x5f1ce4=_0xbae3a['plugins']['get'](n);this['listenTo'](_0x48bbe8,'getOperationAuthor',(_0x4fd98a,_0x5f2b74)=>{const _0x4bf7d8=_0x5f2b74[0x0];_0x4bf7d8['_authorId']&&(_0x4fd98a['return']=_0x48bbe8['getUser'](_0x4bf7d8['_authorId']),_0x4fd98a['stop']()),null===_0x4bf7d8['_authorId']&&(_0x4fd98a['return']=null,_0x4fd98a['stop']());},{'priority':'high'}),this['listenTo'](_0xbae3a['model']['document']['selection'],'change:range',(_0x5cadd6,_0x1e9f24)=>{_0x1e9f24['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xbae3a['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xbae3a['model']['on']('applyOperation',(_0x5b5eda,_0x20c6b3)=>{const _0x5a3ba0=_0x20c6b3[0x0];_0x5a3ba0['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a3ba0),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5f1ce4,'state',this,'_hasSynchronizationProblem',(_0x44d137,_0x26ac06)=>'connected'===_0x44d137&&!_0x26ac06),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xbae3a['disableReadOnlyMode']('rtc-offline'):_0xbae3a['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xbae3a['disableReadOnlyMode']('rtc-offline'):_0xbae3a['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x17484d=this['editor']['plugins']['get'](i),_0x56e7fd=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x17484d['unregister'](this['_channelId']);const _0x54b0b1=await this['_service']['reconnect'](_0x56e7fd['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x54b0b1)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4b3b06=await this['_service']['getConnectedSessions']();_0x17484d['register'](this['_channelId'],_0x4b3b06),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5c40ed){if(function(_0x10abb3){return'404'===_0x10abb3['code'];}(_0x5c40ed)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5669d7){return'409'===_0x5669d7['code'];}(_0x5c40ed)){const _0x30828a=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'](_0x30828a);}else{if(!(_0x5c40ed instanceof G))throw _0x5c40ed;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1bd1f5=this['editor']['plugins']['get'](n),_0x533a0a=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x533a0a['channelSessions']['has'](this['_channelId'])&&_0x533a0a['unregister'](this['_channelId']),_0x1bd1f5['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2d8825){if(this['sessionId']!==_0x2d8825['sessionId']&&this['_lastSyncedOperationId']!==_0x2d8825['lastOperationId'])throw new G();return this['sessionId']=_0x2d8825['sessionId'],this['_handleServerResponse']([],{..._0x2d8825,'wereChangesApplied':!0x1,'data':_0x2d8825['data']},'reconnect');}async['_connectService'](_0x3e8cf8,_0x20b5e0=!0x1){const {connection:_0x2ef280}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x2ef280,this['_channelId'])['then'](_0x286b98=>this['_initSessionsHandling'](_0x286b98))['catch'](_0xa60b67=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xa60b67);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x21f28f,_0x351415)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x351415);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x42347b=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3e8cf8);this['_isPendingUpdate']=!0x0;const _0x124419=await this['_service']['connect'](_0x2ef280,this['_compressOperations'](_0x3e8cf8),_0x42347b);if(this['sessionId']=_0x124419['sessionId'],_0x20b5e0){if(!_0x124419['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x124419['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3e8cf8,_0x124419,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x124419,_0x3e8cf8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0xb00a37=this['editor']['plugins']['get'](i),_0x169043=this['editor']['plugins']['get'](H),_0x48740a=_0xb00a37['channelSessions']['get'](this['_channelId']);_0x48740a&&_0x48740a['length']>0x1?_0x169043['createUserMarkerOperations']():this['listenTo'](_0xb00a37,'sessionAdd:'+this['_channelId'],()=>{0x2===_0xb00a37['channelSessions']['get'](this['_channelId'])['length']&&_0x169043['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x16ea04,_0x3f5285,_0x39415f,_0x44aff3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3f5285){const _0x1de6d9=this['_decompressOperations'](_0x39415f,_0x44aff3);await this['_fetchMissingUsers'](_0x1de6d9),this['_handleExternalOperations'](_0x1de6d9,_0x3f5285,_0x39415f['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x18a38a}=this['editor'];let _0x2d29c0;try{_0x2d29c0=await this['_service']['getDocumentDetails']();}catch{const _0x46f112=V(_0x18a38a,'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'](_0x46f112);}const _0x1d9e1c=_0x2d29c0['currentDocumentSession']||_0x2d29c0['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1d9e1c['lastOperationId']){const _0x5afa94=V(_0x18a38a,'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'](_0x5afa94);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x124490){const _0x2ff047=this['editor']['plugins']['get'](i);this['listenTo'](_0x2ff047,'sessionAdd:'+this['_channelId'],(_0x483004,{session:_0x1d8166})=>{if(_0x1d8166['id']===_0x2ff047['mySessionId']){_0x483004['off']();const _0x4f366e=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4cbadf=_0x1d8166['permissions'];_0x4f366e&&_0x4f366e['isEnabled']&&(_0x4cbadf=_0x4cbadf['filter'](_0x19df04=>'document:write'!==_0x19df04)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4cbadf,this['_channelId']);}}),_0x2ff047['register'](this['_channelId'],_0x124490);}['_initThrowingOnDataSet'](){const _0x168b12=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x27568f)=>{if(!_0x27568f[_0x27568f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3a0d6c('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x168b12['apply'](this['editor']['data'],_0x27568f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x974b00,[_0x8dd10c])=>{if(this['_document']['version'])throw new _0x3a0d6c('realtimecollaborationclient-init-document-already-initialized',this);_0x974b00['stop'](),this['_setPendingAction']();const _0x9e600f=this['editor']['config']['get']('rootsAttributes'),_0x1cd819=this['_getOperationsFromInitData'](_0x8dd10c,_0x9e600f);0x0==_0x1cd819['length']&&_0x1cd819['push'](new _0x29156a(0x0)),_0x974b00['return']=this['_connectService'](_0x1cd819)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x28bf9e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x28bf9e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1a3394,[_0x3525d7,_0x46a06c])=>{_0x1a3394['stop']();const _0x207efa=this['editor']['model']['document']['getRoot'](_0x3525d7);if(!this['_knownRootNames']['has'](_0x3525d7)){const _0x4b2b1e=_0x46a06c&&_0x46a06c['data']?_0x46a06c['data']:'',_0x14dbd8=_0x46a06c&&_0x46a06c['attributes']?_0x46a06c['attributes']:{};await this['_loadRoot'](_0x3525d7,_0x4b2b1e,_0x14dbd8);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x207efa['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x207efa);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x1f9132){const _0x2d2d77=this['editor']['plugins']['get'](_0x393929),{connection:_0x106ff6}=this['editor']['plugins']['get'](n),_0x13d24c=new Set();for(const _0x19ea4a of _0x1f9132){const _0x3b9ea9=_0x19ea4a['_authorId'];_0x3b9ea9&&!_0x2d2d77['getUser'](_0x3b9ea9)&&_0x13d24c['add'](_0x3b9ea9);}if(0x0===_0x13d24c['size'])return;const _0x3bdb35=await ut['getMany'](_0x106ff6,Array['from'](_0x13d24c));for(const _0x3885d0 of _0x3bdb35)_0x2d2d77['getUser'](_0x3885d0['id'])||_0x2d2d77['addUser'](_0x3885d0);}['_getOperationsFromInitData'](_0xa76647,_0x13057={}){const _0x252bd3=this['editor']['model'],_0x67a7b6=[];let _0x37e34b=0x0;const _0x4a26b3='string'==typeof _0xa76647?{'main':_0xa76647}:_0xa76647;for(const _0x2c6618 of Object['keys'](_0x4a26b3)){if(!this['_document']['roots']['has'](_0x2c6618))throw new _0x3a0d6c('realtimecollaborationclient-init-non-existent-root',this);const _0x3e1836=this['editor']['data']['parse'](_0x4a26b3[_0x2c6618]),_0x59deb5=this['_document']['getRoot'](_0x2c6618),_0x225b53=new _0xdb4287(_0x252bd3['createPositionAt'](_0x59deb5,0x0),_0x3e1836,_0x37e34b++);_0x67a7b6['push'](_0x225b53);for(const [_0x6a19dd,_0x4f249c]of _0x3e1836['markers']){const _0x41150a=_0x252bd3['createRange'](_0x252bd3['createPositionFromPath'](_0x59deb5,_0x4f249c['start']['path']['slice']()),_0x252bd3['createPositionFromPath'](_0x59deb5,_0x4f249c['end']['path']['slice']())),_0x5845cc=new _0x3f9087(_0x6a19dd,null,_0x41150a,_0x252bd3['markers'],!0x0,_0x37e34b++);_0x67a7b6['push'](_0x5845cc);}}if(_0x13057)for(const [_0x5f3ba8,_0x4a2974]of Object['entries'](_0x13057)){const _0x294433=_0x252bd3['document']['getRoot'](_0x5f3ba8);if(!_0x294433)throw new _0x3a0d6c('multi-root-editor-root-attributes-no-root',null);for(const [_0x30de48,_0x3c7054]of Object['entries'](_0x4a2974))if(null!==_0x3c7054){const _0x176580=new _0x447550(_0x294433,_0x30de48,null,_0x3c7054,_0x37e34b++);_0x67a7b6['push'](_0x176580);}}return _0x67a7b6;}async['_loadRoot'](_0x2435c7,_0x275fc9,_0x258a30){this['_getOperationsFromInitData']({[_0x2435c7]:_0x275fc9},{[_0x2435c7]:_0x258a30})['forEach']((_0x260e24,_0x5b1247)=>{_0x260e24['baseVersion']=this['_document']['version']+_0x5b1247,_0x260e24['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x260e24);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x339407,_0x2e81e8){let _0x322a04;this['_offset']=_0x339407['offset'];const _0x2b4f58=_0x339407['wereChangesApplied']&&!_0x339407['initData'],_0x377200=_0x2b4f58?0x0:_0x339407['data']['baseVersion'];if(_0x2e81e8['forEach'](_0xce4423=>{_0xce4423['_isInit']=!0x0,_0xce4423['createdAt']=_0x339407['sessionCreatedAt'],_0xce4423['_authorId']=null;}),_0x2b4f58)_0x322a04=_0x2e81e8,this['_applyOperationsSet'](_0x322a04,_0x2b4f58);else{if(_0x339407['initData']){const _0x421cc0=this['_getOperationsFromInitData'](_0x339407['initData']);this['_document']['history']['version']=-_0x421cc0['length'],_0x421cc0['forEach'](_0x2bb657=>{_0x2bb657['baseVersion']-=_0x421cc0['length'],_0x2bb657['createdAt']=_0x339407['sessionCreatedAt'],_0x2bb657['_isInit']=!0x0,_0x2bb657['_authorId']=null;}),this['_applyOperationsSet'](_0x421cc0,!0x0),this['serverHistory']['version']=-_0x421cc0['length']+this['_offset'],this['_updateServerHistory'](_0x421cc0);}this['_document']['history']['version']=_0x377200,_0x322a04=this['_decompressOperations'](_0x339407['data'],_0x339407['metadata']),await this['_fetchMissingUsers'](_0x322a04),this['_applyOperationsSet'](_0x322a04,_0x2b4f58);}_0x339407['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x322a04,_0x339407['lastOperationId']),this['_lastSyncedOperationId']=_0x339407['lastOperationId']),this['serverHistory']['version']=_0x377200+this['_offset'],this['_updateServerHistory'](_0x322a04),_0x2e81e8['filter'](_0x24bde3=>{const _0x7a1a55=this['_getAffectedRoot'](_0x24bde3);return _0x7a1a55&&!this['_knownRootNames']['has'](_0x7a1a55);})['forEach']((_0x47a8b6,_0x427ea6)=>{_0x47a8b6['baseVersion']=this['_document']['version']+_0x427ea6,this['_saveOperationInBuffer'](_0x47a8b6);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5d55ff,_0x3c72ab){const _0x53c681=_0x3c72ab&&_0x3c72ab['message'];if(_0x53c681&&_0x53c681['startsWith']('realtimecollaborationclient'))throw _0x3c72ab;const _0x2fdb49=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2fdb49['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3a0d6c(_0x5d55ff,this['editor'],_0x53c681?{'originalError':_0x53c681}:void 0x0);}['_saveOperationInBuffer'](_0x15750e){this['_knownOperations']['has'](_0x15750e)||(this['_knownOperations']['add'](_0x15750e),this['_bufferedOperations']['push'](_0x15750e),this['_pendingAction']||'marker'==_0x15750e['type']&&!_0x15750e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x27871e=!0x1){!_0x27871e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3e304b=>{_0x3e304b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2a8b8c=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x11c406){return _0x11c406['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x11c406['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x11c406['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2a8b8c)||this['_crash'](_0x2a8b8c['message'],_0x2a8b8c);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x89f755=>{this['on']('change:_isPendingUpdate',()=>{_0x89f755();});});}async['_sendBufferedOperations'](){const _0x33071b=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x33071b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4ca573=[...this['_bufferedOperations']];for(const _0x3d5c57 of _0x4ca573)_0x3d5c57['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3d5c57);const _0x40a453=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4ca573),_0x2ad9b5=q++,_0x1db153=this['_compressOperations'](_0x4ca573),_0xa92398=await this['_service']['sendOperations'](_0x1db153,_0x1db153['baseVersion'],_0x40a453);try{return await this['_handleServerResponse'](_0x4ca573,_0xa92398,_0x2ad9b5);}catch(_0x4700c9){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4700c9);}}async['_handleServerResponse'](_0x135b01,_0x6d5942,_0x10182b){if('error'in _0x6d5942)throw _0x6d5942['error'];let _0x46866c=!0x1;if(_0x6d5942['wereChangesApplied']){_0x6d5942['lastOperationId']&&(this['_lastSyncedOperationId']=_0x6d5942['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1aa4a2=>!_0x135b01['includes'](_0x1aa4a2));for(const _0x10de64 of _0x135b01)_0x10de64['createdAt']='lastOperationAcceptedAt'in _0x6d5942&&_0x6d5942['lastOperationAcceptedAt']||void 0x0;$(_0x135b01,_0x6d5942['version']-_0x135b01['length']),this['_updateServerHistory'](_0x135b01);const _0x160049=_0x135b01['filter'](_0x19e9ae=>{if(!_0x19e9ae['_isInit'])return!0x1;const _0x579152=this['_getAffectedRoot'](_0x19e9ae);return _0x579152&&!this['_knownRootNames']['has'](_0x579152);});$(_0x160049,this['_document']['version']),this['_applyOperationsSet'](_0x160049),_0x46866c=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x566f19=this['_decompressOperations'](_0x6d5942['data'],_0x6d5942['metadata'])['filter'](_0x1a4e02=>_0x1a4e02['baseVersion']>=this['_lastServerVersion']);_0x566f19['forEach'](_0x11ff57=>this['_addKnownRoot'](_0x11ff57)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x52b65d=>!_0x52b65d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x52b65d))),this['_bufferedOperations']['length']&&$(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x566f19),_0x46866c=this['_handleExternalOperations'](_0x566f19,_0x6d5942['version'],_0x6d5942['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x46866c?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x479dc9,_0x137bf7,_0x59ef3b){try{const _0x19c834={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x552164,operationsB:_0x351fe2,originalOperations:_0x23cc8b}=_0x4b0c2e(_0x479dc9,this['_bufferedOperations'],_0x19c834);$(_0x552164,this['_document']['version']),$(_0x351fe2,_0x137bf7);for(const _0x2caa92 of _0x552164){const _0x3b5701=_0x23cc8b['get'](_0x2caa92);_0x2caa92['_authorId']=_0x3b5701?_0x3b5701['_authorId']:null;}_0x59ef3b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x479dc9,_0x59ef3b),this['_lastSyncedOperationId']=_0x59ef3b),this['_bufferedOperations']=[..._0x351fe2],this['_applyOperationsSet'](_0x552164),this['_updateServerHistory'](_0x479dc9);}catch(_0x2cc9ec){return console['error'](_0x2cc9ec),!0x1;}return!0x0;}['_applyOperationsSet'](_0x49f51f,_0x4300d3=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x405cc5=>{for(const _0x5a6efb of _0x49f51f)this['_knownOperations']['add'](_0x5a6efb),this['_addKnownRoot'](_0x5a6efb),_0x405cc5['batch']['addOperation'](_0x5a6efb),this['editor']['model']['applyOperation'](_0x5a6efb);});}['_addKnownRoot'](_0x4f6c3b){const _0x310171=this['_getAffectedRoot'](_0x4f6c3b);_0x310171&&this['_knownRootNames']['add'](_0x310171);}['_getAffectedRoot'](_0x3d396f){let _0x38e6f8,_0x579114;switch(_0x3d396f['type']){case'insert':_0x38e6f8=_0x3d396f['position']['root'];break;case'marker':if(_0x579114=_0x3d396f['newRange'],!_0x579114)return null;_0x38e6f8=_0x579114['root'];break;case'addRootAttribute':_0x38e6f8=_0x3d396f['root'];break;case'addRoot':_0x38e6f8=_0x3d396f['affectedSelectable'];break;case'move':_0x38e6f8=_0x3d396f['targetPosition']['root'];break;default:return null;}return _0x38e6f8['rootName'];}['_updateServerHistory'](_0x58f7d4){_0x58f7d4['forEach'](_0x2df677=>{const _0x200d48=_0x2df677['clone']();_0x200d48['_authorId']=_0x2df677['_authorId'],_0x200d48['_isInit']=!!_0x2df677['_isInit'],_0x200d48['createdAt']=_0x2df677['createdAt'],_0x200d48['baseVersion']+=this['_offset'],_0x2df677['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x200d48),this['serverHistory']['addOperation'](_0x200d48);});}['_handleReconnectionError'](_0x5ad368){const _0x5120e5=this['editor']['plugins']['get']('Notification'),_0x35b5c8=this['editor']['locale'];_0x5ad368||(_0x5ad368=V(_0x35b5c8,'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.')),_0x5120e5['showWarning'](_0x5ad368,{'title':V(_0x35b5c8,'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'](_0x5790b1)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5790b1)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x8677e4){const _0x1bbe3f=_0x8677e4['map'](_0x40ff21=>_0x40ff21['toJSON']());return this['_compressor']['compress'](_0x1bbe3f);}['_decompressOperations'](_0x3b9edf,_0x43f636){return this['_compressor']['decompress'](_0x3b9edf)['map']((_0x10aa81,_0xf21710)=>{const _0x5e0734='init'==_0x43f636[_0xf21710]['type'];if('InsertOperation'==_0x10aa81['__className']){const _0x40af95=_0x10aa81['position']['root'];!this['_document']['getRoot'](_0x40af95)&&(this['_document']['createRoot']('$root',_0x40af95)['_isAttached']=!0x1);}const _0xcc715=_0xc90b3d['fromJSON'](_0x10aa81,this['_document']);return _0xcc715['wasUndone']=_0x10aa81['wasUndone'],_0xcc715['_isInit']=_0x5e0734,_0xcc715['_authorId']=_0x5e0734?null:_0x43f636[_0xf21710]['userId'],_0xcc715['_isDisconnection']='cs:removeUser'===_0x43f636[_0xf21710]['type'],_0xcc715['createdAt']=_0x43f636[_0xf21710]['createdAt'],_0xcc715;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x242d1d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x242d1d&&_0x242d1d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class G extends Error{}function $(_0x111fb4,_0x2bfee8){for(const _0x20488a of _0x111fb4)_0x20488a['baseVersion']=_0x2bfee8++;}class K{['_ignoredOperations'];['_operationToId'];constructor(_0x3a321e){this['_ignoredOperations']=_0x3a321e,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4b6e65){let _0x6f8f25=_0x4b6e65['length'];for(;_0x6f8f25--;){const _0x59a286=_0x4b6e65[_0x6f8f25];if(!this['_ignoredOperations']['has'](_0x59a286)){if(!this['_operationToId']['has'](_0x59a286)){const _0x516d8c=_0xc6304d()['slice'](0x1,0x12);this['_operationToId']['set'](_0x59a286,_0x516d8c);}return this['_operationToId']['get'](_0x59a286);}}}['setIdForTheLastOperation'](_0xcd5476,_0x5e2bfb){if(!_0x5e2bfb)return;let _0x22bc29=_0xcd5476['length'];for(;_0x22bc29--;){const _0x318317=_0xcd5476[_0x22bc29];this['_ignoredOperations']['has'](_0x318317)||this['_operationToId']['set'](_0x318317,_0x5e2bfb);}}}class a extends _0x5b8bc3{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1861c7{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x393929];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2aaaab){super(_0x2aaaab),this['_services']=new Map();}async['init'](){const _0x1b17c8=this['context'],_0x485900=_0x1b17c8['plugins']['get']('CommentsRepository');if(_0x1b17c8['plugins']['get'](n)['addToReconnectionStack'](this),_0x485900['adapter']={'addCommentThread':async({channelId:_0x456cf3,threadId:_0x599765,comments:_0x379e3b,resolvedAt:_0x5d8da7,resolvedBy:_0x22c909,context:_0x4ce753,attributes:_0x1754bc})=>{const _0x448cb8=await this['_getService'](_0x456cf3)['addCommentThread']({'commentThreadId':_0x599765,'comments':_0x379e3b['map'](_0x53ef1d=>function(_0x41257d,_0x9530b2,_0x31400c){return{'commentThreadId':_0x31400c,'commentId':_0x41257d['commentId'],'userId':_0x41257d['authorId'],'content':_0x41257d['content'],'documentId':_0x9530b2,'createdAt':_0x41257d['createdAt'],'attributes':_0x41257d['attributes']||{}};}(_0x53ef1d,_0x456cf3,_0x599765)),'resolvedAt':_0x5d8da7,'resolvedBy':_0x22c909,'context':_0x4ce753,'attributes':_0x1754bc})['catch'](ft);return{'threadId':_0x448cb8['commentThreadId'],'comments':_0x448cb8['comments']};},'getCommentThread':async({channelId:_0x1b806d,threadId:_0x563313})=>{const _0x12fb5f=await this['_getService'](_0x1b806d)['getCommentThread'](_0x563313)['catch'](ot)['catch'](ft);return _0x12fb5f?_0x12fb5f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x12fb5f]),{'threadId':_0x12fb5f['commentThreadId'],'comments':_0x12fb5f['comments']['map'](st),'context':_0x12fb5f['context'],'resolvedAt':_0x12fb5f['resolvedAt'],'resolvedBy':_0x12fb5f['resolvedBy'],'attributes':_0x12fb5f['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb583,threadId:_0x498458,context:_0x12cc5c,unlinkedAt:_0x3e9662,attributes:_0x522bf6})=>this['_getService'](_0x5cb583)['updateCommentThread']({'commentThreadId':_0x498458,'context':_0x12cc5c,'attributes':_0x522bf6,'unlinkedAt':_0x3e9662})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x276d78,threadId:_0x539b81})=>{const _0x10e3fd=await this['_getService'](_0x276d78)['resolveCommentThread'](_0x539b81)['catch'](ot)['catch'](ft);return{'threadId':_0x10e3fd['commentThreadId'],'resolvedAt':_0x10e3fd['resolvedAt'],'resolvedBy':_0x10e3fd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x53bbb6,threadId:_0x152a3c})=>this['_getService'](_0x53bbb6)['reopenCommentThread'](_0x152a3c)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x4ecfe3,threadId:_0x294c6a})=>this['_getService'](_0x4ecfe3)['removeCommentThread'](_0x294c6a)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x47e103,threadId:_0x2f142e,commentId:_0x404b41,content:_0x5452a6,attributes:_0x5e2936})=>this['_getService'](_0x47e103)['addComment'](_0x2f142e,_0x404b41,_0x5452a6,_0x5e2936)['catch'](ft),'updateComment':({channelId:_0x5ecbb6,threadId:_0x28191b,commentId:_0x1cfa10,content:_0x5e4fea,attributes:_0x2b4f28})=>this['_getService'](_0x5ecbb6)['updateComment'](_0x28191b,_0x1cfa10,_0x5e4fea,_0x2b4f28)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x47bcda,threadId:_0x3fee26,commentId:_0x1a7137})=>this['_getService'](_0x47bcda)['removeComment'](_0x3fee26,_0x1a7137)['catch'](ot)['catch'](ft)},_0x1b17c8 instanceof tt){const _0x4eaf01=_0x1b17c8['config']['get']('collaboration.channelId'),_0x2de68b=_0x1b17c8['plugins']['get'](i);await this['_setUpService'](_0x4eaf01);const _0x7c6de9=await this['_services']['get'](_0x4eaf01)['getConnectedSessions']();this['listenTo'](_0x2de68b,'sessionAdd:'+_0x4eaf01,(_0x1f9f75,{session:_0x20bb7e})=>{_0x20bb7e['id']===_0x2de68b['mySessionId']&&(_0x1f9f75['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x20bb7e['permissions'],_0x4eaf01));}),_0x2de68b['register'](_0x4eaf01,_0x7c6de9);}}async['_setUpService'](_0x514692){if(this['_services']['has'](_0x514692))throw new _0x3a0d6c('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x514692});const _0x2ab89b=this['context']['plugins']['get']('CommentsRepository'),_0x54d6c2=new s['CommentsService'](_0x514692);this['_services']['set'](_0x514692,_0x54d6c2),this['listenTo'](_0x54d6c2,'commentThreadAdded',(_0x10ea44,_0x30fff8)=>{const {commentThreadId:_0x19cf29,documentId:_0x3fb70a,context:_0x486bdb,attributes:_0x17821b,resolvedAt:_0x198ff6,resolvedBy:_0x3b1b26,comments:_0x284f5a}=_0x30fff8;_0x2ab89b['getCommentThread'](_0x19cf29)||_0x2ab89b['addCommentThread']({'threadId':_0x19cf29,'channelId':_0x3fb70a,'comments':_0x284f5a?_0x284f5a['map'](st):[],'context':_0x486bdb,'attributes':_0x17821b,'resolvedAt':_0x198ff6,'resolvedBy':_0x3b1b26,'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentThreadUpdated',(_0x39d4eb,{commentThreadId:_0x5910da,documentId:_0x5144a1,context:_0x5650f5,unlinkedAt:_0x1a4799,attributes:_0x59e1c7})=>{_0x2ab89b['getCommentThread'](_0x5910da)&&_0x2ab89b['updateCommentThread']({'threadId':_0x5910da,'channelId':_0x5144a1,'context':_0x5650f5,'unlinkedAt':_0x1a4799,'attributes':_0x59e1c7,'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentThreadResolved',(_0x1f7c3d,{commentThreadId:_0xcc7c15,resolvedBy:_0x39b964,resolvedAt:_0x1d13de})=>{const _0x4369fb=_0x2ab89b['getCommentThread'](_0xcc7c15);_0x4369fb&&_0x4369fb['resolve']({'resolvedBy':_0x39b964,'resolvedAt':_0x1d13de,'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentThreadReopened',(_0x5a3452,{commentThreadId:_0x5d9ef5})=>{const _0x4c504f=_0x2ab89b['getCommentThread'](_0x5d9ef5);_0x4c504f&&_0x4c504f['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentThreadRemoved',(_0x289e13,{commentThreadId:_0x2c538c})=>{const _0x53aa24=_0x2ab89b['getCommentThread'](_0x2c538c);_0x53aa24&&_0x53aa24['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentAdded',(_0x26df75,_0x359840)=>{const _0x46ecaa=_0x359840['commentThreadId'],_0x4d4943=_0x2ab89b['getCommentThread'](_0x46ecaa);_0x4d4943&&_0x4d4943['addComment']({...st(_0x359840),'isFromAdapter':!0x0});}),this['listenTo'](_0x54d6c2,'commentUpdated',(_0x541139,{commentThreadId:_0xb5e099,commentId:_0x1016c4,content:_0x329305,attributes:_0x54a599})=>{const _0x3d7673=_0x2ab89b['getCommentThread'](_0xb5e099);if(_0x3d7673){const _0x51c586=_0x3d7673['getComment'](_0x1016c4);_0x51c586&&_0x51c586['update']({'content':_0x329305,'attributes':_0x54a599,'isFromAdapter':!0x0});}}),this['listenTo'](_0x54d6c2,'commentRemoved',(_0x2b2f9c,{commentThreadId:_0x15cdc4,commentId:_0x3a26db})=>{const _0x1c0819=_0x2ab89b['getCommentThread'](_0x15cdc4);if(_0x1c0819){const _0x56f5f0=_0x1c0819['getComment'](_0x3a26db);_0x56f5f0&&_0x56f5f0['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x514692);}['destroy'](){if(this['context']instanceof tt){const _0x74d579=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x74d579);}}['_terminateService'](_0x2bfedb){if(!this['_services']['has'](_0x2bfedb))throw new _0x3a0d6c('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2bfedb});this['_getService'](_0x2bfedb)['disconnect'](),this['_services']['delete'](_0x2bfedb);}async['reconnect'](){for(const _0x1e3fae of this['_services']['keys']())await this['_connectService'](_0x1e3fae);if(this['context']instanceof tt){const _0x7cbc19=this['context']['config']['get']('collaboration.channelId'),_0x555fc4=this['context']['plugins']['get'](i);_0x555fc4['unregister'](_0x7cbc19);const _0x3da097=await this['_services']['get'](_0x7cbc19)['getConnectedSessions']();_0x555fc4['register'](_0x7cbc19,_0x3da097);}}async['_connectService'](_0x469344){const {connection:_0x36ef8c}=this['context']['plugins']['get'](n),_0x2746a6=this['context']['plugins']['get']('CommentsRepository'),_0x5f1798=this['_services']['get'](_0x469344),_0x12a337=await _0x5f1798['connect'](_0x36ef8c);await this['_fetchMissingUsersForThreads'](_0x12a337);const _0x426232=new Set(Array['from'](_0x2746a6['getCommentThreads']({'channelId':_0x469344}),_0x5eabe2=>_0x5eabe2['id']));for(const _0x2683eb of _0x12a337)_0x2683eb['deletedAt']||_0x426232['delete'](_0x2683eb['commentThreadId']);for(const _0x586cc1 of _0x426232)_0x2746a6['getCommentThread'](_0x586cc1)['remove']({'isFromAdapter':!0x0});for(const _0x19bcae of _0x12a337){let _0x1db55c=_0x2746a6['getCommentThread'](_0x19bcae['commentThreadId']);const {commentThreadId:_0x36dc82,context:_0x246d57,attributes:_0x134fa7,resolvedBy:_0x4edc6c,resolvedAt:_0x54918e,unlinkedAt:_0x33b9f6,deletedAt:_0x53a724}=_0x19bcae;if(_0x53a724)continue;_0x1db55c||(_0x1db55c=_0x2746a6['addCommentThread']({'channelId':_0x469344,'threadId':_0x36dc82,'context':_0x246d57,'attributes':_0x134fa7||{},'resolvedBy':_0x4edc6c,'resolvedAt':_0x54918e,'unlinkedAt':_0x33b9f6,'isFromAdapter':!0x0}));const _0x5c8476=new Set(Array['from'](_0x1db55c['comments'],_0x3557a2=>_0x3557a2['id']));for(const _0x16f88d of _0x19bcae['comments'])_0x5c8476['delete'](_0x16f88d['commentId']);for(const _0x2f8ee0 of _0x5c8476)_0x1db55c['getComment'](_0x2f8ee0)['remove']({'isFromAdapter':!0x0});for(const _0x583b8e of _0x19bcae['comments']){const _0x633d0f=_0x1db55c['getComment'](_0x583b8e['commentId']);_0x633d0f?_0x633d0f['content']!==_0x583b8e['content']&&_0x633d0f['update']({'content':_0x583b8e['content'],'isFromAdapter':!0x0}):_0x1db55c['addComment'](Object['assign'](st(_0x583b8e),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5ae5e4){if(!this['_services']['has'](_0x5ae5e4))throw new _0x3a0d6c('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5ae5e4});return this['_services']['get'](_0x5ae5e4);}async['_fetchMissingUsersForThreads'](_0x58d69c){const _0x3dbab4=this['context']['plugins']['get'](_0x393929),{connection:_0x2b6354}=this['context']['plugins']['get'](n),_0x54ebd0=new Set();for(const {resolvedBy:_0x5682a6,comments:_0x1c496c}of _0x58d69c){_0x5682a6&&!_0x3dbab4['getUser'](_0x5682a6)&&_0x54ebd0['add'](_0x5682a6);for(const {userId:_0xd6c8fe}of _0x1c496c)_0x3dbab4['getUser'](_0xd6c8fe)||_0x54ebd0['add'](_0xd6c8fe);}if(0x0===_0x54ebd0['size'])return;const _0x11439a=await ut['getMany'](_0x2b6354,Array['from'](_0x54ebd0));for(const _0x170c33 of _0x11439a)_0x3dbab4['getUser'](_0x170c33['id'])||_0x3dbab4['addUser'](_0x170c33);}}async function ot(_0x16690b){if('404'!==_0x16690b['code'])throw _0x16690b;}function ft(_0x32f646){if((_0x412774=_0x32f646)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x412774['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x412774['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x412774;throw _0x32f646;}function st(_0xbb018b){return{'threadId':_0xbb018b['commentThreadId'],'commentId':_0xbb018b['commentId'],'content':_0xbb018b['content'],'createdAt':_0xbb018b['createdAt'],'authorId':_0xbb018b['userId'],'attributes':_0xbb018b['attributes']||{}};}class m extends _0x5b8bc3{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>it)());['_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(_0x205c56){super(_0x205c56);const _0x1492ea=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1492ea);}['init'](){const _0x5e518f=this['editor']['plugins']['get'](n),_0x20bd68=this['editor']['plugins']['get']('TrackChangesEditing');return _0x20bd68['adapter']={'getSuggestion':async _0x4de951=>{await this['_waitForServiceReady']();const _0x3687fe=await this['_trackChangesService']['get'](_0x4de951)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x3687fe]),_0x3687fe;},'addSuggestion':async({id:_0x2b2b45,type:_0x967c29,data:_0x3732cb,originalSuggestionId:_0x5a6e97,attributes:_0x172b95})=>{await this['_waitForServiceReady']();const _0x3232d0={'id':_0x2b2b45,'type':_0x967c29,'data':_0x3732cb,'originalSuggestionId':_0x5a6e97,'attributes':_0x172b95},_0x1ac8cd=await this['_trackChangesService']['add'](_0x2b2b45,_0x967c29,_0x3732cb,_0x5a6e97,_0x172b95)['catch'](_0x7b3a9c=>{if(mt(_0x7b3a9c))return new Promise(_0x40d30b=>{this['_bufferedRequests']['set'](_0x2b2b45,{'resolve':_0x40d30b,'suggestionData':_0x3232d0});});throw _0x7b3a9c;});return this['_bufferedRequests']['delete'](_0x2b2b45),_0x1ac8cd;},'updateSuggestion':async(_0x26fa9d,_0x4fbd33)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4fbd33['state'])return this['_trackChangesService']['update'](_0x26fa9d,_0x4fbd33)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x54bb7a,_0x539657)=>{_0x20bd68['hasSuggestion'](_0x539657['id'])&&(_0x20bd68['getSuggestion'](_0x539657['id'])['attributes']=_0x539657['attributes']);}),this['_trackChangesService']['connect'](_0x5e518f['connection'])['then'](_0x4757af=>(_0x5e518f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4757af)['then'](()=>{for(const _0x29d600 of _0x4757af){_0x20bd68['addSuggestionData'](_0x29d600)['_saved']=!0x0;}})));}async['reconnect'](){const _0x260316=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x20c67c}=this['editor']['plugins']['get'](n),_0x4f5bed=await this['_trackChangesService']['connect'](_0x20c67c);await this['_fetchMissingUsersForThreads'](_0x4f5bed);for(const {suggestionData:_0x120d44,resolve:_0x4a1477}of this['_bufferedRequests']['values']()){let _0xc8c64a=_0x4f5bed['find'](_0x666da2=>_0x666da2['id']===_0x120d44['id']);_0xc8c64a||(_0xc8c64a=await this['_trackChangesService']['add'](_0x120d44['id'],_0x120d44['type'],_0x120d44['data'],_0x120d44['originalSuggestionId'])),_0x4a1477(_0xc8c64a);}for(const _0x531436 of _0x4f5bed)_0x260316['hasSuggestion'](_0x531436['id'])||_0x260316['addSuggestionData'](_0x531436);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2a7a81=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3c2e63=>{_0x3c2e63['off'](),_0x2a7a81();});});}async['_fetchMissingUsersForThreads'](_0x18d708){const _0xf537bf=this['editor']['plugins']['get'](_0x393929),{connection:_0x1b4fc}=this['editor']['plugins']['get'](n),_0x5bfb88=new Set();for(const {authorId:_0x1c34a3}of _0x18d708)_0xf537bf['getUser'](_0x1c34a3)||_0x5bfb88['add'](_0x1c34a3);if(0x0===_0x5bfb88['size'])return;const _0x38175d=await ut['getMany'](_0x1b4fc,Array['from'](_0x5bfb88));for(const _0x53589c of _0x38175d)_0xf537bf['getUser'](_0x53589c['id'])||_0xf537bf['addUser'](_0x53589c);}}function nt(_0x303a63){if(mt(_0x303a63))return new Promise(()=>{});throw _0x303a63;}function mt(_0x5888f6){return _0x5888f6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5888f6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5b8bc3{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 _0x174e77=this['editor']['plugins']['get'](n),_0x4e8031=this['editor']['plugins']['get']('CommentsEditing'),_0x1502e5=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x174e77,'change:state',(_0xb0ec4a,_0x1ab70f,_0x3be923)=>{_0x4e8031['isThreadsLoadingPaused']='connected'!==_0x3be923;});}),this['listenTo'](_0x174e77,'change:state',(_0x127961,_0x5d5149,_0x3802b8)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x3802b8);}),_0x1502e5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x5b8bc3{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 _0x5b8bc3{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x53bdb2)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x393929];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35809d){super(_0x35809d);const _0x463e0a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x463e0a);}async['init'](){const _0x5617f6=this['editor']['plugins']['get'](l),_0x5146ea=_0x5617f6['serverHistory'],_0x44bf0b=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5146ea,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5617f6['sessionId']});const _0x5557ee=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x2279cc=await _0x242d38['isBundleUploaded'](_0x44bf0b['connection'],_0x5557ee);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x9b5cc0})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9b5cc0)),'updateRevisions':async _0x23d638=>{await this['_waitForServiceReady']();const _0x38fa69=this['_revisionTracker']['currentRevision'];if(_0x2279cc&&0x1===_0x23d638['length']&&_0x23d638[0x0]['id']===_0x38fa69['id'])return _0x23d638;for(const _0x42c1fe of _0x23d638)_0x42c1fe['id']===_0x38fa69['id']&&(_0x42c1fe['isEmptyCurrent']=_0x42c1fe['fromVersion']===_0x42c1fe['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x23d638,this['_lastRequestId'])['then'](_0x284702=>(this['_lastRequestId']=_0x284702,_0x23d638))['catch'](_0x304a11=>{if(P(_0x304a11)||'400'===_0x304a11['code']&&void 0x0!==_0x304a11['data']['wrongRequestId']){for(const _0x180bf5 of _0x23d638){!this['_revisionTracker']['repository']['getRevision'](_0x180bf5['id'])||this['_revisionTracker']['_bufferUpdate'](_0x180bf5['id'],_0x180bf5,!0x1);}if(P(_0x304a11))throw _0x304a11;return _0x23d638;}throw _0x304a11;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x212156,{revisionsData:_0x5268fa,requestId:_0x5a72cd})=>{Math['max'](..._0x5268fa['map'](_0x44eee6=>_0x44eee6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5268fa,_0x5a72cd);}):this['_handleRevisionsUpdate'](_0x5268fa,_0x5a72cd);});const {revisions:_0x36a978,requestId:_0x44eeb2}=await this['_revisionHistoryService']['connect'](_0x44bf0b['connection']);_0x44bf0b['addToReconnectionStack'](this),this['_lastRequestId']=_0x44eeb2,await this['_fetchMissingUsers'](_0x36a978);for(const _0x43b6e1 of _0x36a978)this['_revisionTracker']['addRevisionData'](_0x43b6e1);this['listenTo'](_0x5617f6,'change:_isConnected',(_0x435256,_0x19ffcf,_0x515cc4)=>{_0x515cc4&&(this['_oldOffset']=_0x5617f6['_offset'],_0x435256['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x44bf0b,'state',_0x849c2=>_0x849c2===_0x4efd76['CONNECTED']);}async['reconnect'](){const _0x29586f=this['editor']['plugins']['get'](n),_0xe04232=this['editor']['plugins']['get'](l),_0x48c150=async()=>{const _0x15c689=this['_revisionTracker']['currentRevision'],_0x21a07e=_0x15c689['id'],_0x37ebe7=_0x21a07e!==_0xe04232['sessionId'];if(_0x37ebe7){const _0x409451=_0xe04232['_offset']-this['_oldOffset'],_0x42cb8c=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x15c689['toVersion']+_0x409451!==_0x42cb8c){const _0x7d2dd2=_0x15c689['fromVersion']+_0x409451,_0xd8a07e=this['editor']['plugins']['get'](_0x393929),_0x29359e=this['_revisionTracker']['buildRevisionData']({'revision':_0x15c689,'from':_0x7d2dd2,'to':_0x42cb8c});_0x29359e['id']=_0x15c689['id'];const _0x63aad9=_0x29359e['authorsIds']['map'](_0x49e190=>_0xd8a07e['getUser'](_0x49e190));_0x15c689['_update']({..._0x29359e,'authors':_0x63aad9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x15c689['id'],_0x29359e,!0x0);}this['_revisionTracker']['_startingVersion']=_0x42cb8c,(_0x15c689['toVersion']===_0x15c689['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x21a07e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x21a07e),this['_revisionTracker']['_createCurrentRevision'](_0x42cb8c));}const {revisions:_0x29a2ef,requestId:_0x54f1c8}=await this['_revisionHistoryService']['reconnect'](_0x29586f['connection'],this['_lastRequestId']);_0x37ebe7&&_0x29a2ef['length']>0x0?_0xe04232['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x29a2ef),this['_handleRevisionsUpdate'](_0x29a2ef,_0x54f1c8),this['_revisionTracker']['sendBufferedUpdates']());};return _0xe04232['_isConnected']?_0x48c150():new Promise((_0x57ee61,_0x85f62)=>{_0xe04232['once']('change:_isConnected',()=>{_0x48c150()['then'](_0x57ee61)['catch'](_0x85f62);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1f07a7=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2ac3b7=>{_0x2ac3b7['off'](),_0x1f07a7();});});}['_getLatestVersionFromServerOperations'](){const _0x1bef67=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1edf6a of _0x1bef67)if('marker'!==_0x1edf6a['type']||_0x1edf6a['affectsData'])return _0x1edf6a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x568809=this['editor']['plugins']['get'](l);return new Promise(_0x44702f=>{_0x568809['_isPendingUpdate']?_0x568809['once']('change:_isPendingUpdate',()=>{_0x44702f(this['_getLatestVersionFromServerOperations']());}):_0x44702f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x946ac0,_0x186f0b){const _0x45d485=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x186f0b;for(const _0x3fd053 of _0x946ac0){const _0x1a2967=_0x45d485['getRevision'](_0x3fd053['id']);if(_0x1a2967){if((_0x3fd053['fromVersion']||_0x3fd053['toVersion'])&&(_0x3fd053['diffData']=null),_0x1a2967===this['_revisionTracker']['currentRevision']){const _0x4fe669=Math['max'](_0x1a2967['toVersion'],_0x3fd053['toVersion']),_0x181813=Math['max'](_0x1a2967['fromVersion'],_0x3fd053['fromVersion']);let _0x125c48;_0x1a2967['toVersion']===_0x3fd053['toVersion']&&_0x1a2967['fromVersion']===_0x3fd053['fromVersion']?(_0x125c48=!0x0,this['_preventResendingRevisionData'](_0x3fd053)):_0x3fd053['toVersion']===_0x4fe669&&_0x3fd053['fromVersion']===_0x181813?_0x125c48=!0x1:(_0x1a2967['toVersion']===_0x4fe669&&_0x1a2967['fromVersion']===_0x181813||this['_fixRevision']({'revision':_0x1a2967,'from':_0x181813,'to':_0x4fe669}),_0x125c48=!0x0),_0x125c48&&(delete _0x3fd053['fromVersion'],delete _0x3fd053['toVersion'],delete _0x3fd053['diffData'],delete _0x3fd053['createdAt'],delete _0x3fd053['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3fd053),this['_preventResendingRevisionData'](_0x3fd053);}else this['_revisionTracker']['addRevisionData'](_0x3fd053);}const _0x1bf4dc=_0x45d485['getRevisions']();_0x1bf4dc['reverse']();for(let _0x17cd81=0x0;_0x17cd81<_0x1bf4dc['length']-0x1;_0x17cd81++){const _0x17e397=_0x1bf4dc[_0x17cd81],_0x542932=_0x1bf4dc[_0x17cd81+0x1];if(_0x17e397['fromVersion']<_0x542932['toVersion']){const _0x7536fe=_0x542932['toVersion'],_0x16ca53=Math['max'](_0x7536fe,_0x17e397['toVersion']);this['_fixRevision']({'revision':_0x17e397,'from':_0x7536fe,'to':_0x16ca53});}}}['_fixRevision']({revision:_0x4fe291,from:_0xe38ccd,to:_0x82589}={}){const _0x2d0dda=this['editor']['plugins']['get'](_0x393929),_0x552ea2=this['_revisionTracker']['buildRevisionData']({'revision':_0x4fe291,'from':_0xe38ccd,'to':_0x82589});_0x552ea2['authors']=_0x552ea2['authorsIds']['map'](_0x3c7671=>_0x2d0dda['getUser'](_0x3c7671)),_0x4fe291['_update'](_0x552ea2);}['_preventResendingRevisionData'](_0x4d510c){const _0x468b38={};_0x468b38['id']=_0x4d510c['id'];for(const _0xdf8d72 of Object['keys'](_0x4d510c))'id'!==_0xdf8d72&&(_0x468b38[_0xdf8d72]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x468b38['id'],_0x468b38,!0x0);}async['_fetchMissingUsers'](_0x340d96){const _0x20cc45=this['editor']['plugins']['get'](_0x393929),{connection:_0x3fcf91}=this['editor']['plugins']['get'](n),_0x18688d=new Set();for(const _0x139c20 of _0x340d96){for(const _0x37c0ae of _0x139c20['authorsIds'])_0x17ab2d(_0x37c0ae);_0x139c20['creatorId']&&_0x17ab2d(_0x139c20['creatorId']);}if(0x0===_0x18688d['size'])return;const _0x4d3d5c=await ut['getMany'](_0x3fcf91,Array['from'](_0x18688d));for(const _0x1877bb of _0x4d3d5c)_0x20cc45['getUser'](_0x1877bb['id'])||_0x20cc45['addUser'](_0x1877bb);function _0x17ab2d(_0x3293b1){_0x20cc45['getUser'](_0x3293b1)||_0x18688d['add'](_0x3293b1);}}}function P(_0x1e640b){return _0x1e640b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1e640b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1e640b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x5b8bc3{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 _0x4e32f2{['_collapseAt'];constructor(_0x3a0436,_0x5bfae6=0x6){super(_0x3a0436);const _0x60773=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bfae6,this['bind']('isHidden')['to'](this,'usersCount',_0x10ba7f=>_0x10ba7f<_0x5bfae6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x60773['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':_0x60773['to']('usersCount',_0x636827=>'+'+(_0x636827-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4e32f2{['items'];['keystrokes'];constructor(_0x3a0ddc){super(_0x3a0ddc);const _0x5e91db=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5e36a4(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5e91db['if']('hasPopup'),'aria-expanded':_0x5e91db['to']('isExpanded',_0x4be7c9=>this['hasPopup']&&String(_0x4be7c9)),'aria-label':_0x5e91db['to']('hasPopup',_0x26dcc6=>V(_0x3a0ddc,_0x26dcc6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5e91db['to']('hasPopup',_0x5438db=>!!_0x5438db&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5e91db['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5e91db['to'](_0x226248=>{const _0x2bec9a=_0x226248,_0xb097c4=document['querySelector']('.ck-presence-list__dropdown-list'),_0x621590=document['querySelector']('.ck-balloon-panel_with-arrow');_0xb097c4?.['contains'](_0x2bec9a['relatedTarget'])||_0x621590?.['contains'](_0x2bec9a['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x23748b,_0x5cda88,_0x349454)=>{this['element']&&(_0x349454?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 _0x4e32f2{['counterView'];['inlineListView'];constructor(_0x54120c,_0x5a1608=0x6){super(_0x54120c);const _0x418545=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x5a1608),this['inlineListView']=new is(_0x54120c),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5d3f5c of this['inlineListView']['items'])_0x5d3f5c['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',_0x418545['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x4e32f2{['listWrapperView'];constructor(_0x4b86e1,_0x29f059){super(_0x4b86e1);const _0x52a054=this['bindTemplate'];this['listWrapperView']=new wt(_0x4b86e1,_0x29f059),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x4b86e1,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x52a054['to'](_0x5e7b17=>{const _0x37f3b8=_0x5e7b17,_0x4f8291=document['querySelector']('.ck-presence-list__list'),_0x2f4341=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4f8291?.['contains'](_0x37f3b8['relatedTarget'])||_0x2f4341?.['contains'](_0x37f3b8['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x478f63{constructor(_0xf14fd8,_0x984efb){super(_0xf14fd8);const _0x3962ba=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x984efb?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3962ba['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3962ba['to']('role'),'aria-label':_0x3962ba['to']('ariaLabel'),'aria-labelledby':_0x3962ba['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x21a1a4['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4bc672=this['element'];_0x4bc672&&(this['_isScrollable']=Math['max'](_0x4bc672['scrollHeight'],_0x4bc672['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0xd74dcb,_0x5ceedc,_0x487a85){super(_0xd74dcb);const _0xcc373=this['bindTemplate'];this['userView']=new ct(_0xd74dcb,_0x5ceedc);const _0x487e01={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5ceedc['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5ceedc['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5ceedc['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x487a85&&(_0x487e01['tag']='button',_0x487e01['on']={'click':_0xcc373['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x487e01);}['focus'](){this['element']['focus']();}}class A extends _0x4e32f2{['userView'];['markerView'];constructor(_0xb3b926,_0x343d23,_0x543049){super(_0xb3b926);const _0x3ca392=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xb3b926,_0x343d23),this['markerView']=new lt(_0xb3b926,_0x343d23);const _0x56f960=new at(_0xb3b926);_0x56f960['template']['tag']='span',_0x56f960['text']=_0x343d23['name'];const _0x3e6bc4={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x3ca392['to']('isFocusable',_0xd61501=>!!_0xd61501&&0x0),'aria-labelledby':_0x56f960['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x3ca392['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x3ca392['to']('hasTooltip',_0x32e45e=>!_0x32e45e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x56f960]};_0x543049&&(_0x3e6bc4['tag']='button',_0x3e6bc4['on']={'click':_0x3ca392['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3e6bc4);}}class lt extends _0x4e32f2{constructor(_0x58a9eb,_0xc6c51f){super(_0x58a9eb),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xc6c51f['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1861c7{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x597c2d){super(_0x597c2d),this['context']['config']['define']('presenceList',x);const _0x19cd93=_0x597c2d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x19cd93)throw new _0x3a0d6c('presencelist-collapseat-invalid-format',this);if(_0x19cd93<0x1)throw new _0x3a0d6c('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4fdafc(),this['balloonPanelView']=new _0x55c17c(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x4edff8 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4edff8);this['listenTo'](this['_allConnectedUsers'],'add',(_0xe9dea7,_0x3eef36)=>{this['_handleUserAdd'](_0x3eef36);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x376d17,_0x495e08)=>{this['_handleUserRemove'](_0x495e08);});}['_createView'](){const _0x4d1b41=this['context'],_0x5a0dee=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x30079e=this['balloonPanelView'];if(!_0x4d7729(_0x4d1b41['config']['get']('presenceList.container')))throw new _0x3a0d6c('presencelist-missing-container',this);return _0x5a0dee['counterView']['bind']('usersCount')['to'](this),_0x5a0dee['bind']('isCollapsed')['to'](this,'usersCount',_0x2a9dce=>{const {collapseAt:_0xafd8d3}=_0x4d1b41['config']['get']('presenceList'),_0x39c59f=_0x2a9dce>=_0xafd8d3;if(_0x39c59f&&!_0x5a0dee['inlineListView']['items']['find'](_0x272ebe=>_0x272ebe instanceof b)){const _0x140e85=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x140e85&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5a0dee['inlineListView']['items']['add'](_0x5a0dee['counterView']);}return _0x39c59f||this['hideDropdown'](),_0x39c59f;}),_0x5a0dee['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1b3ff5=>{const _0x4db9c1=_0x4d1b41['config']['get']('presenceList'),_0x28afac=new A(_0x4d1b41['locale'],_0x1b3ff5,!!_0x4db9c1['onClick']);return _0x28afac['bind']('hasTooltip')['to'](_0x5a0dee,'isCollapsed',_0x2d8e36=>!_0x2d8e36),_0x28afac['bind']('isFocusable')['to'](_0x5a0dee,'isCollapsed',_0x352dbe=>!_0x352dbe),_0x4db9c1['onClick']&&this['listenTo'](_0x28afac,'execute',()=>{this['view']['isCollapsed']||_0x4db9c1['onClick'](_0x1b3ff5,_0x28afac['element']);}),_0x28afac;}),this['listenTo'](_0x5a0dee['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5a0dee['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5a0dee['inlineListView']['keystrokes']['set']('Enter',(_0x2a50eb,_0x276da6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x276da6());}),_0x5a0dee['render'](),_0x30079e['render'](),_0x33581a({'emitter':_0x5a0dee,'activator':()=>_0x30079e['isVisible'],'contextElements':[_0x30079e['element'],_0x5a0dee['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4d1b41['config']['get']('presenceList.container')['appendChild'](_0x5a0dee['element']),this['_bodyCollection']=new _0x20fbe5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5a0dee;}['_handleUserAdd'](_0x365a2f){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x365a2f['isMe'])return;const _0x14211e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x14211e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3fb968=_0x365a2f['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x365a2f,_0x3fb968);}['_handleUserRemove'](_0xc2e33d){this['usersCount']--;const {collapseAt:_0x3bc504}=this['context']['config']['get']('presenceList'),_0x53fb06=this['usersCount']>=_0x3bc504;if(this['currentDisplayedUsers']['get'](_0xc2e33d['id']))this['currentDisplayedUsers']['remove'](_0xc2e33d['id']);else{if(_0x53fb06&&this['currentDisplayedUsers']['length']+0x1===_0x3bc504-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x53fb06?0x1:0x0)<this['usersCount']){for(const _0x1a1c24 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1a1c24['id'])&&(this['currentDisplayedUsers']['add'](_0x1a1c24,Math['min'](this['currentDisplayedUsers']['length']-(_0x53fb06?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x53fb06?0x1:0x0)===_0x3bc504-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4fb8b0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4fb8b0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0xab445f}=this['presenceDropdownView'];_0xab445f['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5bf459=>{if(!_0x4fb8b0['displayMe']&&_0x5bf459['isMe'])return null;const _0x5f48ad=new j(this['context']['locale'],_0x5bf459,!!_0x4fb8b0['onClick']);return _0x4fb8b0['onClick']&&this['listenTo'](_0x5f48ad,'execute',()=>{_0x4fb8b0['onClick'](_0x5bf459,_0x5f48ad['element']);}),_0x5f48ad;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0xab445f['focus'](),_0xab445f['checkIfScrollable']();const _0xffa0c=(_0x513948,_0x31794f)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x31794f();};_0xab445f['keystrokes']['set']('Esc',_0xffa0c),_0xab445f['keystrokes']['set']('Shift+Tab',_0xffa0c),_0xab445f['keystrokes']['set']('Tab',(_0x439f68,_0xcf6966)=>{!function(_0x52a948){const _0x45ffe1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5ead6c=>_0x5ead6c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x21e0c9=[...document['body']['querySelectorAll'](_0x45ffe1)]['filter'](_0x50ce3c=>_0x50ce3c===document['activeElement']||_0x50ce3c['offsetWidth']+_0x50ce3c['offsetHeight']>0x0)['sort']((_0x1e36eb,_0x34ea06)=>(_0x1e36eb['tabIndex']||0x0)-(_0x34ea06['tabIndex']||0x0)),_0x424caf=_0x21e0c9['indexOf'](_0x52a948),_0x1a699b=_0x21e0c9[(_0x424caf+0x1)%_0x21e0c9['length']];_0x1a699b&&_0x1a699b['focus']();}(this['view']['element']),this['hideDropdown'](),_0xcf6966();}),_0xab445f['focusTracker']['add'](this['view']['element']),_0xab445f['focusTracker']['on']('change:isFocused',(_0x32cd5d,_0x3af20e,_0x35f527)=>{_0x35f527||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x1861c7{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};