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

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 _0x4cb85d,Plugin as _0x532c83,PendingActions as _0x37736b,Context as _0x31709a}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4ee733,CKEditorError as _0xa9b19,Collection as _0x3c6690,global as _0x553c6f,version as nt,uid as _0x2974f1,KeystrokeHandler as _0x4896af}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2ad1d6,View as _0x2153f8,ListView as _0x3466f8,ListItemView as et,LabelView as ot,BalloonPanelView as _0x15a511,clickOutsideHandler as _0x34db55,BodyCollection as _0x51fd37}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4bf6b4,History as _0x38e4be,NoOperation as _0x28f9e4,InsertOperation as _0x5aa108,MarkerOperation as _0x295f41,RootAttributeOperation as _0x210995,transformOperationSets as _0x399e35,OperationFactory as _0x1ba137}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x5b0dbe,CollaborativeEditingService as _0x51f844,User as at,CommentsService as _0x59ea95,TrackChangesService as _0x3ff928,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1a7c05,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3bde43}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x76099f}from'es-toolkit/compat';class n extends _0x4cb85d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2ad1d6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x390de1){super(_0x390de1),this['set']('state',_0x5b0dbe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4ee733())();}['init'](){const _0x2337a9=this['context'],_0x21fe0d=_0x2337a9['plugins']['get']('CloudServices'),_0x32727c=_0x2337a9['plugins']['get'](_0x2ad1d6);if(!_0x21fe0d['token'])throw new _0xa9b19('websocketgateway-missing-token',this);if(!_0x21fe0d['webSocketUrl'])throw new _0xa9b19('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'](_0x21fe0d['token'],_0x21fe0d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1b1dbb=>{if(this['connection']=_0x1b1dbb,this['bind']('state')['to'](_0x1b1dbb,'state',this,'_isBrowserOffline',(_0x5b8311,_0x431e60)=>('connected'!==_0x5b8311&&(this['_shouldPluginsReconnect']=!0x0),_0x431e60||_0x5b8311!==_0x5b0dbe['CONNECTED']?_0x5b0dbe['DISCONNECTED']:this['state']==_0x5b0dbe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5b0dbe['CONNECTING']):_0x5b0dbe['CONNECTED'])),this['connection']['on']('error',(_0x279cf3,_0x5bfcee)=>{if('limitExceeded'!==_0x5bfcee['code'])throw console['error'](_0x5bfcee),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5bfcee});_0x32727c['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'});}),!_0x1b1dbb['me'])return new Promise(_0x3f8c6f=>_0x1b1dbb['on']('change:me',_0x3f8c6f));})['catch'](_0x5cbdf9=>{throw console['error'](_0x5cbdf9),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5cbdf9});});}['addToReconnectionStack'](_0x177fdb){if('function'!=typeof _0x177fdb['reconnect'])throw new _0xa9b19('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x177fdb))throw new _0xa9b19('websocketgateway-plugin-already-registered',this,{'name':_0x177fdb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x177fdb);}['removeFromReconnectionStack'](_0x5dbe60){this['_reconnectionStack']['delete'](_0x5dbe60);}['isInReconnectionStack'](_0x19a989){return this['_reconnectionStack']['has'](_0x19a989);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x121092=>_0x121092['reconnect']())))['then'](()=>this['state']=_0x5b0dbe['CONNECTED'])['catch'](_0x445d01=>{throw console['error'](_0x445d01),new _0xa9b19('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5b0dbe['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4cb85d{['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,_0x1a7c05];}constructor(_0x4edefa){super(_0x4edefa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3c6690(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1a7c05);}['init'](){const _0x37530e=this['context']['plugins']['get'](n);this['listenTo'](_0x37530e,'change:state',(_0x1968ba,_0x2a3125,_0x4d57e7)=>{if('connected'!==_0x4d57e7)this['channelSessions']['forEach'](_0x2e62c6=>_0x2e62c6['clear']()),this['channelConnectedUsers']['forEach'](_0x19da2a=>_0x19da2a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5577ed,_0x5eccf8]of this['_registeredSessions'])for(const _0x90510a of _0x5eccf8)this['_handleSessionAdd'](_0x5577ed,_0x90510a);}}),this['_createUser'](_0x37530e['connection']['me'],!0x0);}['register'](_0x52210c,_0x30c3ad){if(this['_registeredSessions']['has'](_0x52210c))throw new _0xa9b19('sessions-register-already-registered',null,{'channelId':_0x52210c});this['_registeredSessions']['set'](_0x52210c,_0x30c3ad),this['channelSessions']['set'](_0x52210c,new _0x3c6690()),this['channelConnectedUsers']['set'](_0x52210c,new _0x3c6690()),this['listenTo'](_0x30c3ad,'add',(_0x57da7d,_0x397954)=>this['_handleSessionAdd'](_0x52210c,_0x397954)),this['listenTo'](_0x30c3ad,'remove',(_0x2545da,_0x48e630)=>this['_handleSessionRemove'](_0x52210c,_0x48e630));for(const _0x4bd2dd of _0x30c3ad)this['_handleSessionAdd'](_0x52210c,_0x4bd2dd);}['unregister'](_0x1d897f){if(!this['_registeredSessions']['has'](_0x1d897f))throw new _0xa9b19('sessions-unregister-not-exist',null,{'channelId':_0x1d897f});const _0xfe04bd=this['_registeredSessions']['get'](_0x1d897f);this['stopListening'](_0xfe04bd);for(const _0x515005 of _0xfe04bd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1d897f,_0x515005);this['_registeredSessions']['delete'](_0x1d897f),this['channelSessions']['delete'](_0x1d897f),this['channelConnectedUsers']['delete'](_0x1d897f);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2bae80){for(const _0x3a4a9e of this['channelSessions']['values']())for(const _0x3da473 of _0x3a4a9e)if(_0x3da473['id']===_0x2bae80)return _0x3da473['user'];}['getUserSessions'](_0x39189c,_0x606004){const _0xe58e73=_0x606004?[this['channelSessions']['get'](_0x606004)]:this['channelSessions']['values'](),_0x140fc5=new Set();for(const _0x566d96 of _0xe58e73)for(const _0x4e03e1 of _0x566d96)_0x4e03e1['user']['id']===_0x39189c['id']&&_0x140fc5['add'](_0x4e03e1['id']);return _0x140fc5;}['getUserRole'](_0x46041d){for(const _0x14370b of this['channelSessions']['values']())for(const _0x52acfe of _0x14370b)if(_0x52acfe['user']===_0x46041d)return _0x52acfe['role'];}['_handleSessionAdd'](_0x717e26,_0x4a21b0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x9dd620=_0x4a21b0['user'],_0x159fb7=this['_users']['getUser'](_0x9dd620['id'])||this['_createUser'](_0x9dd620),_0x58ca61=Object['assign']({},_0x4a21b0,{'user':_0x159fb7});if(this['channelSessions']['get'](_0x717e26)['add'](_0x58ca61),!_0x9dd620['hiddenInPresenceList']){const _0x18c40a=this['channelConnectedUsers']['get'](_0x717e26);_0x18c40a['has'](_0x159fb7['id'])||_0x18c40a['add'](_0x159fb7),this['allConnectedUsers']['has'](_0x159fb7['id'])||_0x9dd620['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x159fb7,_0x159fb7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x717e26,{'channelId':_0x717e26,'session':_0x58ca61});}['_handleSessionRemove'](_0x30e533,_0x146c4f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x8ed00=this['channelConnectedUsers']['get'](_0x30e533),_0x3dbd29=_0x146c4f['user'];_0x3dbd29['id']&&(this['channelSessions']['get'](_0x30e533)['remove'](_0x146c4f['id']),_0x8ed00['has'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29,_0x30e533)['size']&&_0x8ed00['remove'](_0x3dbd29['id']),this['allConnectedUsers']['get'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29)['size']&&this['allConnectedUsers']['remove'](_0x3dbd29['id']));}['_createUser'](_0x1e7591,_0x2663cb){const _0x4325f4=this['_users']['addUser'](_0x1e7591);return _0x2663cb&&this['_users']['defineMe'](_0x1e7591['id']),_0x4325f4['orderNumber']=this['_uniqueUsersCount']++,_0x4325f4;}}class W extends _0x532c83{['_domEmitter']=new(_0x4ee733())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x36893e=this['editor'],_0x27a538=_0x36893e['plugins']['get'](i);_0x36893e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5d4b18,{writer:_0x219002})=>function(_0x4c2192,_0x145721,_0x318a83,_0x37a74f){const _0x254bde=_0x4c2192['markerName']['split'](':')[0x2],_0x2b7206=_0x318a83['getUserBySessionId'](_0x254bde);if(!_0x2b7206||_0x254bde===_0x318a83['mySessionId'])return;if(!_0x37a74f['model']['schema']['checkChild'](_0x4c2192['markerRange']['start'],'$text'))return;const _0x1c6789={'class':'ck-user__marker\x20'+_0x2b7206['color']['getMarkerClass'](),'data-name':_0x2b7206['name'],'data-session-id':_0x254bde},_0x5844fa=_0x37a74f['model']['markers']['get'](_0x4c2192['markerName']),_0x1ba2d3=_0x5844fa['getStart'](),_0x35f84b=_0x1ba2d3['nodeAfter'],_0x1d5ce2=_0x37a74f['model']['schema'];if(_0x35f84b&&_0x1d5ce2['isObject'](_0x35f84b)&&_0x1d5ce2['isInline'](_0x35f84b)&&!_0x37a74f['model']['markers']['get']('user:range:'+_0x254bde)['getRange']()['isCollapsed'])return;const _0x25ae13=_0x1ba2d3['parent'];return _0x37a74f['model']['schema']['isLimit'](_0x25ae13)&&!_0x37a74f['model']['hasContent'](_0x25ae13)&&(_0x1c6789['contenteditable']=!0x1),function(_0x5a22e9,_0x3a06a1,_0x23c463){const _0x5a4c40=_0x5a22e9['createUIElement']('span',_0x3a06a1);return _0x5a22e9['setCustomProperty']('userPositionMarker',!0x0,_0x5a4c40),_0x5a4c40['render']=function(_0x3ea42a){const _0x2d0855=this['toDomElement'](_0x3ea42a),_0x392832=document['createElement']('span');return _0x392832['classList']['add']('ck-user__marker-tooltip'),_0x392832['setAttribute']('contenteditable','false'),_0x392832['setAttribute']('spellcheck','false'),_0x392832['textContent']=_0x23c463['name'],_0x2d0855['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x392832['outerHTML']+'⁠',_0x2d0855['addEventListener']('mouseenter',()=>{_0x2d0855['classList']['add']('ck-user__marker_hovered');}),_0x2d0855['addEventListener']('mouseleave',()=>{_0x2d0855['classList']['remove']('ck-user__marker_hovered');}),_0x2d0855;},_0x5a4c40['isSimilar']=function(_0x3f2153){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3f2153['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3f2153['getAttribute']('data-session-id'));},_0x5a4c40;}(_0x145721,_0x1c6789,_0x2b7206);}(_0x5d4b18,_0x219002,_0x27a538,_0x36893e)}),_0x36893e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33980e=>function(_0x281de2,_0x4a68c5){const _0x1d7635=_0x281de2['markerName']['split'](':')[0x2];if(_0x1d7635===_0x4a68c5['mySessionId'])return null;const _0x3beb7a=_0x4a68c5['getUserBySessionId'](_0x1d7635);if(!_0x3beb7a)return{'id':_0x1d7635,'classes':[]};return{'id':_0x1d7635,'classes':['ck-user__selection',_0x3beb7a['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1d7635},'priority':0x7d0+_0x3beb7a['orderNumber']};}(_0x33980e,_0x27a538)}),function(_0x474d8a){const _0x3be3dd=_0x474d8a['model'],_0x1f3e22=new Map(),_0x24c4ca=_0x474d8a['plugins']['get'](i);_0x3be3dd['markers']['on']('update:user:range',(_0x17f008,_0x3bb61c,_0x35b0b0,_0x52a0de)=>{if(!_0x52a0de&&_0x1f3e22['get'](_0x3bb61c['name']))return _0x1f3e22['get'](_0x3bb61c['name'])['detach'](),void _0x1f3e22['delete'](_0x3bb61c['name']);const _0x286dbb=_0x3bb61c['name']['split'](':')[0x2];if(_0x286dbb===_0x24c4ca['mySessionId'])return;const _0x3aac00='user:position:'+_0x286dbb;_0x3be3dd['markers']['has'](_0x3aac00)&&_0x474d8a['editing']['reconvertMarker'](_0x3aac00),_0x3bb61c['on']('change:range',(_0x11c811,_0x3bb547,_0x412467)=>{if('$graveyard'!=_0x3bb547['root']['rootName']&&'$graveyard'==_0x3bb61c['getRange']()['root']['rootName']&&!_0x1f3e22['has'](_0x3bb61c['name'])){const _0x32e970=_0x3be3dd['schema']['getNearestSelectionRange'](_0x412467['deletionPosition']);if(_0x32e970){const _0xa0d045=_0x4bf6b4['fromRange'](_0x32e970);_0x1f3e22['set'](_0x3bb61c['name'],_0xa0d045),_0xa0d045['on']('change:range',(_0x2926f4,_0x22156f,_0x124087)=>{if('$graveyard'==_0xa0d045['root']['rootName']){const _0x127e2d=_0x3be3dd['schema']['getNearestSelectionRange'](_0x124087['deletionPosition']);_0x127e2d?(_0xa0d045['start']=_0x127e2d['start'],_0xa0d045['end']=_0x127e2d['end']):(_0x1f3e22['delete'](_0x3bb61c['name']),_0xa0d045['detach']());}});}}});}),_0x3be3dd['document']['on']('change',()=>{_0x1f3e22['size']>0x0&&_0x3be3dd['enqueueChange']({'isUndoable':!0x1},_0x1acdb8=>{for(const [_0x232126,_0x111827]of _0x1f3e22)'$graveyard'==_0x3be3dd['markers']['get'](_0x232126)['getRange']()['root']['rootName']&&(re(_0x232126['split'](':')[0x2],_0x111827['toRange'](),_0x3be3dd,_0x1acdb8),_0x111827['detach']());_0x1f3e22['clear']();});});}(_0x36893e),this['_domEmitter']['listenTo'](_0x553c6f['document'],'keydown',(_0x47ed33,{key:_0x3e75bb})=>{'Escape'===_0x3e75bb&&function(_0x1bd36d){_0x1bd36d['editing']['view']['change'](_0x5fcc35=>{for(const _0x4cbfc0 of _0x1bd36d['model']['markers']){if(!_0x4cbfc0['name']['startsWith']('user:position'))continue;const _0x3fb689=_0x1bd36d['editing']['mapper']['markerNameToElements'](_0x4cbfc0['name']);if(_0x3fb689){for(const _0x3d4295 of _0x3fb689)_0x5fcc35['removeClass']('ck-user__marker_hovered',_0x3d4295);}}});}(_0x36893e);},{'useCapture':!0x0});}['afterInit'](){const _0x5b6539=this['editor'],_0x201a24=_0x5b6539['commands']['get']('undo');_0x201a24&&_0x5b6539['model']['on']('applyOperation',(_0x40d6db,_0x4d4726)=>{const _0x1a9055=_0x4d4726[0x0];if(!_0x1a9055['isDocumentOperation'])return;if('marker'!=_0x1a9055['type']||!_0x1a9055['name']['startsWith']('user:'))return;const _0x39e1ea=_0x1a9055['batch'];_0x201a24['_createdBatches']['has'](_0x39e1ea)&&(_0x1a9055['newRange']=_0x1a9055['oldRange']?_0x5b6539['model']['createRange'](_0x1a9055['oldRange']['start'],_0x1a9055['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x559dc1=this['editor'],_0x3c2445=_0x559dc1['model']['document'],_0x26fd89=_0x559dc1['plugins']['get'](i);_0x559dc1['model']['enqueueChange']({'isUndoable':!0x1},_0x4ba919=>{const _0xe3201='user:range:'+_0x26fd89['mySessionId'],_0x42e8a4='user:position:'+_0x26fd89['mySessionId'],_0x59c3d4=_0x559dc1['model']['markers']['has'](_0xe3201);_0x559dc1['editing']['view']['hasDomSelection']?re(_0x26fd89['mySessionId'],_0x3c2445['selection']['getFirstRange'](),_0x559dc1['model'],_0x4ba919):_0x59c3d4&&(_0x4ba919['removeMarker'](_0xe3201),_0x4ba919['removeMarker'](_0x42e8a4));});}}function re(_0x2bfe10,_0x2147e1,_0x563483,_0x3eced7){const _0x2a7f11='user:range:'+_0x2bfe10,_0x48a052='user:position:'+_0x2bfe10,_0x843f02=_0x2147e1['getContainedElement']();let _0x1367e2=_0x2147e1['start'];if(_0x843f02&&_0x843f02['is']('element','tableCell')){const _0x394e68=function(_0x18b77f,_0x775fee){for(const _0xeda196 of _0x18b77f['getPositions']())if(_0x775fee['schema']['checkChild'](_0xeda196,'$text'))return _0xeda196;}(_0x2147e1,_0x563483);_0x394e68&&(_0x1367e2=_0x394e68,_0x2147e1=_0x3eced7['createRange'](_0x1367e2));}const _0x517fdd=_0x3eced7['createRange'](_0x1367e2);_0x563483['markers']['has'](_0x2a7f11)?(_0x3eced7['updateMarker'](_0x2a7f11,{'range':_0x2147e1}),_0x3eced7['updateMarker'](_0x48a052,{'range':_0x517fdd})):(_0x3eced7['addMarker'](_0x2a7f11,{'range':_0x2147e1,'usingOperation':!0x0}),_0x3eced7['addMarker'](_0x48a052,{'range':_0x517fdd,'usingOperation':!0x0}));}function q(_0x1fdb68,_0x19ac56,_0x5916e3){const _0x4158b4=_0x1fdb68['t'],t=_0x1fdb68['t'];switch(_0x19ac56){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 _0x4158b4({'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'},_0x5916e3);default:return'';}}let K=0x1;class l extends _0x532c83{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x51f844)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x37736b,_0x1a7c05,_0x2ad1d6];}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 _0x46edba=this['serverHistory']['getOperations']();for(let _0x268de6=_0x46edba['length']-0x1;_0x268de6>=0x0;_0x268de6--){const _0x5a9cb6=_0x46edba[_0x268de6];if(!this['_disconnectionOperations']['has'](_0x5a9cb6))return _0x5a9cb6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x48ca18){if(super(_0x48ca18),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x38e4be(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa9b19('collaboration-missing-channelid',this);const _0x43b315=_0x48ca18['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x43b315,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3bde43(),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 X(this['_disconnectionOperations']);}['init'](){const _0x568a8b=this['editor'],_0x3168d6=_0x568a8b['plugins']['get'](_0x1a7c05),_0x54fc9f=_0x568a8b['plugins']['get'](n);this['listenTo'](_0x3168d6,'getOperationAuthor',(_0x25a7a4,_0x123056)=>{const _0x350c1d=_0x123056[0x0];_0x350c1d['_authorId']&&(_0x25a7a4['return']=_0x3168d6['getUser'](_0x350c1d['_authorId']),_0x25a7a4['stop']()),null===_0x350c1d['_authorId']&&(_0x25a7a4['return']=null,_0x25a7a4['stop']());},{'priority':'high'}),this['listenTo'](_0x568a8b['model']['document']['selection'],'change:range',(_0x2bc5f3,_0x336c20)=>{_0x336c20['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x568a8b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x568a8b['model']['on']('applyOperation',(_0x3ebe22,_0x2ec07d)=>{const _0x10272c=_0x2ec07d[0x0];_0x10272c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x10272c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x54fc9f,'state',this,'_hasSynchronizationProblem',(_0x34b511,_0x3b4ea9)=>'connected'===_0x34b511&&!_0x3b4ea9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1675e4=this['editor']['plugins']['get'](i),_0x5eb20b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x1675e4['unregister'](this['_channelId']);const _0x1c79cc=await this['_service']['reconnect'](_0x5eb20b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1c79cc)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xdbf584=await this['_service']['getConnectedSessions']();_0x1675e4['register'](this['_channelId'],_0xdbf584),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x18f189){if(function(_0x47b17b){return'404'===_0x47b17b['code'];}(_0x18f189)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5312ff){return'409'===_0x5312ff['code'];}(_0x18f189)){const _0x41bcb6=q(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'](_0x41bcb6);}else{if(!(_0x18f189 instanceof J))throw _0x18f189;this['_handleReconnectionError']();}}}}['destroy'](){const _0x23862c=this['editor']['plugins']['get'](n),_0x5bcca7=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bcca7['channelSessions']['has'](this['_channelId'])&&_0x5bcca7['unregister'](this['_channelId']),_0x23862c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x58c4fd){if(this['sessionId']!==_0x58c4fd['sessionId']&&this['_lastSyncedOperationId']!==_0x58c4fd['lastOperationId'])throw new J();return this['sessionId']=_0x58c4fd['sessionId'],this['_handleServerResponse']([],{..._0x58c4fd,'wereChangesApplied':!0x1,'data':_0x58c4fd['data']},'reconnect');}async['_connectService'](_0x56e0d6,_0x2f9b58=!0x1){const {connection:_0x4afd45}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4afd45,this['_channelId'])['then'](_0xd904da=>this['_initSessionsHandling'](_0xd904da))['catch'](_0x29ce30=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29ce30);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x408c77,_0x58ddc1)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x58ddc1);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17cc6f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x56e0d6);this['_isPendingUpdate']=!0x0;const _0x34ce11=await this['_service']['connect'](_0x4afd45,this['_compressOperations'](_0x56e0d6),_0x17cc6f);if(this['sessionId']=_0x34ce11['sessionId'],_0x2f9b58){if(!_0x34ce11['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x34ce11['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x56e0d6,_0x34ce11,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x34ce11,_0x56e0d6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1f64a1=this['editor']['plugins']['get'](i),_0x177992=this['editor']['plugins']['get'](W),_0x3607b6=_0x1f64a1['channelSessions']['get'](this['_channelId']);_0x3607b6&&_0x3607b6['length']>0x1?_0x177992['createUserMarkerOperations']():this['listenTo'](_0x1f64a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1f64a1['channelSessions']['get'](this['_channelId'])['length']&&_0x177992['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x6aa47d,_0x4aa88c,_0x35f6c8,_0x45e189){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4aa88c){const _0x279857=this['_decompressOperations'](_0x35f6c8,_0x45e189);await this['_fetchMissingUsers'](_0x279857),this['_handleExternalOperations'](_0x279857,_0x4aa88c,_0x35f6c8['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x103886}=this['editor'];let _0x24178b;try{_0x24178b=await this['_service']['getDocumentDetails']();}catch{const _0x3e9164=q(_0x103886,'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'](_0x3e9164);}const _0x52fe44=_0x24178b['currentDocumentSession']||_0x24178b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x52fe44['lastOperationId']){const _0x3b91ef=q(_0x103886,'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'](_0x3b91ef);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1c6bd5){const _0x37e58b=this['editor']['plugins']['get'](i);this['listenTo'](_0x37e58b,'sessionAdd:'+this['_channelId'],(_0x37cc5b,{session:_0x281cd5})=>{if(_0x281cd5['id']===_0x37e58b['mySessionId']){_0x37cc5b['off']();const _0x13e7a6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e9f11=_0x281cd5['permissions'];_0x13e7a6&&_0x13e7a6['isEnabled']&&(_0x3e9f11=_0x3e9f11['filter'](_0x2c51b9=>'document:write'!==_0x2c51b9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e9f11,this['_channelId']);}}),_0x37e58b['register'](this['_channelId'],_0x1c6bd5);}['_initThrowingOnDataSet'](){const _0x43b700=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5d84a1)=>{if(!_0x5d84a1[_0x5d84a1['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa9b19('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x43b700['apply'](this['editor']['data'],_0x5d84a1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3d8812,[_0x586919])=>{if(this['_document']['version'])throw new _0xa9b19('realtimecollaborationclient-init-document-already-initialized',this);_0x3d8812['stop'](),this['_setPendingAction']();const _0x197395=this['editor']['config']['get']('rootsAttributes'),_0x2f4979=this['_getOperationsFromInitData'](_0x586919,_0x197395);0x0==_0x2f4979['length']&&_0x2f4979['push'](new _0x28f9e4(0x0)),_0x3d8812['return']=this['_connectService'](_0x2f4979)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3fd632=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3fd632))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x29f4f8,[_0x33d5a2,_0x103a88])=>{_0x29f4f8['stop']();const _0x40f768=this['editor']['model']['document']['getRoot'](_0x33d5a2);if(!this['_knownRootNames']['has'](_0x33d5a2)){const _0xa03b41=_0x103a88&&_0x103a88['data']?_0x103a88['data']:'',_0x399efb=_0x103a88&&_0x103a88['attributes']?_0x103a88['attributes']:{};await this['_loadRoot'](_0x33d5a2,_0xa03b41,_0x399efb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x40f768['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x40f768);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x33fe31){const _0x448bd5=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0xf075ef}=this['editor']['plugins']['get'](n),_0x124b61=new Set();for(const _0x49a80f of _0x33fe31){const _0x3e53e8=_0x49a80f['_authorId'];_0x3e53e8&&!_0x448bd5['getUser'](_0x3e53e8)&&_0x124b61['add'](_0x3e53e8);}if(0x0===_0x124b61['size'])return;const _0x10643a=await at['getMany'](_0xf075ef,Array['from'](_0x124b61));for(const _0x44307f of _0x10643a)_0x448bd5['getUser'](_0x44307f['id'])||_0x448bd5['addUser'](_0x44307f);}['_getOperationsFromInitData'](_0x5bcab5,_0x5d4f52={}){const _0x4ae089=this['editor']['model'],_0x2dfb30=[];let _0x4f154b=0x0;const _0x2b952d='string'==typeof _0x5bcab5?{'main':_0x5bcab5}:_0x5bcab5;for(const _0x42dc48 of Object['keys'](_0x2b952d)){if(!this['_document']['roots']['has'](_0x42dc48))throw new _0xa9b19('realtimecollaborationclient-init-non-existent-root',this);const _0x21fa36=this['editor']['data']['parse'](_0x2b952d[_0x42dc48]),_0x201ba0=this['_document']['getRoot'](_0x42dc48),_0xadb362=new _0x5aa108(_0x4ae089['createPositionAt'](_0x201ba0,0x0),_0x21fa36,_0x4f154b++);_0x2dfb30['push'](_0xadb362);for(const [_0x6c4f0f,_0x50ab67]of _0x21fa36['markers']){const _0x32fd42=_0x4ae089['createRange'](_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['start']['path']['slice']()),_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['end']['path']['slice']())),_0x59fb10=new _0x295f41(_0x6c4f0f,null,_0x32fd42,_0x4ae089['markers'],!0x0,_0x4f154b++);_0x2dfb30['push'](_0x59fb10);}}if(_0x5d4f52)for(const [_0xc76d24,_0x26b2ce]of Object['entries'](_0x5d4f52)){const _0x9494ae=_0x4ae089['document']['getRoot'](_0xc76d24);if(!_0x9494ae)throw new _0xa9b19('multi-root-editor-root-attributes-no-root',null);for(const [_0x1b1818,_0x539a03]of Object['entries'](_0x26b2ce))if(null!==_0x539a03){const _0x416491=new _0x210995(_0x9494ae,_0x1b1818,null,_0x539a03,_0x4f154b++);_0x2dfb30['push'](_0x416491);}}return _0x2dfb30;}async['_loadRoot'](_0x2f646a,_0x5e3692,_0x47e6e7){this['_getOperationsFromInitData']({[_0x2f646a]:_0x5e3692},{[_0x2f646a]:_0x47e6e7})['forEach']((_0x2dd9e1,_0x378ac8)=>{_0x2dd9e1['baseVersion']=this['_document']['version']+_0x378ac8,_0x2dd9e1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2dd9e1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x373a0c,_0xdc861a){let _0x320d32;this['_offset']=_0x373a0c['offset'];const _0x1c1c79=_0x373a0c['wereChangesApplied']&&!_0x373a0c['initData'],_0x59518f=_0x1c1c79?0x0:_0x373a0c['data']['baseVersion'];if(_0xdc861a['forEach'](_0x417191=>{_0x417191['_isInit']=!0x0,_0x417191['createdAt']=_0x373a0c['sessionCreatedAt'],_0x417191['_authorId']=null;}),_0x1c1c79)_0x320d32=_0xdc861a,this['_applyOperationsSet'](_0x320d32,_0x1c1c79);else{if(_0x373a0c['initData']){const _0x1810b7=this['_getOperationsFromInitData'](_0x373a0c['initData']);this['_document']['history']['version']=-_0x1810b7['length'],_0x1810b7['forEach'](_0xcb4110=>{_0xcb4110['baseVersion']-=_0x1810b7['length'],_0xcb4110['createdAt']=_0x373a0c['sessionCreatedAt'],_0xcb4110['_isInit']=!0x0,_0xcb4110['_authorId']=null;}),this['_applyOperationsSet'](_0x1810b7,!0x0),this['serverHistory']['version']=-_0x1810b7['length']+this['_offset'],this['_updateServerHistory'](_0x1810b7);}this['_document']['history']['version']=_0x59518f,_0x320d32=this['_decompressOperations'](_0x373a0c['data'],_0x373a0c['metadata']),await this['_fetchMissingUsers'](_0x320d32),this['_applyOperationsSet'](_0x320d32,_0x1c1c79);}_0x373a0c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x320d32,_0x373a0c['lastOperationId']),this['_lastSyncedOperationId']=_0x373a0c['lastOperationId']),this['serverHistory']['version']=_0x59518f+this['_offset'],this['_updateServerHistory'](_0x320d32),_0xdc861a['filter'](_0x562446=>{const _0x754463=this['_getAffectedRoot'](_0x562446);return _0x754463&&!this['_knownRootNames']['has'](_0x754463);})['forEach']((_0x6a6b7a,_0x458c00)=>{_0x6a6b7a['baseVersion']=this['_document']['version']+_0x458c00,this['_saveOperationInBuffer'](_0x6a6b7a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3d7b42,_0x58bd71){const _0x40d979=_0x58bd71&&_0x58bd71['message'];if(_0x40d979&&_0x40d979['startsWith']('realtimecollaborationclient'))throw _0x58bd71;const _0x349f35=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x349f35['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa9b19(_0x3d7b42,this['editor'],_0x40d979?{'originalError':_0x40d979}:void 0x0);}['_saveOperationInBuffer'](_0x3f9542){this['_knownOperations']['has'](_0x3f9542)||(this['_knownOperations']['add'](_0x3f9542),this['_bufferedOperations']['push'](_0x3f9542),this['_pendingAction']||'marker'==_0x3f9542['type']&&!_0x3f9542['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2986ea=!0x1){!_0x2986ea&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xeddd31=>{_0xeddd31&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2582dc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x537c1a){return _0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2582dc)||this['_crash'](_0x2582dc['message'],_0x2582dc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x45cdb3=>{this['on']('change:_isPendingUpdate',()=>{_0x45cdb3();});});}async['_sendBufferedOperations'](){const _0x2d309b=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x2d309b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x480e45=[...this['_bufferedOperations']];for(const _0x4ae24e of _0x480e45)_0x4ae24e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4ae24e);const _0x340fa7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x480e45),_0x29e112=K++,_0x3e74e9=this['_compressOperations'](_0x480e45),_0x2fa4d5=await this['_service']['sendOperations'](_0x3e74e9,_0x3e74e9['baseVersion'],_0x340fa7);try{return await this['_handleServerResponse'](_0x480e45,_0x2fa4d5,_0x29e112);}catch(_0x1b2116){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b2116);}}async['_handleServerResponse'](_0x5a649d,_0x12dbe3,_0x34182c){if('error'in _0x12dbe3)throw _0x12dbe3['error'];let _0x583c3a=!0x1;if(_0x12dbe3['wereChangesApplied']){_0x12dbe3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x12dbe3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4aa520=>!_0x5a649d['includes'](_0x4aa520));for(const _0x1678ad of _0x5a649d)_0x1678ad['createdAt']='lastOperationAcceptedAt'in _0x12dbe3&&_0x12dbe3['lastOperationAcceptedAt']||void 0x0;Q(_0x5a649d,_0x12dbe3['version']-_0x5a649d['length']),this['_updateServerHistory'](_0x5a649d);const _0x562672=_0x5a649d['filter'](_0x1cca95=>{if(!_0x1cca95['_isInit'])return!0x1;const _0x8a65e1=this['_getAffectedRoot'](_0x1cca95);return _0x8a65e1&&!this['_knownRootNames']['has'](_0x8a65e1);});Q(_0x562672,this['_document']['version']),this['_applyOperationsSet'](_0x562672),_0x583c3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x351645=this['_decompressOperations'](_0x12dbe3['data'],_0x12dbe3['metadata'])['filter'](_0x3b3144=>_0x3b3144['baseVersion']>=this['_lastServerVersion']);_0x351645['forEach'](_0x4bbf46=>this['_addKnownRoot'](_0x4bbf46)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5742b4=>!_0x5742b4['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5742b4))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x351645),_0x583c3a=this['_handleExternalOperations'](_0x351645,_0x12dbe3['version'],_0x12dbe3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x583c3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x19d56c,_0x5eb343,_0x40f79b){try{const _0x48284c={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2fb7c6,operationsB:_0xd0210a,originalOperations:_0x9498ca}=_0x399e35(_0x19d56c,this['_bufferedOperations'],_0x48284c);Q(_0x2fb7c6,this['_document']['version']),Q(_0xd0210a,_0x5eb343);for(const _0x5c8c5d of _0x2fb7c6){const _0x474e1d=_0x9498ca['get'](_0x5c8c5d);_0x5c8c5d['_authorId']=_0x474e1d?_0x474e1d['_authorId']:null;}_0x40f79b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x19d56c,_0x40f79b),this['_lastSyncedOperationId']=_0x40f79b),this['_bufferedOperations']=[..._0xd0210a],this['_applyOperationsSet'](_0x2fb7c6),this['_updateServerHistory'](_0x19d56c);}catch(_0x41e527){return console['error'](_0x41e527),!0x1;}return!0x0;}['_applyOperationsSet'](_0x56a3d1,_0x434f9a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x529e00=>{for(const _0x3f5ef4 of _0x56a3d1)this['_knownOperations']['add'](_0x3f5ef4),this['_addKnownRoot'](_0x3f5ef4),_0x529e00['batch']['addOperation'](_0x3f5ef4),this['editor']['model']['applyOperation'](_0x3f5ef4);});}['_addKnownRoot'](_0x2e433a){const _0x406be7=this['_getAffectedRoot'](_0x2e433a);_0x406be7&&this['_knownRootNames']['add'](_0x406be7);}['_getAffectedRoot'](_0x25d167){let _0x347d20,_0xcd2021;switch(_0x25d167['type']){case'insert':_0x347d20=_0x25d167['position']['root'];break;case'marker':if(_0xcd2021=_0x25d167['newRange'],!_0xcd2021)return null;_0x347d20=_0xcd2021['root'];break;case'addRootAttribute':_0x347d20=_0x25d167['root'];break;case'addRoot':_0x347d20=_0x25d167['affectedSelectable'];break;case'move':_0x347d20=_0x25d167['targetPosition']['root'];break;default:return null;}return _0x347d20['rootName'];}['_updateServerHistory'](_0x9e85e4){_0x9e85e4['forEach'](_0x55da5f=>{const _0x337bfe=_0x55da5f['clone']();_0x337bfe['_authorId']=_0x55da5f['_authorId'],_0x337bfe['_isInit']=!!_0x55da5f['_isInit'],_0x337bfe['createdAt']=_0x55da5f['createdAt'],_0x337bfe['baseVersion']+=this['_offset'],_0x55da5f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x337bfe),this['serverHistory']['addOperation'](_0x337bfe);});}['_handleReconnectionError'](_0x30475c){const _0x2e380a=this['editor']['plugins']['get']('Notification'),_0x335e1a=this['editor']['locale'];_0x30475c||(_0x30475c=q(_0x335e1a,'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.')),_0x2e380a['showWarning'](_0x30475c,{'title':q(_0x335e1a,'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'](_0x37736b)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x37736b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x916854){const _0xeb9dd=_0x916854['map'](_0x385238=>_0x385238['toJSON']());return this['_compressor']['compress'](_0xeb9dd);}['_decompressOperations'](_0x1b209d,_0x466034){return this['_compressor']['decompress'](_0x1b209d)['map']((_0x55cfac,_0x14ca0e)=>{const _0x35f982='init'==_0x466034[_0x14ca0e]['type'];if('InsertOperation'==_0x55cfac['__className']){const _0x4aaf12=_0x55cfac['position']['root'];!this['_document']['getRoot'](_0x4aaf12)&&(this['_document']['createRoot']('$root',_0x4aaf12)['_isAttached']=!0x1);}const _0x26593c=_0x1ba137['fromJSON'](_0x55cfac,this['_document']);return _0x26593c['wasUndone']=_0x55cfac['wasUndone'],_0x26593c['_isInit']=_0x35f982,_0x26593c['_authorId']=_0x35f982?null:_0x466034[_0x14ca0e]['userId'],_0x26593c['_isDisconnection']='cs:removeUser'===_0x466034[_0x14ca0e]['type'],_0x26593c['createdAt']=_0x466034[_0x14ca0e]['createdAt'],_0x26593c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1aad31=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1aad31&&_0x1aad31['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x509d60,_0x5f3a10){for(const _0x25b49f of _0x509d60)_0x25b49f['baseVersion']=_0x5f3a10++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x2233ae){this['_ignoredOperations']=_0x2233ae,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x18dbc6){let _0x3af197=_0x18dbc6['length'];for(;_0x3af197--;){const _0x520359=_0x18dbc6[_0x3af197];if(!this['_ignoredOperations']['has'](_0x520359)){if(!this['_operationToId']['has'](_0x520359)){const _0x2962b1=_0x2974f1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x520359,_0x2962b1);}return this['_operationToId']['get'](_0x520359);}}}['setIdForTheLastOperation'](_0x55930b,_0x14695a){if(!_0x14695a)return;let _0x3486f9=_0x55930b['length'];for(;_0x3486f9--;){const _0x53273f=_0x55930b[_0x3486f9];this['_ignoredOperations']['has'](_0x53273f)||this['_operationToId']['set'](_0x53273f,_0x14695a);}}}class a extends _0x532c83{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cb85d{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x59ea95)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f0437){super(_0x4f0437),this['_services']=new Map();}async['init'](){const _0x24c8a9=this['context'],_0x161879=_0x24c8a9['plugins']['get']('CommentsRepository');if(_0x24c8a9['plugins']['get'](n)['addToReconnectionStack'](this),_0x161879['adapter']={'addCommentThread':async({channelId:_0x289fb5,threadId:_0x5a8e6c,comments:_0x59a29e,resolvedAt:_0x18d133,resolvedBy:_0x129869,context:_0x12c6fc,attributes:_0x3d436b})=>{const _0x4273d0=await this['_getService'](_0x289fb5)['addCommentThread']({'commentThreadId':_0x5a8e6c,'comments':_0x59a29e['map'](_0x1809ae=>function(_0x3d7262,_0x157b46,_0x4c6583){return{'commentThreadId':_0x4c6583,'commentId':_0x3d7262['commentId'],'userId':_0x3d7262['authorId'],'content':_0x3d7262['content'],'documentId':_0x157b46,'createdAt':_0x3d7262['createdAt'],'attributes':_0x3d7262['attributes']||{}};}(_0x1809ae,_0x289fb5,_0x5a8e6c)),'resolvedAt':_0x18d133,'resolvedBy':_0x129869,'context':_0x12c6fc,'attributes':_0x3d436b})['catch'](ht);return{'threadId':_0x4273d0['commentThreadId'],'comments':_0x4273d0['comments']};},'getCommentThread':async({channelId:_0xae2fe,threadId:_0x2e7c47})=>{const _0x406391=await this['_getService'](_0xae2fe)['getCommentThread'](_0x2e7c47)['catch'](F)['catch'](ht);return _0x406391?_0x406391['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x406391]),{'threadId':_0x406391['commentThreadId'],'comments':_0x406391['comments']['map'](S),'context':_0x406391['context'],'resolvedAt':_0x406391['resolvedAt'],'resolvedBy':_0x406391['resolvedBy'],'attributes':_0x406391['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x47e28a,threadId:_0x1c9608,context:_0x3ae22e,unlinkedAt:_0x2f7096,attributes:_0xca50a7})=>this['_getService'](_0x47e28a)['updateCommentThread']({'commentThreadId':_0x1c9608,'context':_0x3ae22e,'attributes':_0xca50a7,'unlinkedAt':_0x2f7096})['catch'](F)['catch'](ht),'resolveCommentThread':async({channelId:_0x58b1ab,threadId:_0x595b0f})=>{const _0x1b0043=await this['_getService'](_0x58b1ab)['resolveCommentThread'](_0x595b0f)['catch'](F)['catch'](ht);return{'threadId':_0x1b0043['commentThreadId'],'resolvedAt':_0x1b0043['resolvedAt'],'resolvedBy':_0x1b0043['resolvedBy']};},'reopenCommentThread':async({channelId:_0x20b8e6,threadId:_0x218901})=>this['_getService'](_0x20b8e6)['reopenCommentThread'](_0x218901)['catch'](F)['catch'](ht),'removeCommentThread':({channelId:_0x46f10c,threadId:_0x411a5f})=>this['_getService'](_0x46f10c)['removeCommentThread'](_0x411a5f)['catch'](F)['catch'](ht),'addComment':({channelId:_0x2d65e2,threadId:_0x1448b2,commentId:_0x3f047b,content:_0x2e4f3c,attributes:_0x1682cf})=>this['_getService'](_0x2d65e2)['addComment'](_0x1448b2,_0x3f047b,_0x2e4f3c,_0x1682cf)['catch'](ht),'updateComment':({channelId:_0x1c086d,threadId:_0x571166,commentId:_0x32a7fb,content:_0x424c11,attributes:_0x5a6fc3})=>this['_getService'](_0x1c086d)['updateComment'](_0x571166,_0x32a7fb,_0x424c11,_0x5a6fc3)['catch'](F)['catch'](ht),'removeComment':({channelId:_0xa8d3bb,threadId:_0x3a6003,commentId:_0x34aa8e})=>this['_getService'](_0xa8d3bb)['removeComment'](_0x3a6003,_0x34aa8e)['catch'](F)['catch'](ht)},_0x24c8a9 instanceof _0x31709a){const _0x8a7ec4=_0x24c8a9['config']['get']('collaboration.channelId'),_0x436ac3=_0x24c8a9['plugins']['get'](i);await this['_setUpService'](_0x8a7ec4);const _0x449b16=await this['_services']['get'](_0x8a7ec4)['getConnectedSessions']();this['listenTo'](_0x436ac3,'sessionAdd:'+_0x8a7ec4,(_0x4038d1,{session:_0x490db0})=>{_0x490db0['id']===_0x436ac3['mySessionId']&&(_0x4038d1['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x490db0['permissions'],_0x8a7ec4));}),_0x436ac3['register'](_0x8a7ec4,_0x449b16);}}async['_setUpService'](_0x268895){if(this['_services']['has'](_0x268895))throw new _0xa9b19('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x268895});const _0x1d9d52=this['context']['plugins']['get']('CommentsRepository'),_0x30b431=new s['CommentsService'](_0x268895);this['_services']['set'](_0x268895,_0x30b431),this['listenTo'](_0x30b431,'commentThreadAdded',(_0x745a77,_0x252cb2)=>{const {commentThreadId:_0x186929,documentId:_0x232358,context:_0x1d6227,attributes:_0x2351ed,resolvedAt:_0x1bd59c,resolvedBy:_0x56160a,comments:_0x220622}=_0x252cb2;_0x1d9d52['getCommentThread'](_0x186929)||_0x1d9d52['addCommentThread']({'threadId':_0x186929,'channelId':_0x232358,'comments':_0x220622?_0x220622['map'](S):[],'context':_0x1d6227,'attributes':_0x2351ed,'resolvedAt':_0x1bd59c,'resolvedBy':_0x56160a,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadUpdated',(_0x2f83fb,{commentThreadId:_0x3db8a9,documentId:_0x32ce0c,context:_0x53f970,unlinkedAt:_0x456d11,attributes:_0x1c5983})=>{_0x1d9d52['getCommentThread'](_0x3db8a9)&&_0x1d9d52['updateCommentThread']({'threadId':_0x3db8a9,'channelId':_0x32ce0c,'context':_0x53f970,'unlinkedAt':_0x456d11,'attributes':_0x1c5983,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadResolved',(_0x21b565,{commentThreadId:_0x3bbac8,resolvedBy:_0x351a35,resolvedAt:_0x1a639d})=>{const _0x42d01d=_0x1d9d52['getCommentThread'](_0x3bbac8);_0x42d01d&&_0x42d01d['resolve']({'resolvedBy':_0x351a35,'resolvedAt':_0x1a639d,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadReopened',(_0x29dfb0,{commentThreadId:_0x40c73e})=>{const _0x5c4e7d=_0x1d9d52['getCommentThread'](_0x40c73e);_0x5c4e7d&&_0x5c4e7d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadRemoved',(_0xe1f4cd,{commentThreadId:_0xb8e2a6})=>{const _0x6e3f30=_0x1d9d52['getCommentThread'](_0xb8e2a6);_0x6e3f30&&_0x6e3f30['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentAdded',(_0x491132,_0x5efd91)=>{const _0x49f187=_0x5efd91['commentThreadId'],_0x572046=_0x1d9d52['getCommentThread'](_0x49f187);_0x572046&&_0x572046['addComment']({...S(_0x5efd91),'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentUpdated',(_0x4449f6,{commentThreadId:_0x21e7cb,commentId:_0x27912e,content:_0x2f4db9,attributes:_0x5ba3fa})=>{const _0x569543=_0x1d9d52['getCommentThread'](_0x21e7cb);if(_0x569543){const _0x38dab4=_0x569543['getComment'](_0x27912e);_0x38dab4&&_0x38dab4['update']({'content':_0x2f4db9,'attributes':_0x5ba3fa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30b431,'commentRemoved',(_0x2501eb,{commentThreadId:_0x1e9396,commentId:_0x3c8ba7})=>{const _0xa5fb88=_0x1d9d52['getCommentThread'](_0x1e9396);if(_0xa5fb88){const _0x4a4616=_0xa5fb88['getComment'](_0x3c8ba7);_0x4a4616&&_0x4a4616['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x268895);}['destroy'](){if(this['context']instanceof _0x31709a){const _0x207313=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x207313);}}['_terminateService'](_0x255fa6){if(!this['_services']['has'](_0x255fa6))throw new _0xa9b19('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x255fa6});this['_getService'](_0x255fa6)['disconnect'](),this['_services']['delete'](_0x255fa6);}async['reconnect'](){for(const _0x19f707 of this['_services']['keys']())await this['_connectService'](_0x19f707);if(this['context']instanceof _0x31709a){const _0x42f24c=this['context']['config']['get']('collaboration.channelId'),_0x110fb3=this['context']['plugins']['get'](i);_0x110fb3['unregister'](_0x42f24c);const _0x1c3434=await this['_services']['get'](_0x42f24c)['getConnectedSessions']();_0x110fb3['register'](_0x42f24c,_0x1c3434);}}async['_connectService'](_0xc4ee2){const {connection:_0xc075aa}=this['context']['plugins']['get'](n),_0x2c77e4=this['context']['plugins']['get']('CommentsRepository'),_0x282873=this['_services']['get'](_0xc4ee2),_0x9efa43=await _0x282873['connect'](_0xc075aa);await this['_fetchMissingUsersForThreads'](_0x9efa43);const _0x1b26c2=new Set(Array['from'](_0x2c77e4['getCommentThreads']({'channelId':_0xc4ee2}),_0x2cf2b0=>_0x2cf2b0['id']));for(const _0x3a73c5 of _0x9efa43)_0x3a73c5['deletedAt']||_0x1b26c2['delete'](_0x3a73c5['commentThreadId']);for(const _0x49a47e of _0x1b26c2)_0x2c77e4['getCommentThread'](_0x49a47e)['remove']({'isFromAdapter':!0x0});for(const _0x1ebfc2 of _0x9efa43){let _0x3a7894=_0x2c77e4['getCommentThread'](_0x1ebfc2['commentThreadId']);const {commentThreadId:_0x4eded3,context:_0x3c2c00,attributes:_0xd91cc0,resolvedBy:_0x44a1e2,resolvedAt:_0x2fd592,unlinkedAt:_0x511c4c,deletedAt:_0x17941b}=_0x1ebfc2;if(_0x17941b)continue;_0x3a7894||(_0x3a7894=_0x2c77e4['addCommentThread']({'channelId':_0xc4ee2,'threadId':_0x4eded3,'context':_0x3c2c00,'attributes':_0xd91cc0||{},'resolvedBy':_0x44a1e2,'resolvedAt':_0x2fd592,'unlinkedAt':_0x511c4c,'isFromAdapter':!0x0}));const _0x52ee2f=new Set(Array['from'](_0x3a7894['comments'],_0x3af128=>_0x3af128['id']));for(const _0x377371 of _0x1ebfc2['comments'])_0x52ee2f['delete'](_0x377371['commentId']);for(const _0x2236de of _0x52ee2f)_0x3a7894['getComment'](_0x2236de)['remove']({'isFromAdapter':!0x0});for(const _0x20e470 of _0x1ebfc2['comments']){const _0x72a09c=_0x3a7894['getComment'](_0x20e470['commentId']);_0x72a09c?_0x72a09c['content']!==_0x20e470['content']&&_0x72a09c['update']({'content':_0x20e470['content'],'isFromAdapter':!0x0}):_0x3a7894['addComment'](Object['assign'](S(_0x20e470),{'isFromAdapter':!0x0}));}}}['_getService'](_0x10075c){if(!this['_services']['has'](_0x10075c))throw new _0xa9b19('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x10075c});return this['_services']['get'](_0x10075c);}async['_fetchMissingUsersForThreads'](_0x2d623f){const _0x5efc4d=this['context']['plugins']['get'](_0x1a7c05),{connection:_0xee9b}=this['context']['plugins']['get'](n),_0x36985a=new Set();for(const {resolvedBy:_0x4e2fa6,comments:_0x57cfa3}of _0x2d623f){_0x4e2fa6&&!_0x5efc4d['getUser'](_0x4e2fa6)&&_0x36985a['add'](_0x4e2fa6);for(const {userId:_0x2a9bba}of _0x57cfa3)_0x5efc4d['getUser'](_0x2a9bba)||_0x36985a['add'](_0x2a9bba);}if(0x0===_0x36985a['size'])return;const _0x23f80e=await at['getMany'](_0xee9b,Array['from'](_0x36985a));for(const _0x1648de of _0x23f80e)_0x5efc4d['getUser'](_0x1648de['id'])||_0x5efc4d['addUser'](_0x1648de);}}async function F(_0x329dfa){if('404'!==_0x329dfa['code'])throw _0x329dfa;}function ht(_0x14939b){if((_0xfd2da8=_0x14939b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xfd2da8;throw _0x14939b;}function S(_0x6061e){return{'threadId':_0x6061e['commentThreadId'],'commentId':_0x6061e['commentId'],'content':_0x6061e['content'],'createdAt':_0x6061e['createdAt'],'authorId':_0x6061e['userId'],'attributes':_0x6061e['attributes']||{}};}class m extends _0x532c83{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x3ff928)());['_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(_0x39c43e){super(_0x39c43e);const _0x5d5688=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5d5688);}['init'](){const _0x2bb769=this['editor']['plugins']['get'](n),_0x1e7261=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1e7261['adapter']={'getSuggestion':async _0x1c540e=>{await this['_waitForServiceReady']();const _0x3bffaf=await this['_trackChangesService']['get'](_0x1c540e)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x3bffaf]),_0x3bffaf;},'addSuggestion':async({id:_0x42972d,type:_0xda61f2,data:_0x3737d5,originalSuggestionId:_0x109e81,attributes:_0x6fefbe})=>{await this['_waitForServiceReady']();const _0x1ced4d={'id':_0x42972d,'type':_0xda61f2,'data':_0x3737d5,'originalSuggestionId':_0x109e81,'attributes':_0x6fefbe},_0x39ca2e=await this['_trackChangesService']['add'](_0x42972d,_0xda61f2,_0x3737d5,_0x109e81,_0x6fefbe)['catch'](_0x5276e1=>{if(lt(_0x5276e1))return new Promise(_0x86e23b=>{this['_bufferedRequests']['set'](_0x42972d,{'resolve':_0x86e23b,'suggestionData':_0x1ced4d});});throw _0x5276e1;});return this['_bufferedRequests']['delete'](_0x42972d),_0x39ca2e;},'updateSuggestion':async(_0x27e12a,_0x1e5fb1)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e5fb1['state'])return this['_trackChangesService']['update'](_0x27e12a,_0x1e5fb1)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x444948,_0x3362a5)=>{_0x1e7261['hasSuggestion'](_0x3362a5['id'])&&(_0x1e7261['getSuggestion'](_0x3362a5['id'])['attributes']=_0x3362a5['attributes']);}),this['_trackChangesService']['connect'](_0x2bb769['connection'])['then'](_0x5bc861=>(_0x2bb769['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5bc861)['then'](()=>{for(const _0x13c012 of _0x5bc861){_0x1e7261['addSuggestionData'](_0x13c012)['_saved']=!0x0;}})));}async['reconnect'](){const _0x69c04a=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x345d6a}=this['editor']['plugins']['get'](n),_0x2799a0=await this['_trackChangesService']['connect'](_0x345d6a);await this['_fetchMissingUsersForThreads'](_0x2799a0);for(const {suggestionData:_0x21578a,resolve:_0x1150ca}of this['_bufferedRequests']['values']()){let _0x46f6f5=_0x2799a0['find'](_0x50c009=>_0x50c009['id']===_0x21578a['id']);_0x46f6f5||(_0x46f6f5=await this['_trackChangesService']['add'](_0x21578a['id'],_0x21578a['type'],_0x21578a['data'],_0x21578a['originalSuggestionId'])),_0x1150ca(_0x46f6f5);}for(const _0x436287 of _0x2799a0)_0x69c04a['hasSuggestion'](_0x436287['id'])||_0x69c04a['addSuggestionData'](_0x436287);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x89eb99=>{this['listenTo'](this['_trackChangesService'],'connected',_0x413a29=>{_0x413a29['off'](),_0x89eb99();});});}async['_fetchMissingUsersForThreads'](_0x3b2964){const _0x388be9=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0x461fe7}=this['editor']['plugins']['get'](n),_0x513fe3=new Set();for(const {authorId:_0x4cae9c}of _0x3b2964)_0x388be9['getUser'](_0x4cae9c)||_0x513fe3['add'](_0x4cae9c);if(0x0===_0x513fe3['size'])return;const _0x16f723=await at['getMany'](_0x461fe7,Array['from'](_0x513fe3));for(const _0x4e32e1 of _0x16f723)_0x388be9['getUser'](_0x4e32e1['id'])||_0x388be9['addUser'](_0x4e32e1);}}function k(_0x52f8f3){if(lt(_0x52f8f3))return new Promise(()=>{});throw _0x52f8f3;}function lt(_0x5c99c0){return _0x5c99c0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c99c0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x532c83{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 _0x220fba=this['editor']['plugins']['get'](n),_0x7a82b1=this['editor']['plugins']['get']('CommentsEditing'),_0x4b87b7=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x220fba,'change:state',(_0x182ca6,_0x248bbe,_0xd02e7b)=>{_0x7a82b1['isThreadsLoadingPaused']='connected'!==_0xd02e7b;});}),this['listenTo'](_0x220fba,'change:state',(_0x566696,_0xc1ee66,_0x23ddc5)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x23ddc5);}),_0x4b87b7['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class dt extends _0x532c83{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 _0x532c83{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47df6d){super(_0x47df6d);const _0x53bdd3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x53bdd3);}async['init'](){const _0x1ad3a7=this['editor']['plugins']['get'](l),_0x578990=_0x1ad3a7['serverHistory'],_0x405740=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x578990,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1ad3a7['sessionId']});const _0xd762c5=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4387e3=await tt['isBundleUploaded'](_0x405740['connection'],_0xd762c5);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x35981f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x35981f)),'updateRevisions':async _0x581f2c=>{await this['_waitForServiceReady']();const _0xe6f650=this['_revisionTracker']['currentRevision'];if(_0x4387e3&&0x1===_0x581f2c['length']&&_0x581f2c[0x0]['id']===_0xe6f650['id'])return _0x581f2c;for(const _0xbbb695 of _0x581f2c)_0xbbb695['id']===_0xe6f650['id']&&(_0xbbb695['isEmptyCurrent']=_0xbbb695['fromVersion']===_0xbbb695['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x581f2c,this['_lastRequestId'])['then'](_0x5dbc3a=>(this['_lastRequestId']=_0x5dbc3a,_0x581f2c))['catch'](_0x321070=>{if(_(_0x321070)||'400'===_0x321070['code']&&void 0x0!==_0x321070['data']['wrongRequestId']){for(const _0x46561f of _0x581f2c){!this['_revisionTracker']['repository']['getRevision'](_0x46561f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46561f['id'],_0x46561f,!0x1);}if(_(_0x321070))throw _0x321070;return _0x581f2c;}throw _0x321070;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x462973,{revisionsData:_0x16a4fd,requestId:_0x4af970})=>{Math['max'](..._0x16a4fd['map'](_0x1659c5=>_0x1659c5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);}):this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);});const {revisions:_0x40569a,requestId:_0x5a217e}=await this['_revisionHistoryService']['connect'](_0x405740['connection']);_0x405740['addToReconnectionStack'](this),this['_lastRequestId']=_0x5a217e,await this['_fetchMissingUsers'](_0x40569a);for(const _0x58a74f of _0x40569a)this['_revisionTracker']['addRevisionData'](_0x58a74f);this['listenTo'](_0x1ad3a7,'change:_isConnected',(_0x1c6a1f,_0x461e51,_0x99cf4b)=>{_0x99cf4b&&(this['_oldOffset']=_0x1ad3a7['_offset'],_0x1c6a1f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x405740,'state',_0x2b522f=>_0x2b522f===_0x5b0dbe['CONNECTED']);}async['reconnect'](){const _0x2d336d=this['editor']['plugins']['get'](n),_0x154fc3=this['editor']['plugins']['get'](l),_0x4c001c=async()=>{const _0x100a6a=this['_revisionTracker']['currentRevision'],_0x47af9f=_0x100a6a['id'],_0x566a78=_0x47af9f!==_0x154fc3['sessionId'];if(_0x566a78){const _0x513078=_0x154fc3['_offset']-this['_oldOffset'],_0x49fb7d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x100a6a['toVersion']+_0x513078!==_0x49fb7d){const _0x6eadcb=_0x100a6a['fromVersion']+_0x513078,_0x137ec6=this['editor']['plugins']['get'](_0x1a7c05),_0x44fc63=this['_revisionTracker']['buildRevisionData']({'revision':_0x100a6a,'from':_0x6eadcb,'to':_0x49fb7d});_0x44fc63['id']=_0x100a6a['id'];const _0x228ea1=_0x44fc63['authorsIds']['map'](_0x589fce=>_0x137ec6['getUser'](_0x589fce));_0x100a6a['_update']({..._0x44fc63,'authors':_0x228ea1},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x100a6a['id'],_0x44fc63,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49fb7d,(_0x100a6a['toVersion']===_0x100a6a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x47af9f)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x47af9f),this['_revisionTracker']['_createCurrentRevision'](_0x49fb7d));}const {revisions:_0x46f4c2,requestId:_0x2b1245}=await this['_revisionHistoryService']['reconnect'](_0x2d336d['connection'],this['_lastRequestId']);_0x566a78&&_0x46f4c2['length']>0x0?_0x154fc3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x46f4c2),this['_handleRevisionsUpdate'](_0x46f4c2,_0x2b1245),this['_revisionTracker']['sendBufferedUpdates']());};return _0x154fc3['_isConnected']?_0x4c001c():new Promise((_0xa28a20,_0x3d8bf5)=>{_0x154fc3['once']('change:_isConnected',()=>{_0x4c001c()['then'](_0xa28a20)['catch'](_0x3d8bf5);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x39b03d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4ac070=>{_0x4ac070['off'](),_0x39b03d();});});}['_getLatestVersionFromServerOperations'](){const _0x4dddc2=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x44d479 of _0x4dddc2)if('marker'!==_0x44d479['type']||_0x44d479['affectsData'])return _0x44d479['baseVersion']+0x1;}['_getLatestVersion'](){const _0x34c6a8=this['editor']['plugins']['get'](l);return new Promise(_0x3bb1eb=>{_0x34c6a8['_isPendingUpdate']?_0x34c6a8['once']('change:_isPendingUpdate',()=>{_0x3bb1eb(this['_getLatestVersionFromServerOperations']());}):_0x3bb1eb(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x51ed10,_0x2c7bd7){const _0x4ce177=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2c7bd7;for(const _0x4204eb of _0x51ed10){const _0x31f87b=_0x4ce177['getRevision'](_0x4204eb['id']);if(_0x31f87b){if((_0x4204eb['fromVersion']||_0x4204eb['toVersion'])&&(_0x4204eb['diffData']=null),_0x31f87b===this['_revisionTracker']['currentRevision']){const _0x51cc05=Math['max'](_0x31f87b['toVersion'],_0x4204eb['toVersion']),_0x3a709a=Math['max'](_0x31f87b['fromVersion'],_0x4204eb['fromVersion']);let _0x3a462e;_0x31f87b['toVersion']===_0x4204eb['toVersion']&&_0x31f87b['fromVersion']===_0x4204eb['fromVersion']?(_0x3a462e=!0x0,this['_preventResendingRevisionData'](_0x4204eb)):_0x4204eb['toVersion']===_0x51cc05&&_0x4204eb['fromVersion']===_0x3a709a?_0x3a462e=!0x1:(_0x31f87b['toVersion']===_0x51cc05&&_0x31f87b['fromVersion']===_0x3a709a||this['_fixRevision']({'revision':_0x31f87b,'from':_0x3a709a,'to':_0x51cc05}),_0x3a462e=!0x0),_0x3a462e&&(delete _0x4204eb['fromVersion'],delete _0x4204eb['toVersion'],delete _0x4204eb['diffData'],delete _0x4204eb['createdAt'],delete _0x4204eb['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4204eb),this['_preventResendingRevisionData'](_0x4204eb);}else this['_revisionTracker']['addRevisionData'](_0x4204eb);}const _0x2d92cd=_0x4ce177['getRevisions']();_0x2d92cd['reverse']();for(let _0x497556=0x0;_0x497556<_0x2d92cd['length']-0x1;_0x497556++){const _0x14de45=_0x2d92cd[_0x497556],_0x10b9e7=_0x2d92cd[_0x497556+0x1];if(_0x14de45['fromVersion']<_0x10b9e7['toVersion']){const _0x37f42d=_0x10b9e7['toVersion'],_0x408f86=Math['max'](_0x37f42d,_0x14de45['toVersion']);this['_fixRevision']({'revision':_0x14de45,'from':_0x37f42d,'to':_0x408f86});}}}['_fixRevision']({revision:_0x32c216,from:_0x3073cc,to:_0x3b900c}={}){const _0x48d300=this['editor']['plugins']['get'](_0x1a7c05),_0x34528e=this['_revisionTracker']['buildRevisionData']({'revision':_0x32c216,'from':_0x3073cc,'to':_0x3b900c});_0x34528e['authors']=_0x34528e['authorsIds']['map'](_0xe8fd9=>_0x48d300['getUser'](_0xe8fd9)),_0x32c216['_update'](_0x34528e);}['_preventResendingRevisionData'](_0x2a199f){const _0xd0b47={};_0xd0b47['id']=_0x2a199f['id'];for(const _0x4eb37d of Object['keys'](_0x2a199f))'id'!==_0x4eb37d&&(_0xd0b47[_0x4eb37d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xd0b47['id'],_0xd0b47,!0x0);}async['_fetchMissingUsers'](_0x3e7df6){const _0x213075=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0x6a43f7}=this['editor']['plugins']['get'](n),_0x182b3a=new Set();for(const _0x5afa74 of _0x3e7df6){for(const _0x54b2e9 of _0x5afa74['authorsIds'])_0x5f17a6(_0x54b2e9);_0x5afa74['creatorId']&&_0x5f17a6(_0x5afa74['creatorId']);}if(0x0===_0x182b3a['size'])return;const _0x11b8eb=await at['getMany'](_0x6a43f7,Array['from'](_0x182b3a));for(const _0x308a1e of _0x11b8eb)_0x213075['getUser'](_0x308a1e['id'])||_0x213075['addUser'](_0x308a1e);function _0x5f17a6(_0x249a1f){_0x213075['getUser'](_0x249a1f)||_0x182b3a['add'](_0x249a1f);}}}function _(_0x4ace2f){return _0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x532c83{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 _0x2153f8{['_collapseAt'];constructor(_0x150630,_0x36e0fb=0x6){super(_0x150630);const _0x4c53cf=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36e0fb,this['bind']('isHidden')['to'](this,'usersCount',_0x1d964e=>_0x1d964e<_0x36e0fb),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4c53cf['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':_0x4c53cf['to']('usersCount',_0x1de83b=>'+'+(_0x1de83b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2153f8{['items'];['keystrokes'];constructor(_0x1bea99){super(_0x1bea99);const _0x5500e5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4896af(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5500e5['if']('hasPopup'),'aria-expanded':_0x5500e5['to']('isExpanded',_0x41c7fd=>this['hasPopup']&&String(_0x41c7fd)),'aria-label':_0x5500e5['to']('hasPopup',_0x1851e3=>q(_0x1bea99,_0x1851e3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5500e5['to']('hasPopup',_0x4910b3=>!!_0x4910b3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5500e5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5500e5['to'](_0x2f2fdc=>{const _0x5ac6c2=_0x2f2fdc,_0x350554=document['querySelector']('.ck-presence-list__dropdown-list'),_0x53e25e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x350554?.['contains'](_0x5ac6c2['relatedTarget'])||_0x53e25e?.['contains'](_0x5ac6c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2680d1,_0x47ac53,_0x1abb65)=>{this['element']&&(_0x1abb65?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 _0x2153f8{['counterView'];['inlineListView'];constructor(_0x12b6a6,_0x3205f6=0x6){super(_0x12b6a6);const _0x241449=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x3205f6),this['inlineListView']=new is(_0x12b6a6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x395509 of this['inlineListView']['items'])_0x395509['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',_0x241449['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x2153f8{['listWrapperView'];constructor(_0x20481e,_0x5f21a6){super(_0x20481e);const _0x332a02=this['bindTemplate'];this['listWrapperView']=new ft(_0x20481e,_0x5f21a6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x20481e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x332a02['to'](_0x951147=>{const _0x238f48=_0x951147,_0x2c69f3=document['querySelector']('.ck-presence-list__list'),_0xb8827=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2c69f3?.['contains'](_0x238f48['relatedTarget'])||_0xb8827?.['contains'](_0x238f48['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ft extends _0x3466f8{constructor(_0x45604e,_0x5059d9){super(_0x45604e);const _0x53d94e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5059d9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x53d94e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x53d94e['to']('role'),'aria-label':_0x53d94e['to']('ariaLabel'),'aria-labelledby':_0x53d94e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x553c6f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5243ba=this['element'];_0x5243ba&&(this['_isScrollable']=Math['max'](_0x5243ba['scrollHeight'],_0x5243ba['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3b83f1,_0x190266,_0x6b0717){super(_0x3b83f1);const _0x3896fe=this['bindTemplate'];this['userView']=new st(_0x3b83f1,_0x190266);const _0x5222f0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x190266['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x190266['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x190266['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x6b0717&&(_0x5222f0['tag']='button',_0x5222f0['on']={'click':_0x3896fe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5222f0);}['focus'](){this['element']['focus']();}}class A extends _0x2153f8{['userView'];['markerView'];constructor(_0x31549c,_0x4b34af,_0x593bd8){super(_0x31549c);const _0x1ff219=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x31549c,_0x4b34af),this['markerView']=new ct(_0x31549c,_0x4b34af);const _0x42131c=new ot(_0x31549c);_0x42131c['template']['tag']='span',_0x42131c['text']=_0x4b34af['name'];const _0x18fefa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff219['to']('isFocusable',_0x5c074e=>!!_0x5c074e&&0x0),'aria-labelledby':_0x42131c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff219['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff219['to']('hasTooltip',_0x50fdd4=>!_0x50fdd4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x42131c]};_0x593bd8&&(_0x18fefa['tag']='button',_0x18fefa['on']={'click':_0x1ff219['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x18fefa);}}class ct extends _0x2153f8{constructor(_0x538273,_0x3338fe){super(_0x538273),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3338fe['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cb85d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1cd6c0){super(_0x1cd6c0),this['context']['config']['define']('presenceList',x);const _0x4405a0=_0x1cd6c0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4405a0)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);if(_0x4405a0<0x1)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3c6690(),this['balloonPanelView']=new _0x15a511(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1bfbf8 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1bfbf8);this['listenTo'](this['_allConnectedUsers'],'add',(_0xfeb59d,_0x55082b)=>{this['_handleUserAdd'](_0x55082b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x30c537,_0x52e369)=>{this['_handleUserRemove'](_0x52e369);});}['_createView'](){const _0x11cb70=this['context'],_0x526771=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3d417e=this['balloonPanelView'];if(!_0x76099f(_0x11cb70['config']['get']('presenceList.container')))throw new _0xa9b19('presencelist-missing-container',this);return _0x526771['counterView']['bind']('usersCount')['to'](this),_0x526771['bind']('isCollapsed')['to'](this,'usersCount',_0x58619b=>{const {collapseAt:_0x152bc7}=_0x11cb70['config']['get']('presenceList'),_0x41b993=_0x58619b>=_0x152bc7;if(_0x41b993&&!_0x526771['inlineListView']['items']['find'](_0x458026=>_0x458026 instanceof b)){const _0x244cfa=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x244cfa&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x526771['inlineListView']['items']['add'](_0x526771['counterView']);}return _0x41b993||this['hideDropdown'](),_0x41b993;}),_0x526771['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x55f6ed=>{const _0x192989=_0x11cb70['config']['get']('presenceList'),_0xd4c8b0=new A(_0x11cb70['locale'],_0x55f6ed,!!_0x192989['onClick']);return _0xd4c8b0['bind']('hasTooltip')['to'](_0x526771,'isCollapsed',_0xe611ec=>!_0xe611ec),_0xd4c8b0['bind']('isFocusable')['to'](_0x526771,'isCollapsed',_0x182e43=>!_0x182e43),_0x192989['onClick']&&this['listenTo'](_0xd4c8b0,'execute',()=>{this['view']['isCollapsed']||_0x192989['onClick'](_0x55f6ed,_0xd4c8b0['element']);}),_0xd4c8b0;}),this['listenTo'](_0x526771['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x526771['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x526771['inlineListView']['keystrokes']['set']('Enter',(_0x3add83,_0x3de00e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3de00e());}),_0x526771['render'](),_0x3d417e['render'](),_0x34db55({'emitter':_0x526771,'activator':()=>_0x3d417e['isVisible'],'contextElements':[_0x3d417e['element'],_0x526771['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x11cb70['config']['get']('presenceList.container')['appendChild'](_0x526771['element']),this['_bodyCollection']=new _0x51fd37(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x526771;}['_handleUserAdd'](_0x12bf04){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x12bf04['isMe'])return;const _0x543047=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x543047-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x14b46c=_0x12bf04['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x12bf04,_0x14b46c);}['_handleUserRemove'](_0x22676d){this['usersCount']--;const {collapseAt:_0x321c70}=this['context']['config']['get']('presenceList'),_0x415556=this['usersCount']>=_0x321c70;if(this['currentDisplayedUsers']['get'](_0x22676d['id']))this['currentDisplayedUsers']['remove'](_0x22676d['id']);else{if(_0x415556&&this['currentDisplayedUsers']['length']+0x1===_0x321c70-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)<this['usersCount']){for(const _0x5c1cb3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5c1cb3['id'])&&(this['currentDisplayedUsers']['add'](_0x5c1cb3,Math['min'](this['currentDisplayedUsers']['length']-(_0x415556?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)===_0x321c70-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x285db6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x285db6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1dc550}=this['presenceDropdownView'];_0x1dc550['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x26db54=>{if(!_0x285db6['displayMe']&&_0x26db54['isMe'])return null;const _0x133590=new j(this['context']['locale'],_0x26db54,!!_0x285db6['onClick']);return _0x285db6['onClick']&&this['listenTo'](_0x133590,'execute',()=>{_0x285db6['onClick'](_0x26db54,_0x133590['element']);}),_0x133590;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1dc550['focus'](),_0x1dc550['checkIfScrollable']();const _0x2f88cc=(_0x4e73ad,_0x38dfd9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x38dfd9();};_0x1dc550['keystrokes']['set']('Esc',_0x2f88cc),_0x1dc550['keystrokes']['set']('Shift+Tab',_0x2f88cc),_0x1dc550['keystrokes']['set']('Tab',(_0x278cf5,_0x3e0ccb)=>{!function(_0x57578b){const _0xba7786=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x424279=>_0x424279+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5ab836=[...document['body']['querySelectorAll'](_0xba7786)]['filter'](_0x1f289c=>_0x1f289c===document['activeElement']||_0x1f289c['offsetWidth']+_0x1f289c['offsetHeight']>0x0)['sort']((_0x31c5fa,_0x165fd3)=>(_0x31c5fa['tabIndex']||0x0)-(_0x165fd3['tabIndex']||0x0)),_0x2c8f0b=_0x5ab836['indexOf'](_0x57578b),_0x42fbe7=_0x5ab836[(_0x2c8f0b+0x1)%_0x5ab836['length']];_0x42fbe7&&_0x42fbe7['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e0ccb();}),_0x1dc550['focusTracker']['add'](this['view']['element']),_0x1dc550['focusTracker']['on']('change:isFocused',(_0x1a7872,_0x3b1a09,_0x425743)=>{_0x425743||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 mt extends _0x4cb85d{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,mt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,ut as RealTimeCollaborativeRevisionHistory,dt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x49081f,Plugin as _0x111504,PendingActions as _0x19f13a,Context as tt}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x715e60,CKEditorError as _0x2ba111,Collection as _0x4c3fca,global as _0x23a209,version as ht,uid as _0x279525,KeystrokeHandler as _0x100592}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3c12c6,View as _0x447871,ListView as _0x211604,ListItemView as rt,LabelView as at,BalloonPanelView as _0x3df348,clickOutsideHandler as _0x358832,BodyCollection as _0x560eda}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2e51d3,History as _0x3898d5,NoOperation as _0x47d7bf,InsertOperation as _0x4adff9,MarkerOperation as _0x4150e4,RootAttributeOperation as _0x440fd6,transformOperationSets as _0x3419a3,OperationFactory as _0x1b106d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x278209,CollaborativeEditingService as _0x1a0236,User as ut,CommentsService as et,TrackChangesService as it,RevisionHistoryService as _0x439566,EditorService as _0x47cbe4}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x24d756,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1954db}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x536ad2}from'es-toolkit/compat';class n extends _0x49081f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3c12c6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x477801){super(_0x477801),this['set']('state',_0x278209['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x715e60())();}['init'](){const _0xb229a8=this['context'],_0x1fb13d=_0xb229a8['plugins']['get']('CloudServices'),_0x1586cc=_0xb229a8['plugins']['get'](_0x3c12c6);if(!_0x1fb13d['token'])throw new _0x2ba111('websocketgateway-missing-token',this);if(!_0x1fb13d['webSocketUrl'])throw new _0x2ba111('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'](_0x1fb13d['token'],_0x1fb13d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x38d90a=>{if(this['connection']=_0x38d90a,this['bind']('state')['to'](_0x38d90a,'state',this,'_isBrowserOffline',(_0x4646a8,_0x4b9f48)=>('connected'!==_0x4646a8&&(this['_shouldPluginsReconnect']=!0x0),_0x4b9f48||_0x4646a8!==_0x278209['CONNECTED']?_0x278209['DISCONNECTED']:this['state']==_0x278209['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x278209['CONNECTING']):_0x278209['CONNECTED'])),this['connection']['on']('error',(_0x40fb1a,_0x43c93c)=>{if('limitExceeded'!==_0x43c93c['code'])throw console['error'](_0x43c93c),new _0x2ba111('cloudservices-init',null,{'originalError':_0x43c93c});_0x1586cc['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'});}),!_0x38d90a['me'])return new Promise(_0x1dc378=>_0x38d90a['on']('change:me',_0x1dc378));})['catch'](_0x2bc006=>{throw console['error'](_0x2bc006),new _0x2ba111('cloudservices-init',null,{'originalError':_0x2bc006});});}['addToReconnectionStack'](_0x377432){if('function'!=typeof _0x377432['reconnect'])throw new _0x2ba111('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x377432))throw new _0x2ba111('websocketgateway-plugin-already-registered',this,{'name':_0x377432['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x377432);}['removeFromReconnectionStack'](_0x35af5b){this['_reconnectionStack']['delete'](_0x35af5b);}['isInReconnectionStack'](_0x45644c){return this['_reconnectionStack']['has'](_0x45644c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x55c5ae=>_0x55c5ae['reconnect']())))['then'](()=>this['state']=_0x278209['CONNECTED'])['catch'](_0x4edfae=>{throw console['error'](_0x4edfae),new _0x2ba111('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x278209['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x49081f{['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,_0x24d756];}constructor(_0xea0d08){super(_0xea0d08),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x4c3fca(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x24d756);}['init'](){const _0xba9c08=this['context']['plugins']['get'](n);this['listenTo'](_0xba9c08,'change:state',(_0x44d85b,_0x47a9ae,_0x239015)=>{if('connected'!==_0x239015)this['channelSessions']['forEach'](_0x11f7d0=>_0x11f7d0['clear']()),this['channelConnectedUsers']['forEach'](_0x3a5fbc=>_0x3a5fbc['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3a82ed,_0x38ebef]of this['_registeredSessions'])for(const _0xc39a58 of _0x38ebef)this['_handleSessionAdd'](_0x3a82ed,_0xc39a58);}}),this['_createUser'](_0xba9c08['connection']['me'],!0x0);}['register'](_0x550643,_0x512238){if(this['_registeredSessions']['has'](_0x550643))throw new _0x2ba111('sessions-register-already-registered',null,{'channelId':_0x550643});this['_registeredSessions']['set'](_0x550643,_0x512238),this['channelSessions']['set'](_0x550643,new _0x4c3fca()),this['channelConnectedUsers']['set'](_0x550643,new _0x4c3fca()),this['listenTo'](_0x512238,'add',(_0x3c8c2c,_0x18f61c)=>this['_handleSessionAdd'](_0x550643,_0x18f61c)),this['listenTo'](_0x512238,'remove',(_0xa764e0,_0x189f85)=>this['_handleSessionRemove'](_0x550643,_0x189f85));for(const _0x5741d2 of _0x512238)this['_handleSessionAdd'](_0x550643,_0x5741d2);}['unregister'](_0x39a900){if(!this['_registeredSessions']['has'](_0x39a900))throw new _0x2ba111('sessions-unregister-not-exist',null,{'channelId':_0x39a900});const _0x27ee42=this['_registeredSessions']['get'](_0x39a900);this['stopListening'](_0x27ee42);for(const _0x3b86ef of _0x27ee42)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x39a900,_0x3b86ef);this['_registeredSessions']['delete'](_0x39a900),this['channelSessions']['delete'](_0x39a900),this['channelConnectedUsers']['delete'](_0x39a900);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xd180d6){for(const _0x9aed69 of this['channelSessions']['values']())for(const _0x43a87e of _0x9aed69)if(_0x43a87e['id']===_0xd180d6)return _0x43a87e['user'];}['getUserSessions'](_0x5e2b94,_0x1f6cd4){const _0x19e7b0=_0x1f6cd4?[this['channelSessions']['get'](_0x1f6cd4)]:this['channelSessions']['values'](),_0x34ba15=new Set();for(const _0x478a1a of _0x19e7b0)for(const _0x4481be of _0x478a1a)_0x4481be['user']['id']===_0x5e2b94['id']&&_0x34ba15['add'](_0x4481be['id']);return _0x34ba15;}['getUserRole'](_0x3aa4f7){for(const _0x302e30 of this['channelSessions']['values']())for(const _0x2874ab of _0x302e30)if(_0x2874ab['user']===_0x3aa4f7)return _0x2874ab['role'];}['_handleSessionAdd'](_0x5e4f9c,_0x3629ba){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5104dd=_0x3629ba['user'],_0x20956d=this['_users']['getUser'](_0x5104dd['id'])||this['_createUser'](_0x5104dd),_0x6a5001=Object['assign']({},_0x3629ba,{'user':_0x20956d});if(this['channelSessions']['get'](_0x5e4f9c)['add'](_0x6a5001),!_0x5104dd['hiddenInPresenceList']){const _0x56ab72=this['channelConnectedUsers']['get'](_0x5e4f9c);_0x56ab72['has'](_0x20956d['id'])||_0x56ab72['add'](_0x20956d),this['allConnectedUsers']['has'](_0x20956d['id'])||_0x5104dd['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x20956d,_0x20956d['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x5e4f9c,{'channelId':_0x5e4f9c,'session':_0x6a5001});}['_handleSessionRemove'](_0x60ec50,_0x18524e){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3f4fa1=this['channelConnectedUsers']['get'](_0x60ec50),_0x8d3ced=_0x18524e['user'];_0x8d3ced['id']&&(this['channelSessions']['get'](_0x60ec50)['remove'](_0x18524e['id']),_0x3f4fa1['has'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced,_0x60ec50)['size']&&_0x3f4fa1['remove'](_0x8d3ced['id']),this['allConnectedUsers']['get'](_0x8d3ced['id'])&&!this['getUserSessions'](_0x8d3ced)['size']&&this['allConnectedUsers']['remove'](_0x8d3ced['id']));}['_createUser'](_0x5da2bc,_0x436f11){const _0x20e6d4=this['_users']['addUser'](_0x5da2bc);return _0x436f11&&this['_users']['defineMe'](_0x5da2bc['id']),_0x20e6d4['orderNumber']=this['_uniqueUsersCount']++,_0x20e6d4;}}class k extends _0x111504{['_domEmitter']=new(_0x715e60())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xe920a5=this['editor'],_0x211e72=_0xe920a5['plugins']['get'](i);_0xe920a5['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x347cb7,{writer:_0xa8bd97})=>function(_0x258c87,_0x597e0a,_0xe4a51b,_0x2daec0){const _0x52bb30=_0x258c87['markerName']['split'](':')[0x2],_0x3dd50d=_0xe4a51b['getUserBySessionId'](_0x52bb30);if(!_0x3dd50d||_0x52bb30===_0xe4a51b['mySessionId'])return;if(!_0x2daec0['model']['schema']['checkChild'](_0x258c87['markerRange']['start'],'$text'))return;const _0x237b71={'class':'ck-user__marker\x20'+_0x3dd50d['color']['getMarkerClass'](),'data-name':_0x3dd50d['name'],'data-session-id':_0x52bb30},_0x45758a=_0x2daec0['model']['markers']['get'](_0x258c87['markerName']),_0x1fc18b=_0x45758a['getStart'](),_0x438c64=_0x1fc18b['nodeAfter'],_0x532845=_0x2daec0['model']['schema'];if(_0x438c64&&_0x532845['isObject'](_0x438c64)&&_0x532845['isInline'](_0x438c64)&&!_0x2daec0['model']['markers']['get']('user:range:'+_0x52bb30)['getRange']()['isCollapsed'])return;const _0xf7fa7b=_0x1fc18b['parent'];return _0x2daec0['model']['schema']['isLimit'](_0xf7fa7b)&&!_0x2daec0['model']['hasContent'](_0xf7fa7b)&&(_0x237b71['contenteditable']=!0x1),function(_0x44fb9d,_0x9f082e,_0x579117){const _0x431775=_0x44fb9d['createUIElement']('span',_0x9f082e);return _0x44fb9d['setCustomProperty']('userPositionMarker',!0x0,_0x431775),_0x431775['render']=function(_0x3b9726){const _0x15b930=this['toDomElement'](_0x3b9726),_0xacdff7=document['createElement']('span');return _0xacdff7['classList']['add']('ck-user__marker-tooltip'),_0xacdff7['setAttribute']('contenteditable','false'),_0xacdff7['setAttribute']('spellcheck','false'),_0xacdff7['textContent']=_0x579117['name'],_0x15b930['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xacdff7['outerHTML']+'⁠',_0x15b930['addEventListener']('mouseenter',()=>{_0x15b930['classList']['add']('ck-user__marker_hovered');}),_0x15b930['addEventListener']('mouseleave',()=>{_0x15b930['classList']['remove']('ck-user__marker_hovered');}),_0x15b930;},_0x431775['isSimilar']=function(_0x2426f3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2426f3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2426f3['getAttribute']('data-session-id'));},_0x431775;}(_0x597e0a,_0x237b71,_0x3dd50d);}(_0x347cb7,_0xa8bd97,_0x211e72,_0xe920a5)}),_0xe920a5['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x8820e0=>function(_0x20931b,_0x3dde05){const _0x35c2f2=_0x20931b['markerName']['split'](':')[0x2];if(_0x35c2f2===_0x3dde05['mySessionId'])return null;const _0x4923c7=_0x3dde05['getUserBySessionId'](_0x35c2f2);if(!_0x4923c7)return{'id':_0x35c2f2,'classes':[]};return{'id':_0x35c2f2,'classes':['ck-user__selection',_0x4923c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x35c2f2},'priority':0x7d0+_0x4923c7['orderNumber']};}(_0x8820e0,_0x211e72)}),function(_0x17781f){const _0x7a9ef4=_0x17781f['model'],_0x1047c7=new Map(),_0xb00bb3=_0x17781f['plugins']['get'](i);_0x7a9ef4['markers']['on']('update:user:range',(_0x2d3c1c,_0x2e53a9,_0x43e025,_0x76a56d)=>{if(!_0x76a56d&&_0x1047c7['get'](_0x2e53a9['name']))return _0x1047c7['get'](_0x2e53a9['name'])['detach'](),void _0x1047c7['delete'](_0x2e53a9['name']);const _0x1d449a=_0x2e53a9['name']['split'](':')[0x2];if(_0x1d449a===_0xb00bb3['mySessionId'])return;const _0x429224='user:position:'+_0x1d449a;_0x7a9ef4['markers']['has'](_0x429224)&&_0x17781f['editing']['reconvertMarker'](_0x429224),_0x2e53a9['on']('change:range',(_0xae1a25,_0x170826,_0x15c58d)=>{if('$graveyard'!=_0x170826['root']['rootName']&&'$graveyard'==_0x2e53a9['getRange']()['root']['rootName']&&!_0x1047c7['has'](_0x2e53a9['name'])){const _0x48fb92=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x15c58d['deletionPosition']);if(_0x48fb92){const _0x266d8e=_0x2e51d3['fromRange'](_0x48fb92);_0x1047c7['set'](_0x2e53a9['name'],_0x266d8e),_0x266d8e['on']('change:range',(_0x196c75,_0x504ca0,_0x1343e1)=>{if('$graveyard'==_0x266d8e['root']['rootName']){const _0x2ca28c=_0x7a9ef4['schema']['getNearestSelectionRange'](_0x1343e1['deletionPosition']);_0x2ca28c?(_0x266d8e['start']=_0x2ca28c['start'],_0x266d8e['end']=_0x2ca28c['end']):(_0x1047c7['delete'](_0x2e53a9['name']),_0x266d8e['detach']());}});}}});}),_0x7a9ef4['document']['on']('change',()=>{_0x1047c7['size']>0x0&&_0x7a9ef4['enqueueChange']({'isUndoable':!0x1},_0x1cf63a=>{for(const [_0x1b48d6,_0x2382b9]of _0x1047c7)'$graveyard'==_0x7a9ef4['markers']['get'](_0x1b48d6)['getRange']()['root']['rootName']&&(q(_0x1b48d6['split'](':')[0x2],_0x2382b9['toRange'](),_0x7a9ef4,_0x1cf63a),_0x2382b9['detach']());_0x1047c7['clear']();});});}(_0xe920a5),this['_domEmitter']['listenTo'](_0x23a209['document'],'keydown',(_0x1f76ae,{key:_0x58c48d})=>{'Escape'===_0x58c48d&&function(_0x146a8a){_0x146a8a['editing']['view']['change'](_0x2767ab=>{for(const _0x404e82 of _0x146a8a['model']['markers']){if(!_0x404e82['name']['startsWith']('user:position'))continue;const _0x2bd6bb=_0x146a8a['editing']['mapper']['markerNameToElements'](_0x404e82['name']);if(_0x2bd6bb){for(const _0x5d52cd of _0x2bd6bb)_0x2767ab['removeClass']('ck-user__marker_hovered',_0x5d52cd);}}});}(_0xe920a5);},{'useCapture':!0x0});}['afterInit'](){const _0x4a6284=this['editor'],_0x181a13=_0x4a6284['commands']['get']('undo');_0x181a13&&_0x4a6284['model']['on']('applyOperation',(_0x5e0b66,_0x4a4c15)=>{const _0x1b6d47=_0x4a4c15[0x0];if(!_0x1b6d47['isDocumentOperation'])return;if('marker'!=_0x1b6d47['type']||!_0x1b6d47['name']['startsWith']('user:'))return;const _0x31ebac=_0x1b6d47['batch'];_0x181a13['_createdBatches']['has'](_0x31ebac)&&(_0x1b6d47['newRange']=_0x1b6d47['oldRange']?_0x4a6284['model']['createRange'](_0x1b6d47['oldRange']['start'],_0x1b6d47['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1c85b9=this['editor'],_0x496024=_0x1c85b9['model']['document'],_0x47d2a6=_0x1c85b9['plugins']['get'](i);_0x1c85b9['model']['enqueueChange']({'isUndoable':!0x1},_0x49db44=>{const _0x44ce57='user:range:'+_0x47d2a6['mySessionId'],_0x15b889='user:position:'+_0x47d2a6['mySessionId'],_0x53aaa4=_0x1c85b9['model']['markers']['has'](_0x44ce57);_0x1c85b9['editing']['view']['hasDomSelection']?q(_0x47d2a6['mySessionId'],_0x496024['selection']['getFirstRange'](),_0x1c85b9['model'],_0x49db44):_0x53aaa4&&(_0x49db44['removeMarker'](_0x44ce57),_0x49db44['removeMarker'](_0x15b889));});}}function q(_0x1501ba,_0x550da9,_0x430d9d,_0x40b4a6){const _0x114af2='user:range:'+_0x1501ba,_0x19b969='user:position:'+_0x1501ba,_0x47bfc9=_0x550da9['getContainedElement']();let _0x4cf9b1=_0x550da9['start'];if(_0x47bfc9&&_0x47bfc9['is']('element','tableCell')){const _0x2c4489=function(_0x786a69,_0x4f482){for(const _0xf2efe4 of _0x786a69['getPositions']())if(_0x4f482['schema']['checkChild'](_0xf2efe4,'$text'))return _0xf2efe4;}(_0x550da9,_0x430d9d);_0x2c4489&&(_0x4cf9b1=_0x2c4489,_0x550da9=_0x40b4a6['createRange'](_0x4cf9b1));}const _0xb1e903=_0x40b4a6['createRange'](_0x4cf9b1);_0x430d9d['markers']['has'](_0x114af2)?(_0x40b4a6['updateMarker'](_0x114af2,{'range':_0x550da9}),_0x40b4a6['updateMarker'](_0x19b969,{'range':_0xb1e903})):(_0x40b4a6['addMarker'](_0x114af2,{'range':_0x550da9,'usingOperation':!0x0}),_0x40b4a6['addMarker'](_0x19b969,{'range':_0xb1e903,'usingOperation':!0x0}));}function T(_0x3eb432,_0x207ab9,_0x5654e1){const _0x4b4610=_0x3eb432['t'],t=_0x3eb432['t'];switch(_0x207ab9){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 _0x4b4610({'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'},_0x5654e1);default:return'';}}let j=0x1;class l extends _0x111504{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x1a0236)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,k,_0x19f13a,_0x24d756,_0x3c12c6];}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 _0x49d432=this['serverHistory']['getOperations']();for(let _0x2fdcb6=_0x49d432['length']-0x1;_0x2fdcb6>=0x0;_0x2fdcb6--){const _0x4a31cc=_0x49d432[_0x2fdcb6];if(!this['_disconnectionOperations']['has'](_0x4a31cc))return _0x4a31cc['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x65236f){if(super(_0x65236f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3898d5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2ba111('collaboration-missing-channelid',this);const _0x463e9f=_0x65236f['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x463e9f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1954db(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new U(this['_disconnectionOperations']);}['init'](){const _0x678504=this['editor'],_0x1256a9=_0x678504['plugins']['get'](_0x24d756),_0x287e5f=_0x678504['plugins']['get'](n);this['listenTo'](_0x1256a9,'getOperationAuthor',(_0x52484a,_0x102c6f)=>{const _0x17dbec=_0x102c6f[0x0];_0x17dbec['_authorId']&&(_0x52484a['return']=_0x1256a9['getUser'](_0x17dbec['_authorId']),_0x52484a['stop']()),null===_0x17dbec['_authorId']&&(_0x52484a['return']=null,_0x52484a['stop']());},{'priority':'high'}),this['listenTo'](_0x678504['model']['document']['selection'],'change:range',(_0x174a23,_0x5e5b58)=>{_0x5e5b58['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x678504['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x678504['model']['on']('applyOperation',(_0x285a53,_0x201f7c)=>{const _0x28ab08=_0x201f7c[0x0];_0x28ab08['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x28ab08),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x287e5f,'state',this,'_hasSynchronizationProblem',(_0x1adb65,_0x15715f)=>'connected'===_0x1adb65&&!_0x15715f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x678504['disableReadOnlyMode']('rtc-offline'):_0x678504['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2bd1fa=this['editor']['plugins']['get'](i),_0x3c3c0b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2bd1fa['unregister'](this['_channelId']);const _0x29758d=await this['_service']['reconnect'](_0x3c3c0b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x29758d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22ff39=await this['_service']['getConnectedSessions']();_0x2bd1fa['register'](this['_channelId'],_0x22ff39),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1964bd){if(function(_0x5b2239){return'404'===_0x5b2239['code'];}(_0x1964bd)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2e84c7){return'409'===_0x2e84c7['code'];}(_0x1964bd)){const _0x198ecc=T(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x198ecc);}else{if(!(_0x1964bd instanceof D))throw _0x1964bd;this['_handleReconnectionError']();}}}}['destroy'](){const _0x57405b=this['editor']['plugins']['get'](n),_0x2f2653=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2f2653['channelSessions']['has'](this['_channelId'])&&_0x2f2653['unregister'](this['_channelId']),_0x57405b['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x582e5d){if(this['sessionId']!==_0x582e5d['sessionId']&&this['_lastSyncedOperationId']!==_0x582e5d['lastOperationId'])throw new D();return this['sessionId']=_0x582e5d['sessionId'],this['_handleServerResponse']([],{..._0x582e5d,'wereChangesApplied':!0x1,'data':_0x582e5d['data']},'reconnect');}async['_connectService'](_0x35b8e3,_0x3cf681=!0x1){const {connection:_0x56cff8}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x56cff8,this['_channelId'])['then'](_0x42e31c=>this['_initSessionsHandling'](_0x42e31c))['catch'](_0x3163cf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3163cf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x418d18,_0x5c5390)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c5390);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4b6dad=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x35b8e3);this['_isPendingUpdate']=!0x0;const _0x80ddfe=await this['_service']['connect'](_0x56cff8,this['_compressOperations'](_0x35b8e3),_0x4b6dad);if(this['sessionId']=_0x80ddfe['sessionId'],_0x3cf681){if(!_0x80ddfe['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x80ddfe['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x35b8e3,_0x80ddfe,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x80ddfe,_0x35b8e3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5cd5c9=this['editor']['plugins']['get'](i),_0x176b63=this['editor']['plugins']['get'](k),_0x350d58=_0x5cd5c9['channelSessions']['get'](this['_channelId']);_0x350d58&&_0x350d58['length']>0x1?_0x176b63['createUserMarkerOperations']():this['listenTo'](_0x5cd5c9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5cd5c9['channelSessions']['get'](this['_channelId'])['length']&&_0x176b63['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3173a7,_0x3b9a12,_0x87c4b9,_0x4983c3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3b9a12){const _0x1772f4=this['_decompressOperations'](_0x87c4b9,_0x4983c3);await this['_fetchMissingUsers'](_0x1772f4),this['_handleExternalOperations'](_0x1772f4,_0x3b9a12,_0x87c4b9['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x181f10}=this['editor'];let _0x1e7302;try{_0x1e7302=await this['_service']['getDocumentDetails']();}catch{const _0x26e151=T(_0x181f10,'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'](_0x26e151);}const _0x333415=_0x1e7302['currentDocumentSession']||_0x1e7302['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x333415['lastOperationId']){const _0x207358=T(_0x181f10,'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'](_0x207358);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43dcc8){const _0x1f839d=this['editor']['plugins']['get'](i);this['listenTo'](_0x1f839d,'sessionAdd:'+this['_channelId'],(_0x475e67,{session:_0x3938f9})=>{if(_0x3938f9['id']===_0x1f839d['mySessionId']){_0x475e67['off']();const _0x549b32=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x58c6ef=_0x3938f9['permissions'];_0x549b32&&_0x549b32['isEnabled']&&(_0x58c6ef=_0x58c6ef['filter'](_0x5f1867=>'document:write'!==_0x5f1867)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x58c6ef,this['_channelId']);}}),_0x1f839d['register'](this['_channelId'],_0x43dcc8);}['_initThrowingOnDataSet'](){const _0x577fab=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4d2be6)=>{if(!_0x4d2be6[_0x4d2be6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2ba111('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x577fab['apply'](this['editor']['data'],_0x4d2be6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4c20fd,[_0x2bc65e])=>{if(this['_document']['version'])throw new _0x2ba111('realtimecollaborationclient-init-document-already-initialized',this);_0x4c20fd['stop'](),this['_setPendingAction']();const _0x45714b=this['editor']['config']['get']('rootsAttributes'),_0x91f367=this['_getOperationsFromInitData'](_0x2bc65e,_0x45714b);0x0==_0x91f367['length']&&_0x91f367['push'](new _0x47d7bf(0x0)),_0x4c20fd['return']=this['_connectService'](_0x91f367)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e439b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e439b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x346f9f,[_0x285c94,_0x380f30])=>{_0x346f9f['stop']();const _0x4b4399=this['editor']['model']['document']['getRoot'](_0x285c94);if(!this['_knownRootNames']['has'](_0x285c94)){const _0x590fd6=_0x380f30&&_0x380f30['data']?_0x380f30['data']:'',_0x5f3c6a=_0x380f30&&_0x380f30['attributes']?_0x380f30['attributes']:{};await this['_loadRoot'](_0x285c94,_0x590fd6,_0x5f3c6a);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4b4399['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4b4399);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xc5d919){const _0x86deec=this['editor']['plugins']['get'](_0x24d756),{connection:_0x4944a9}=this['editor']['plugins']['get'](n),_0x121514=new Set();for(const _0x168cf2 of _0xc5d919){const _0x4bcb21=_0x168cf2['_authorId'];_0x4bcb21&&!_0x86deec['getUser'](_0x4bcb21)&&_0x121514['add'](_0x4bcb21);}if(0x0===_0x121514['size'])return;const _0x1b9e3=await ut['getMany'](_0x4944a9,Array['from'](_0x121514));for(const _0x5e3798 of _0x1b9e3)_0x86deec['getUser'](_0x5e3798['id'])||_0x86deec['addUser'](_0x5e3798);}['_getOperationsFromInitData'](_0xf594c7,_0xeddfc6={}){const _0x53f855=this['editor']['model'],_0x194a7f=[];let _0x481e40=0x0;const _0x164c46='string'==typeof _0xf594c7?{'main':_0xf594c7}:_0xf594c7;for(const _0xa02242 of Object['keys'](_0x164c46)){if(!this['_document']['roots']['has'](_0xa02242))throw new _0x2ba111('realtimecollaborationclient-init-non-existent-root',this);const _0x5a8eb2=this['editor']['data']['parse'](_0x164c46[_0xa02242]),_0x13e7ad=this['_document']['getRoot'](_0xa02242),_0x105f17=new _0x4adff9(_0x53f855['createPositionAt'](_0x13e7ad,0x0),_0x5a8eb2,_0x481e40++);_0x194a7f['push'](_0x105f17);for(const [_0x56a9c8,_0x57eb6c]of _0x5a8eb2['markers']){const _0x2d4da1=_0x53f855['createRange'](_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['start']['path']['slice']()),_0x53f855['createPositionFromPath'](_0x13e7ad,_0x57eb6c['end']['path']['slice']())),_0x34cbe5=new _0x4150e4(_0x56a9c8,null,_0x2d4da1,_0x53f855['markers'],!0x0,_0x481e40++);_0x194a7f['push'](_0x34cbe5);}}if(_0xeddfc6)for(const [_0x147320,_0x55f704]of Object['entries'](_0xeddfc6)){const _0x583a61=_0x53f855['document']['getRoot'](_0x147320);if(!_0x583a61)throw new _0x2ba111('multi-root-editor-root-attributes-no-root',null);for(const [_0x2c3040,_0x320358]of Object['entries'](_0x55f704))if(null!==_0x320358){const _0x5292f8=new _0x440fd6(_0x583a61,_0x2c3040,null,_0x320358,_0x481e40++);_0x194a7f['push'](_0x5292f8);}}return _0x194a7f;}async['_loadRoot'](_0x2c3d53,_0x188d3f,_0x2c174a){this['_getOperationsFromInitData']({[_0x2c3d53]:_0x188d3f},{[_0x2c3d53]:_0x2c174a})['forEach']((_0x267533,_0x2ba4a4)=>{_0x267533['baseVersion']=this['_document']['version']+_0x2ba4a4,_0x267533['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x267533);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3955f0,_0x326dc9){let _0x5e23e4;this['_offset']=_0x3955f0['offset'];const _0x15aa96=_0x3955f0['wereChangesApplied']&&!_0x3955f0['initData'],_0x2bf04e=_0x15aa96?0x0:_0x3955f0['data']['baseVersion'];if(_0x326dc9['forEach'](_0x5b5872=>{_0x5b5872['_isInit']=!0x0,_0x5b5872['createdAt']=_0x3955f0['sessionCreatedAt'],_0x5b5872['_authorId']=null;}),_0x15aa96)_0x5e23e4=_0x326dc9,this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);else{if(_0x3955f0['initData']){const _0x54127d=this['_getOperationsFromInitData'](_0x3955f0['initData']);this['_document']['history']['version']=-_0x54127d['length'],_0x54127d['forEach'](_0x2205f1=>{_0x2205f1['baseVersion']-=_0x54127d['length'],_0x2205f1['createdAt']=_0x3955f0['sessionCreatedAt'],_0x2205f1['_isInit']=!0x0,_0x2205f1['_authorId']=null;}),this['_applyOperationsSet'](_0x54127d,!0x0),this['serverHistory']['version']=-_0x54127d['length']+this['_offset'],this['_updateServerHistory'](_0x54127d);}this['_document']['history']['version']=_0x2bf04e,_0x5e23e4=this['_decompressOperations'](_0x3955f0['data'],_0x3955f0['metadata']),await this['_fetchMissingUsers'](_0x5e23e4),this['_applyOperationsSet'](_0x5e23e4,_0x15aa96);}_0x3955f0['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5e23e4,_0x3955f0['lastOperationId']),this['_lastSyncedOperationId']=_0x3955f0['lastOperationId']),this['serverHistory']['version']=_0x2bf04e+this['_offset'],this['_updateServerHistory'](_0x5e23e4),_0x326dc9['filter'](_0x5034e2=>{const _0x584323=this['_getAffectedRoot'](_0x5034e2);return _0x584323&&!this['_knownRootNames']['has'](_0x584323);})['forEach']((_0x1b30bf,_0x534c1b)=>{_0x1b30bf['baseVersion']=this['_document']['version']+_0x534c1b,this['_saveOperationInBuffer'](_0x1b30bf);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0xa9d97c,_0x3d8700){const _0x52862e=_0x3d8700&&_0x3d8700['message'];if(_0x52862e&&_0x52862e['startsWith']('realtimecollaborationclient'))throw _0x3d8700;const _0x416dc1=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x416dc1['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2ba111(_0xa9d97c,this['editor'],_0x52862e?{'originalError':_0x52862e}:void 0x0);}['_saveOperationInBuffer'](_0x4bce85){this['_knownOperations']['has'](_0x4bce85)||(this['_knownOperations']['add'](_0x4bce85),this['_bufferedOperations']['push'](_0x4bce85),this['_pendingAction']||'marker'==_0x4bce85['type']&&!_0x4bce85['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x55ad2b=!0x1){!_0x55ad2b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x50f5be=>{_0x50f5be&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2bf18a=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x462e88){return _0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x462e88['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2bf18a)||this['_crash'](_0x2bf18a['message'],_0x2bf18a);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2fe34f=>{this['on']('change:_isPendingUpdate',()=>{_0x2fe34f();});});}async['_sendBufferedOperations'](){const _0x2b6672=this['editor']['plugins']['get'](k);if(this['_shouldSendSelectionUpdate']()&&(_0x2b6672['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2a4e6c=[...this['_bufferedOperations']];for(const _0x432442 of _0x2a4e6c)_0x432442['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x432442);const _0x543c72=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2a4e6c),_0x3963ba=j++,_0x12a3f9=this['_compressOperations'](_0x2a4e6c),_0x381aee=await this['_service']['sendOperations'](_0x12a3f9,_0x12a3f9['baseVersion'],_0x543c72);try{return await this['_handleServerResponse'](_0x2a4e6c,_0x381aee,_0x3963ba);}catch(_0x52251f){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x52251f);}}async['_handleServerResponse'](_0x4c5e0c,_0x391e41,_0x43eeb5){if('error'in _0x391e41)throw _0x391e41['error'];let _0x443a84=!0x1;if(_0x391e41['wereChangesApplied']){_0x391e41['lastOperationId']&&(this['_lastSyncedOperationId']=_0x391e41['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfa946b=>!_0x4c5e0c['includes'](_0xfa946b));for(const _0x5f0b95 of _0x4c5e0c)_0x5f0b95['createdAt']='lastOperationAcceptedAt'in _0x391e41&&_0x391e41['lastOperationAcceptedAt']||void 0x0;P(_0x4c5e0c,_0x391e41['version']-_0x4c5e0c['length']),this['_updateServerHistory'](_0x4c5e0c);const _0x2de88e=_0x4c5e0c['filter'](_0x599c2d=>{if(!_0x599c2d['_isInit'])return!0x1;const _0x4e3880=this['_getAffectedRoot'](_0x599c2d);return _0x4e3880&&!this['_knownRootNames']['has'](_0x4e3880);});P(_0x2de88e,this['_document']['version']),this['_applyOperationsSet'](_0x2de88e),_0x443a84=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5d43fd=this['_decompressOperations'](_0x391e41['data'],_0x391e41['metadata'])['filter'](_0x4333ad=>_0x4333ad['baseVersion']>=this['_lastServerVersion']);_0x5d43fd['forEach'](_0x54cb96=>this['_addKnownRoot'](_0x54cb96)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x10280d=>!_0x10280d['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x10280d))),this['_bufferedOperations']['length']&&P(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5d43fd),_0x443a84=this['_handleExternalOperations'](_0x5d43fd,_0x391e41['version'],_0x391e41['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x443a84?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4221a3,_0x2b6dfd,_0x1e0628){try{const _0x275f02={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x190d45,operationsB:_0x151b40,originalOperations:_0x590e7f}=_0x3419a3(_0x4221a3,this['_bufferedOperations'],_0x275f02);P(_0x190d45,this['_document']['version']),P(_0x151b40,_0x2b6dfd);for(const _0x34fba7 of _0x190d45){const _0x1ec3b4=_0x590e7f['get'](_0x34fba7);_0x34fba7['_authorId']=_0x1ec3b4?_0x1ec3b4['_authorId']:null;}_0x1e0628&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4221a3,_0x1e0628),this['_lastSyncedOperationId']=_0x1e0628),this['_bufferedOperations']=[..._0x151b40],this['_applyOperationsSet'](_0x190d45),this['_updateServerHistory'](_0x4221a3);}catch(_0xefb654){return console['error'](_0xefb654),!0x1;}return!0x0;}['_applyOperationsSet'](_0x39c704,_0x4dda2e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x496bd1=>{for(const _0xea48c8 of _0x39c704)this['_knownOperations']['add'](_0xea48c8),this['_addKnownRoot'](_0xea48c8),_0x496bd1['batch']['addOperation'](_0xea48c8),this['editor']['model']['applyOperation'](_0xea48c8);});}['_addKnownRoot'](_0x24e483){const _0x279b54=this['_getAffectedRoot'](_0x24e483);_0x279b54&&this['_knownRootNames']['add'](_0x279b54);}['_getAffectedRoot'](_0x1ff718){let _0x174001,_0xc4c32a;switch(_0x1ff718['type']){case'insert':_0x174001=_0x1ff718['position']['root'];break;case'marker':if(_0xc4c32a=_0x1ff718['newRange'],!_0xc4c32a)return null;_0x174001=_0xc4c32a['root'];break;case'addRootAttribute':_0x174001=_0x1ff718['root'];break;case'addRoot':_0x174001=_0x1ff718['affectedSelectable'];break;case'move':_0x174001=_0x1ff718['targetPosition']['root'];break;default:return null;}return _0x174001['rootName'];}['_updateServerHistory'](_0x387e36){_0x387e36['forEach'](_0x159898=>{const _0x168ce0=_0x159898['clone']();_0x168ce0['_authorId']=_0x159898['_authorId'],_0x168ce0['_isInit']=!!_0x159898['_isInit'],_0x168ce0['createdAt']=_0x159898['createdAt'],_0x168ce0['baseVersion']+=this['_offset'],_0x159898['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x168ce0),this['serverHistory']['addOperation'](_0x168ce0);});}['_handleReconnectionError'](_0x2f1f6a){const _0x27dd9a=this['editor']['plugins']['get']('Notification'),_0x248731=this['editor']['locale'];_0x2f1f6a||(_0x2f1f6a=T(_0x248731,'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.')),_0x27dd9a['showWarning'](_0x2f1f6a,{'title':T(_0x248731,'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'](_0x19f13a)['add'](T(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x19f13a)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x520c2a){const _0x4d3314=_0x520c2a['map'](_0x5672a1=>_0x5672a1['toJSON']());return this['_compressor']['compress'](_0x4d3314);}['_decompressOperations'](_0x4f6293,_0x2646f8){return this['_compressor']['decompress'](_0x4f6293)['map']((_0x2cf774,_0x3fb4ce)=>{const _0x374791='init'==_0x2646f8[_0x3fb4ce]['type'];if('InsertOperation'==_0x2cf774['__className']){const _0x35c14a=_0x2cf774['position']['root'];!this['_document']['getRoot'](_0x35c14a)&&(this['_document']['createRoot']('$root',_0x35c14a)['_isAttached']=!0x1);}const _0x4b8380=_0x1b106d['fromJSON'](_0x2cf774,this['_document']);return _0x4b8380['wasUndone']=_0x2cf774['wasUndone'],_0x4b8380['_isInit']=_0x374791,_0x4b8380['_authorId']=_0x374791?null:_0x2646f8[_0x3fb4ce]['userId'],_0x4b8380['_isDisconnection']='cs:removeUser'===_0x2646f8[_0x3fb4ce]['type'],_0x4b8380['createdAt']=_0x2646f8[_0x3fb4ce]['createdAt'],_0x4b8380;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5c75b1=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5c75b1&&_0x5c75b1['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class D extends Error{}function P(_0x480e41,_0x53f049){for(const _0x3c1f5d of _0x480e41)_0x3c1f5d['baseVersion']=_0x53f049++;}class U{['_ignoredOperations'];['_operationToId'];constructor(_0x97b04d){this['_ignoredOperations']=_0x97b04d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x4ac435){let _0x5ed521=_0x4ac435['length'];for(;_0x5ed521--;){const _0x297937=_0x4ac435[_0x5ed521];if(!this['_ignoredOperations']['has'](_0x297937)){if(!this['_operationToId']['has'](_0x297937)){const _0x3b4a85=_0x279525()['slice'](0x1,0x12);this['_operationToId']['set'](_0x297937,_0x3b4a85);}return this['_operationToId']['get'](_0x297937);}}}['setIdForTheLastOperation'](_0x4eb705,_0x912366){if(!_0x912366)return;let _0x30c2f5=_0x4eb705['length'];for(;_0x30c2f5--;){const _0xc88b08=_0x4eb705[_0x30c2f5];this['_ignoredOperations']['has'](_0xc88b08)||this['_operationToId']['set'](_0xc88b08,_0x912366);}}}class a extends _0x111504{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x49081f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>et)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x24d756];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x313a67){super(_0x313a67),this['_services']=new Map();}async['init'](){const _0x418f00=this['context'],_0x4bf26e=_0x418f00['plugins']['get']('CommentsRepository');if(_0x418f00['plugins']['get'](n)['addToReconnectionStack'](this),_0x4bf26e['adapter']={'addCommentThread':async({channelId:_0x17a47b,threadId:_0x4a8c78,comments:_0x128e1a,resolvedAt:_0x5b773d,resolvedBy:_0x18089f,context:_0x17cb30,attributes:_0x49dca9})=>{const _0x5ab87e=await this['_getService'](_0x17a47b)['addCommentThread']({'commentThreadId':_0x4a8c78,'comments':_0x128e1a['map'](_0x58cd0f=>function(_0xfd9e71,_0x4cc4a6,_0x19de73){return{'commentThreadId':_0x19de73,'commentId':_0xfd9e71['commentId'],'userId':_0xfd9e71['authorId'],'content':_0xfd9e71['content'],'documentId':_0x4cc4a6,'createdAt':_0xfd9e71['createdAt'],'attributes':_0xfd9e71['attributes']||{}};}(_0x58cd0f,_0x17a47b,_0x4a8c78)),'resolvedAt':_0x5b773d,'resolvedBy':_0x18089f,'context':_0x17cb30,'attributes':_0x49dca9})['catch'](ft);return{'threadId':_0x5ab87e['commentThreadId'],'comments':_0x5ab87e['comments']};},'getCommentThread':async({channelId:_0x52d2e8,threadId:_0x1b9d0d})=>{const _0x1320a7=await this['_getService'](_0x52d2e8)['getCommentThread'](_0x1b9d0d)['catch'](ot)['catch'](ft);return _0x1320a7?_0x1320a7['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1320a7]),{'threadId':_0x1320a7['commentThreadId'],'comments':_0x1320a7['comments']['map'](st),'context':_0x1320a7['context'],'resolvedAt':_0x1320a7['resolvedAt'],'resolvedBy':_0x1320a7['resolvedBy'],'attributes':_0x1320a7['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x446e65,threadId:_0x5a87b1,context:_0x5240af,unlinkedAt:_0xb6b19e,attributes:_0x50dcf3})=>this['_getService'](_0x446e65)['updateCommentThread']({'commentThreadId':_0x5a87b1,'context':_0x5240af,'attributes':_0x50dcf3,'unlinkedAt':_0xb6b19e})['catch'](ot)['catch'](ft),'resolveCommentThread':async({channelId:_0x56016a,threadId:_0x1940c5})=>{const _0xb8c4a7=await this['_getService'](_0x56016a)['resolveCommentThread'](_0x1940c5)['catch'](ot)['catch'](ft);return{'threadId':_0xb8c4a7['commentThreadId'],'resolvedAt':_0xb8c4a7['resolvedAt'],'resolvedBy':_0xb8c4a7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b0a96,threadId:_0x52e9a9})=>this['_getService'](_0x2b0a96)['reopenCommentThread'](_0x52e9a9)['catch'](ot)['catch'](ft),'removeCommentThread':({channelId:_0x1a2345,threadId:_0x5eb3f1})=>this['_getService'](_0x1a2345)['removeCommentThread'](_0x5eb3f1)['catch'](ot)['catch'](ft),'addComment':({channelId:_0x4e0a47,threadId:_0x50f1fc,commentId:_0x57bb4f,content:_0x1c98db,attributes:_0x576c20})=>this['_getService'](_0x4e0a47)['addComment'](_0x50f1fc,_0x57bb4f,_0x1c98db,_0x576c20)['catch'](ft),'updateComment':({channelId:_0x311688,threadId:_0x31c414,commentId:_0x3c00cb,content:_0xd02822,attributes:_0x55208c})=>this['_getService'](_0x311688)['updateComment'](_0x31c414,_0x3c00cb,_0xd02822,_0x55208c)['catch'](ot)['catch'](ft),'removeComment':({channelId:_0x46f94e,threadId:_0xfa8357,commentId:_0x5d8efe})=>this['_getService'](_0x46f94e)['removeComment'](_0xfa8357,_0x5d8efe)['catch'](ot)['catch'](ft)},_0x418f00 instanceof tt){const _0x3720ab=_0x418f00['config']['get']('collaboration.channelId'),_0x1bc181=_0x418f00['plugins']['get'](i);await this['_setUpService'](_0x3720ab);const _0x219dae=await this['_services']['get'](_0x3720ab)['getConnectedSessions']();this['listenTo'](_0x1bc181,'sessionAdd:'+_0x3720ab,(_0x4f7291,{session:_0xde6165})=>{_0xde6165['id']===_0x1bc181['mySessionId']&&(_0x4f7291['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xde6165['permissions'],_0x3720ab));}),_0x1bc181['register'](_0x3720ab,_0x219dae);}}async['_setUpService'](_0x19dc87){if(this['_services']['has'](_0x19dc87))throw new _0x2ba111('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x19dc87});const _0x4a7d77=this['context']['plugins']['get']('CommentsRepository'),_0x1c3c68=new s['CommentsService'](_0x19dc87);this['_services']['set'](_0x19dc87,_0x1c3c68),this['listenTo'](_0x1c3c68,'commentThreadAdded',(_0x34af4c,_0x8eed0f)=>{const {commentThreadId:_0x3f148b,documentId:_0x13d715,context:_0x7bafc8,attributes:_0x372c4b,resolvedAt:_0x116075,resolvedBy:_0x4e1328,comments:_0x1be7ab}=_0x8eed0f;_0x4a7d77['getCommentThread'](_0x3f148b)||_0x4a7d77['addCommentThread']({'threadId':_0x3f148b,'channelId':_0x13d715,'comments':_0x1be7ab?_0x1be7ab['map'](st):[],'context':_0x7bafc8,'attributes':_0x372c4b,'resolvedAt':_0x116075,'resolvedBy':_0x4e1328,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadUpdated',(_0x536d14,{commentThreadId:_0x22a187,documentId:_0xcff593,context:_0x16928a,unlinkedAt:_0x49987d,attributes:_0x2625d7})=>{_0x4a7d77['getCommentThread'](_0x22a187)&&_0x4a7d77['updateCommentThread']({'threadId':_0x22a187,'channelId':_0xcff593,'context':_0x16928a,'unlinkedAt':_0x49987d,'attributes':_0x2625d7,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadResolved',(_0x1b937a,{commentThreadId:_0x3650b1,resolvedBy:_0xc0f57a,resolvedAt:_0x19c921})=>{const _0x470213=_0x4a7d77['getCommentThread'](_0x3650b1);_0x470213&&_0x470213['resolve']({'resolvedBy':_0xc0f57a,'resolvedAt':_0x19c921,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadReopened',(_0x28a191,{commentThreadId:_0x1fff19})=>{const _0x1fe679=_0x4a7d77['getCommentThread'](_0x1fff19);_0x1fe679&&_0x1fe679['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentThreadRemoved',(_0x1a7c2a,{commentThreadId:_0x2a7182})=>{const _0x62b51=_0x4a7d77['getCommentThread'](_0x2a7182);_0x62b51&&_0x62b51['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentAdded',(_0xe56c00,_0x533e3f)=>{const _0xe71b09=_0x533e3f['commentThreadId'],_0xb117d6=_0x4a7d77['getCommentThread'](_0xe71b09);_0xb117d6&&_0xb117d6['addComment']({...st(_0x533e3f),'isFromAdapter':!0x0});}),this['listenTo'](_0x1c3c68,'commentUpdated',(_0x226085,{commentThreadId:_0x26caf8,commentId:_0x5d1ab0,content:_0x1752ec,attributes:_0x4d0c61})=>{const _0x46c4e4=_0x4a7d77['getCommentThread'](_0x26caf8);if(_0x46c4e4){const _0x4be603=_0x46c4e4['getComment'](_0x5d1ab0);_0x4be603&&_0x4be603['update']({'content':_0x1752ec,'attributes':_0x4d0c61,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1c3c68,'commentRemoved',(_0x4646dc,{commentThreadId:_0x397f9b,commentId:_0x16b857})=>{const _0x3760c8=_0x4a7d77['getCommentThread'](_0x397f9b);if(_0x3760c8){const _0x2f94f8=_0x3760c8['getComment'](_0x16b857);_0x2f94f8&&_0x2f94f8['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x19dc87);}['destroy'](){if(this['context']instanceof tt){const _0x1372f1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1372f1);}}['_terminateService'](_0x419a2b){if(!this['_services']['has'](_0x419a2b))throw new _0x2ba111('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x419a2b});this['_getService'](_0x419a2b)['disconnect'](),this['_services']['delete'](_0x419a2b);}async['reconnect'](){for(const _0x24f701 of this['_services']['keys']())await this['_connectService'](_0x24f701);if(this['context']instanceof tt){const _0xa2908b=this['context']['config']['get']('collaboration.channelId'),_0x5afc15=this['context']['plugins']['get'](i);_0x5afc15['unregister'](_0xa2908b);const _0xc470c9=await this['_services']['get'](_0xa2908b)['getConnectedSessions']();_0x5afc15['register'](_0xa2908b,_0xc470c9);}}async['_connectService'](_0x494201){const {connection:_0x197deb}=this['context']['plugins']['get'](n),_0x2381bd=this['context']['plugins']['get']('CommentsRepository'),_0x243a14=this['_services']['get'](_0x494201),_0x38eab7=await _0x243a14['connect'](_0x197deb);await this['_fetchMissingUsersForThreads'](_0x38eab7);const _0x1d3831=new Set(Array['from'](_0x2381bd['getCommentThreads']({'channelId':_0x494201}),_0x139921=>_0x139921['id']));for(const _0x655b58 of _0x38eab7)_0x655b58['deletedAt']||_0x1d3831['delete'](_0x655b58['commentThreadId']);for(const _0x43d940 of _0x1d3831)_0x2381bd['getCommentThread'](_0x43d940)['remove']({'isFromAdapter':!0x0});for(const _0x5a53f3 of _0x38eab7){let _0xc3442a=_0x2381bd['getCommentThread'](_0x5a53f3['commentThreadId']);const {commentThreadId:_0x4f201f,context:_0x57a5b0,attributes:_0x9a9b48,resolvedBy:_0x53bb84,resolvedAt:_0x15e2bc,unlinkedAt:_0x3ad86b,deletedAt:_0x15f9d4}=_0x5a53f3;if(_0x15f9d4)continue;_0xc3442a||(_0xc3442a=_0x2381bd['addCommentThread']({'channelId':_0x494201,'threadId':_0x4f201f,'context':_0x57a5b0,'attributes':_0x9a9b48||{},'resolvedBy':_0x53bb84,'resolvedAt':_0x15e2bc,'unlinkedAt':_0x3ad86b,'isFromAdapter':!0x0}));const _0x5c28e6=new Set(Array['from'](_0xc3442a['comments'],_0x8fcc86=>_0x8fcc86['id']));for(const _0x143e8e of _0x5a53f3['comments'])_0x5c28e6['delete'](_0x143e8e['commentId']);for(const _0x5d3be7 of _0x5c28e6)_0xc3442a['getComment'](_0x5d3be7)['remove']({'isFromAdapter':!0x0});for(const _0x4861ff of _0x5a53f3['comments']){const _0x440434=_0xc3442a['getComment'](_0x4861ff['commentId']);_0x440434?_0x440434['content']!==_0x4861ff['content']&&_0x440434['update']({'content':_0x4861ff['content'],'isFromAdapter':!0x0}):_0xc3442a['addComment'](Object['assign'](st(_0x4861ff),{'isFromAdapter':!0x0}));}}}['_getService'](_0xd8db0){if(!this['_services']['has'](_0xd8db0))throw new _0x2ba111('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xd8db0});return this['_services']['get'](_0xd8db0);}async['_fetchMissingUsersForThreads'](_0x41ae9b){const _0x27c6c3=this['context']['plugins']['get'](_0x24d756),{connection:_0x2f5963}=this['context']['plugins']['get'](n),_0x3051d9=new Set();for(const {resolvedBy:_0x4cd093,comments:_0x3f6105}of _0x41ae9b){_0x4cd093&&!_0x27c6c3['getUser'](_0x4cd093)&&_0x3051d9['add'](_0x4cd093);for(const {userId:_0x583350}of _0x3f6105)_0x27c6c3['getUser'](_0x583350)||_0x3051d9['add'](_0x583350);}if(0x0===_0x3051d9['size'])return;const _0x2f9f66=await ut['getMany'](_0x2f5963,Array['from'](_0x3051d9));for(const _0x304dfe of _0x2f9f66)_0x27c6c3['getUser'](_0x304dfe['id'])||_0x27c6c3['addUser'](_0x304dfe);}}async function ot(_0xfd7935){if('404'!==_0xfd7935['code'])throw _0xfd7935;}function ft(_0xd61ec7){if((_0x2dd33c=_0xd61ec7)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2dd33c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2dd33c;throw _0xd61ec7;}function st(_0x19d1c){return{'threadId':_0x19d1c['commentThreadId'],'commentId':_0x19d1c['commentId'],'content':_0x19d1c['content'],'createdAt':_0x19d1c['createdAt'],'authorId':_0x19d1c['userId'],'attributes':_0x19d1c['attributes']||{}};}class m extends _0x111504{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(_0x679f2f){super(_0x679f2f);const _0x3016be=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3016be);}['init'](){const _0x5c1794=this['editor']['plugins']['get'](n),_0x340bac=this['editor']['plugins']['get']('TrackChangesEditing');return _0x340bac['adapter']={'getSuggestion':async _0x214639=>{await this['_waitForServiceReady']();const _0x24bad2=await this['_trackChangesService']['get'](_0x214639)['catch'](nt);return await this['_fetchMissingUsersForThreads']([_0x24bad2]),_0x24bad2;},'addSuggestion':async({id:_0x3aca00,type:_0x136903,data:_0x1c6962,originalSuggestionId:_0x48dd55,attributes:_0x1fa872})=>{await this['_waitForServiceReady']();const _0x1b068d={'id':_0x3aca00,'type':_0x136903,'data':_0x1c6962,'originalSuggestionId':_0x48dd55,'attributes':_0x1fa872},_0x5c6913=await this['_trackChangesService']['add'](_0x3aca00,_0x136903,_0x1c6962,_0x48dd55,_0x1fa872)['catch'](_0x192efa=>{if(mt(_0x192efa))return new Promise(_0x1cfe86=>{this['_bufferedRequests']['set'](_0x3aca00,{'resolve':_0x1cfe86,'suggestionData':_0x1b068d});});throw _0x192efa;});return this['_bufferedRequests']['delete'](_0x3aca00),_0x5c6913;},'updateSuggestion':async(_0x58e5ae,_0x3db141)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3db141['state'])return this['_trackChangesService']['update'](_0x58e5ae,_0x3db141)['catch'](nt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5cfa54,_0x432d97)=>{_0x340bac['hasSuggestion'](_0x432d97['id'])&&(_0x340bac['getSuggestion'](_0x432d97['id'])['attributes']=_0x432d97['attributes']);}),this['_trackChangesService']['connect'](_0x5c1794['connection'])['then'](_0x57447a=>(_0x5c1794['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x57447a)['then'](()=>{for(const _0x1ecda of _0x57447a){_0x340bac['addSuggestionData'](_0x1ecda)['_saved']=!0x0;}})));}async['reconnect'](){const _0x36d131=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3468f9}=this['editor']['plugins']['get'](n),_0x42ac23=await this['_trackChangesService']['connect'](_0x3468f9);await this['_fetchMissingUsersForThreads'](_0x42ac23);for(const {suggestionData:_0x1657f9,resolve:_0x490124}of this['_bufferedRequests']['values']()){let _0x34f444=_0x42ac23['find'](_0x4c9a77=>_0x4c9a77['id']===_0x1657f9['id']);_0x34f444||(_0x34f444=await this['_trackChangesService']['add'](_0x1657f9['id'],_0x1657f9['type'],_0x1657f9['data'],_0x1657f9['originalSuggestionId'])),_0x490124(_0x34f444);}for(const _0x3958e1 of _0x42ac23)_0x36d131['hasSuggestion'](_0x3958e1['id'])||_0x36d131['addSuggestionData'](_0x3958e1);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x27515d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x34761d=>{_0x34761d['off'](),_0x27515d();});});}async['_fetchMissingUsersForThreads'](_0x405180){const _0x3fb34c=this['editor']['plugins']['get'](_0x24d756),{connection:_0xb0b811}=this['editor']['plugins']['get'](n),_0x1df4df=new Set();for(const {authorId:_0x39a81d}of _0x405180)_0x3fb34c['getUser'](_0x39a81d)||_0x1df4df['add'](_0x39a81d);if(0x0===_0x1df4df['size'])return;const _0x291555=await ut['getMany'](_0xb0b811,Array['from'](_0x1df4df));for(const _0x23e87d of _0x291555)_0x3fb34c['getUser'](_0x23e87d['id'])||_0x3fb34c['addUser'](_0x23e87d);}}function nt(_0x4c860b){if(mt(_0x4c860b))return new Promise(()=>{});throw _0x4c860b;}function mt(_0xa49576){return _0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa49576['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x111504{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 _0x568425=this['editor']['plugins']['get'](n),_0x113ac8=this['editor']['plugins']['get']('CommentsEditing'),_0x56115a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x568425,'change:state',(_0x1bf4d5,_0x15b69e,_0x550afb)=>{_0x113ac8['isThreadsLoadingPaused']='connected'!==_0x550afb;});}),this['listenTo'](_0x568425,'change:state',(_0x2538b4,_0x129e58,_0x121de1)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x121de1);}),_0x56115a['_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 _0x111504{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 _0x111504{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x439566)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x24d756];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x35e39d){super(_0x35e39d);const _0x5a95d6=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5a95d6);}async['init'](){const _0x4aeaa9=this['editor']['plugins']['get'](l),_0x5c6fc2=_0x4aeaa9['serverHistory'],_0x3dde5d=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5c6fc2,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4aeaa9['sessionId']});const _0x4de0e1=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x235505=await _0x47cbe4['isBundleUploaded'](_0x3dde5d['connection'],_0x4de0e1);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x282be5})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x282be5)),'updateRevisions':async _0x4b68a9=>{await this['_waitForServiceReady']();const _0xd23488=this['_revisionTracker']['currentRevision'];if(_0x235505&&0x1===_0x4b68a9['length']&&_0x4b68a9[0x0]['id']===_0xd23488['id'])return _0x4b68a9;for(const _0x952fd6 of _0x4b68a9)_0x952fd6['id']===_0xd23488['id']&&(_0x952fd6['isEmptyCurrent']=_0x952fd6['fromVersion']===_0x952fd6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4b68a9,this['_lastRequestId'])['then'](_0x41f0c9=>(this['_lastRequestId']=_0x41f0c9,_0x4b68a9))['catch'](_0x5d14db=>{if(L(_0x5d14db)||'400'===_0x5d14db['code']&&void 0x0!==_0x5d14db['data']['wrongRequestId']){for(const _0x42d186 of _0x4b68a9){!this['_revisionTracker']['repository']['getRevision'](_0x42d186['id'])||this['_revisionTracker']['_bufferUpdate'](_0x42d186['id'],_0x42d186,!0x1);}if(L(_0x5d14db))throw _0x5d14db;return _0x4b68a9;}throw _0x5d14db;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3e32c0,{revisionsData:_0x1051b7,requestId:_0x4208fe})=>{Math['max'](..._0x1051b7['map'](_0x1f31f3=>_0x1f31f3['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);}):this['_handleRevisionsUpdate'](_0x1051b7,_0x4208fe);});const {revisions:_0x481d2f,requestId:_0x2844cf}=await this['_revisionHistoryService']['connect'](_0x3dde5d['connection']);_0x3dde5d['addToReconnectionStack'](this),this['_lastRequestId']=_0x2844cf,await this['_fetchMissingUsers'](_0x481d2f);for(const _0x308f9c of _0x481d2f)this['_revisionTracker']['addRevisionData'](_0x308f9c);this['listenTo'](_0x4aeaa9,'change:_isConnected',(_0x86a0b8,_0x1c377d,_0x2e136f)=>{_0x2e136f&&(this['_oldOffset']=_0x4aeaa9['_offset'],_0x86a0b8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3dde5d,'state',_0x484547=>_0x484547===_0x278209['CONNECTED']);}async['reconnect'](){const _0x5d2616=this['editor']['plugins']['get'](n),_0x534bdd=this['editor']['plugins']['get'](l),_0x2d7164=async()=>{const _0x468906=this['_revisionTracker']['currentRevision'],_0x1c9942=_0x468906['id'],_0x588ca7=_0x1c9942!==_0x534bdd['sessionId'];if(_0x588ca7){const _0x26ae16=_0x534bdd['_offset']-this['_oldOffset'],_0x2fad4a=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x468906['toVersion']+_0x26ae16!==_0x2fad4a){const _0x522582=_0x468906['fromVersion']+_0x26ae16,_0x4770f0=this['editor']['plugins']['get'](_0x24d756),_0x47c0c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x468906,'from':_0x522582,'to':_0x2fad4a});_0x47c0c4['id']=_0x468906['id'];const _0x16d91e=_0x47c0c4['authorsIds']['map'](_0x3b3cae=>_0x4770f0['getUser'](_0x3b3cae));_0x468906['_update']({..._0x47c0c4,'authors':_0x16d91e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x468906['id'],_0x47c0c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2fad4a,(_0x468906['toVersion']===_0x468906['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1c9942)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1c9942),this['_revisionTracker']['_createCurrentRevision'](_0x2fad4a));}const {revisions:_0x2dbd88,requestId:_0x192d33}=await this['_revisionHistoryService']['reconnect'](_0x5d2616['connection'],this['_lastRequestId']);_0x588ca7&&_0x2dbd88['length']>0x0?_0x534bdd['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2dbd88),this['_handleRevisionsUpdate'](_0x2dbd88,_0x192d33),this['_revisionTracker']['sendBufferedUpdates']());};return _0x534bdd['_isConnected']?_0x2d7164():new Promise((_0xf964f5,_0x2ea14c)=>{_0x534bdd['once']('change:_isConnected',()=>{_0x2d7164()['then'](_0xf964f5)['catch'](_0x2ea14c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5855fb=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x513fda=>{_0x513fda['off'](),_0x5855fb();});});}['_getLatestVersionFromServerOperations'](){const _0x597d3c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3eafad of _0x597d3c)if('marker'!==_0x3eafad['type']||_0x3eafad['affectsData'])return _0x3eafad['baseVersion']+0x1;}['_getLatestVersion'](){const _0x5489e7=this['editor']['plugins']['get'](l);return new Promise(_0x320cd2=>{_0x5489e7['_isPendingUpdate']?_0x5489e7['once']('change:_isPendingUpdate',()=>{_0x320cd2(this['_getLatestVersionFromServerOperations']());}):_0x320cd2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x4dcf0a,_0x197a48){const _0x2b782c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x197a48;for(const _0x52d597 of _0x4dcf0a){const _0x4c4b1b=_0x2b782c['getRevision'](_0x52d597['id']);if(_0x4c4b1b){if((_0x52d597['fromVersion']||_0x52d597['toVersion'])&&(_0x52d597['diffData']=null),_0x4c4b1b===this['_revisionTracker']['currentRevision']){const _0x4aebfe=Math['max'](_0x4c4b1b['toVersion'],_0x52d597['toVersion']),_0x56c1dd=Math['max'](_0x4c4b1b['fromVersion'],_0x52d597['fromVersion']);let _0x17647b;_0x4c4b1b['toVersion']===_0x52d597['toVersion']&&_0x4c4b1b['fromVersion']===_0x52d597['fromVersion']?(_0x17647b=!0x0,this['_preventResendingRevisionData'](_0x52d597)):_0x52d597['toVersion']===_0x4aebfe&&_0x52d597['fromVersion']===_0x56c1dd?_0x17647b=!0x1:(_0x4c4b1b['toVersion']===_0x4aebfe&&_0x4c4b1b['fromVersion']===_0x56c1dd||this['_fixRevision']({'revision':_0x4c4b1b,'from':_0x56c1dd,'to':_0x4aebfe}),_0x17647b=!0x0),_0x17647b&&(delete _0x52d597['fromVersion'],delete _0x52d597['toVersion'],delete _0x52d597['diffData'],delete _0x52d597['createdAt'],delete _0x52d597['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x52d597),this['_preventResendingRevisionData'](_0x52d597);}else this['_revisionTracker']['addRevisionData'](_0x52d597);}const _0x150002=_0x2b782c['getRevisions']();_0x150002['reverse']();for(let _0x5e8bb3=0x0;_0x5e8bb3<_0x150002['length']-0x1;_0x5e8bb3++){const _0x11d8d7=_0x150002[_0x5e8bb3],_0x137338=_0x150002[_0x5e8bb3+0x1];if(_0x11d8d7['fromVersion']<_0x137338['toVersion']){const _0x5e9b3a=_0x137338['toVersion'],_0x267ba8=Math['max'](_0x5e9b3a,_0x11d8d7['toVersion']);this['_fixRevision']({'revision':_0x11d8d7,'from':_0x5e9b3a,'to':_0x267ba8});}}}['_fixRevision']({revision:_0x4a69c2,from:_0x19ad2c,to:_0x43617d}={}){const _0xae0537=this['editor']['plugins']['get'](_0x24d756),_0x38cd51=this['_revisionTracker']['buildRevisionData']({'revision':_0x4a69c2,'from':_0x19ad2c,'to':_0x43617d});_0x38cd51['authors']=_0x38cd51['authorsIds']['map'](_0xed64f9=>_0xae0537['getUser'](_0xed64f9)),_0x4a69c2['_update'](_0x38cd51);}['_preventResendingRevisionData'](_0x20a701){const _0x429932={};_0x429932['id']=_0x20a701['id'];for(const _0x4c61a4 of Object['keys'](_0x20a701))'id'!==_0x4c61a4&&(_0x429932[_0x4c61a4]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x429932['id'],_0x429932,!0x0);}async['_fetchMissingUsers'](_0x2c8121){const _0x5efbbe=this['editor']['plugins']['get'](_0x24d756),{connection:_0x289d85}=this['editor']['plugins']['get'](n),_0x9d219d=new Set();for(const _0x271f35 of _0x2c8121){for(const _0x5e1550 of _0x271f35['authorsIds'])_0x529e0b(_0x5e1550);_0x271f35['creatorId']&&_0x529e0b(_0x271f35['creatorId']);}if(0x0===_0x9d219d['size'])return;const _0x52e580=await ut['getMany'](_0x289d85,Array['from'](_0x9d219d));for(const _0x3c4740 of _0x52e580)_0x5efbbe['getUser'](_0x3c4740['id'])||_0x5efbbe['addUser'](_0x3c4740);function _0x529e0b(_0x1d9ea0){_0x5efbbe['getUser'](_0x1d9ea0)||_0x9d219d['add'](_0x1d9ea0);}}}function L(_0x19f9ef){return _0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19f9ef['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x111504{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class K extends _0x447871{['_collapseAt'];constructor(_0x2be8fa,_0x224688=0x6){super(_0x2be8fa);const _0x5055fc=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x224688,this['bind']('isHidden')['to'](this,'usersCount',_0x1a0848=>_0x1a0848<_0x224688),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5055fc['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':_0x5055fc['to']('usersCount',_0xbaf484=>'+'+(_0xbaf484-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x447871{['items'];['keystrokes'];constructor(_0x3242a6){super(_0x3242a6);const _0x14f21c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x100592(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x14f21c['if']('hasPopup'),'aria-expanded':_0x14f21c['to']('isExpanded',_0x12b513=>this['hasPopup']&&String(_0x12b513)),'aria-label':_0x14f21c['to']('hasPopup',_0x85fdb5=>T(_0x3242a6,_0x85fdb5?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x14f21c['to']('hasPopup',_0xd37349=>!!_0xd37349&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x14f21c['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x14f21c['to'](_0x11922a=>{const _0x3533ae=_0x11922a,_0x1f24f9=document['querySelector']('.ck-presence-list__dropdown-list'),_0x19a1c4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1f24f9?.['contains'](_0x3533ae['relatedTarget'])||_0x19a1c4?.['contains'](_0x3533ae['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xed07f7,_0x3018f9,_0x346fa5)=>{this['element']&&(_0x346fa5?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 J extends _0x447871{['counterView'];['inlineListView'];constructor(_0x3c1826,_0x125a97=0x6){super(_0x3c1826);const _0x490473=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new K(this['locale'],_0x125a97),this['inlineListView']=new is(_0x3c1826),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xee8ade of this['inlineListView']['items'])_0xee8ade['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',_0x490473['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Q extends _0x447871{['listWrapperView'];constructor(_0x10c63b,_0x16977f){super(_0x10c63b);const _0x45eee6=this['bindTemplate'];this['listWrapperView']=new wt(_0x10c63b,_0x16977f),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':T(_0x10c63b,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45eee6['to'](_0x59ce90=>{const _0x248209=_0x59ce90,_0x182e11=document['querySelector']('.ck-presence-list__list'),_0x3743ba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x182e11?.['contains'](_0x248209['relatedTarget'])||_0x3743ba?.['contains'](_0x248209['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x211604{constructor(_0x1d1235,_0x3a0669){super(_0x1d1235);const _0x378692=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3a0669?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x378692['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x378692['to']('role'),'aria-label':_0x378692['to']('ariaLabel'),'aria-labelledby':_0x378692['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x23a209['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x26afc2=this['element'];_0x26afc2&&(this['_isScrollable']=Math['max'](_0x26afc2['scrollHeight'],_0x26afc2['clientHeight'])>0.8*window['innerHeight']);}}class X extends rt{['userView'];constructor(_0x1e66fa,_0xe0d604,_0x5b784b){super(_0x1e66fa);const _0x956016=this['bindTemplate'];this['userView']=new ct(_0x1e66fa,_0xe0d604);const _0x346d70={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xe0d604['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xe0d604['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe0d604['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5b784b&&(_0x346d70['tag']='button',_0x346d70['on']={'click':_0x956016['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x346d70);}['focus'](){this['element']['focus']();}}class Y extends _0x447871{['userView'];['markerView'];constructor(_0xef4c0f,_0x23f359,_0x255259){super(_0xef4c0f);const _0x1ff55f=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xef4c0f,_0x23f359),this['markerView']=new lt(_0xef4c0f,_0x23f359);const _0x668064=new at(_0xef4c0f);_0x668064['template']['tag']='span',_0x668064['text']=_0x23f359['name'];const _0x4b745a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff55f['to']('isFocusable',_0x4407a4=>!!_0x4407a4&&0x0),'aria-labelledby':_0x668064['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff55f['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff55f['to']('hasTooltip',_0x8912c7=>!_0x8912c7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x668064]};_0x255259&&(_0x4b745a['tag']='button',_0x4b745a['on']={'click':_0x1ff55f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b745a);}}class lt extends _0x447871{constructor(_0x40b71f,_0x2a7fe2){super(_0x40b71f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a7fe2['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const Z={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x49081f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47edb8){super(_0x47edb8),this['context']['config']['define']('presenceList',Z);const _0x3cff97=_0x47edb8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3cff97)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);if(_0x3cff97<0x1)throw new _0x2ba111('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x4c3fca(),this['balloonPanelView']=new _0x3df348(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x19d47a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x19d47a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x478a5f,_0x104dc4)=>{this['_handleUserAdd'](_0x104dc4);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ee1fc,_0x227491)=>{this['_handleUserRemove'](_0x227491);});}['_createView'](){const _0xc9141e=this['context'],_0x2141d4=new J(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2092c9=this['balloonPanelView'];if(!_0x536ad2(_0xc9141e['config']['get']('presenceList.container')))throw new _0x2ba111('presencelist-missing-container',this);return _0x2141d4['counterView']['bind']('usersCount')['to'](this),_0x2141d4['bind']('isCollapsed')['to'](this,'usersCount',_0x3c13f3=>{const {collapseAt:_0x14d910}=_0xc9141e['config']['get']('presenceList'),_0x33370f=_0x3c13f3>=_0x14d910;if(_0x33370f&&!_0x2141d4['inlineListView']['items']['find'](_0x1f264c=>_0x1f264c instanceof K)){const _0x5542e1=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5542e1&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2141d4['inlineListView']['items']['add'](_0x2141d4['counterView']);}return _0x33370f||this['hideDropdown'](),_0x33370f;}),_0x2141d4['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x533a66=>{const _0x5a2e50=_0xc9141e['config']['get']('presenceList'),_0x1c9cd8=new Y(_0xc9141e['locale'],_0x533a66,!!_0x5a2e50['onClick']);return _0x1c9cd8['bind']('hasTooltip')['to'](_0x2141d4,'isCollapsed',_0xd0ba73=>!_0xd0ba73),_0x1c9cd8['bind']('isFocusable')['to'](_0x2141d4,'isCollapsed',_0x5d2b98=>!_0x5d2b98),_0x5a2e50['onClick']&&this['listenTo'](_0x1c9cd8,'execute',()=>{this['view']['isCollapsed']||_0x5a2e50['onClick'](_0x533a66,_0x1c9cd8['element']);}),_0x1c9cd8;}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2141d4['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2141d4['inlineListView']['keystrokes']['set']('Enter',(_0x51650f,_0x573fec)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x573fec());}),_0x2141d4['render'](),_0x2092c9['render'](),_0x358832({'emitter':_0x2141d4,'activator':()=>_0x2092c9['isVisible'],'contextElements':[_0x2092c9['element'],_0x2141d4['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc9141e['config']['get']('presenceList.container')['appendChild'](_0x2141d4['element']),this['_bodyCollection']=new _0x560eda(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2141d4;}['_handleUserAdd'](_0x200828){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x200828['isMe'])return;const _0xa05ac=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa05ac-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x53f384=_0x200828['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x200828,_0x53f384);}['_handleUserRemove'](_0x114648){this['usersCount']--;const {collapseAt:_0x5b518b}=this['context']['config']['get']('presenceList'),_0x250745=this['usersCount']>=_0x5b518b;if(this['currentDisplayedUsers']['get'](_0x114648['id']))this['currentDisplayedUsers']['remove'](_0x114648['id']);else{if(_0x250745&&this['currentDisplayedUsers']['length']+0x1===_0x5b518b-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)<this['usersCount']){for(const _0x2e3fd3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2e3fd3['id'])&&(this['currentDisplayedUsers']['add'](_0x2e3fd3,Math['min'](this['currentDisplayedUsers']['length']-(_0x250745?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x250745?0x1:0x0)===_0x5b518b-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x412126=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Q(this['context']['locale'],!!_0x412126['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x37fe17}=this['presenceDropdownView'];_0x37fe17['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1b7c27=>{if(!_0x412126['displayMe']&&_0x1b7c27['isMe'])return null;const _0xdc184c=new X(this['context']['locale'],_0x1b7c27,!!_0x412126['onClick']);return _0x412126['onClick']&&this['listenTo'](_0xdc184c,'execute',()=>{_0x412126['onClick'](_0x1b7c27,_0xdc184c['element']);}),_0xdc184c;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x37fe17['focus'](),_0x37fe17['checkIfScrollable']();const _0x5490a2=(_0x333a49,_0x8e94e9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x8e94e9();};_0x37fe17['keystrokes']['set']('Esc',_0x5490a2),_0x37fe17['keystrokes']['set']('Shift+Tab',_0x5490a2),_0x37fe17['keystrokes']['set']('Tab',(_0x49d2cd,_0x3ab043)=>{!function(_0x12a3af){const _0x4ad700=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2a4bef=>_0x2a4bef+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a4537=[...document['body']['querySelectorAll'](_0x4ad700)]['filter'](_0x11ddb2=>_0x11ddb2===document['activeElement']||_0x11ddb2['offsetWidth']+_0x11ddb2['offsetHeight']>0x0)['sort']((_0x1f8e56,_0x220d4e)=>(_0x1f8e56['tabIndex']||0x0)-(_0x220d4e['tabIndex']||0x0)),_0x2a471c=_0x2a4537['indexOf'](_0x12a3af),_0x58f36d=_0x2a4537[(_0x2a471c+0x1)%_0x2a4537['length']];_0x58f36d&&_0x58f36d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ab043();}),_0x37fe17['focusTracker']['add'](this['view']['element']),_0x37fe17['focusTracker']['on']('change:isFocused',(_0x3876d3,_0x58574d,_0x4a3aec)=>{_0x4a3aec||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 _0x49081f{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};