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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x130049,Plugin as _0x1c1c75,PendingActions as _0x3e497c,Context as _0x50669c}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x565636,CKEditorError as _0x3433e1,Collection as _0x450339,global as _0x965aaf,version as nt,uid as _0x286086,KeystrokeHandler as _0x1ecd8b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3d2676,View as _0x12ac9c,ListView as _0xf50aa7,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x173b11,clickOutsideHandler as _0x38afdf,BodyCollection as _0x35c9fd}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x326534,History as _0x3222ca,NoOperation as _0x19ea49,InsertOperation as _0x5e6500,MarkerOperation as _0x52ce9c,RootAttributeOperation as _0x37f6e8,transformOperationSets as _0x206da2,OperationFactory as _0x4696bc}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x3de961,User as lt,CommentsService as _0x4ebefe,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x55636d,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4b7b19}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x5c7686}from'es-toolkit/compat';class n extends _0x130049{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3d2676];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x32aa49){super(_0x32aa49),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x565636())();}['init'](){const _0x16b4f8=this['context'],_0x349cb2=_0x16b4f8['plugins']['get']('CloudServices'),_0x1914c1=_0x16b4f8['plugins']['get'](_0x3d2676);if(!_0x349cb2['token'])throw new _0x3433e1('websocketgateway-missing-token',this);if(!_0x349cb2['webSocketUrl'])throw new _0x3433e1('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'](_0x349cb2['token'],_0x349cb2['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2a113c=>{if(this['connection']=_0x2a113c,this['bind']('state')['to'](_0x2a113c,'state',this,'_isBrowserOffline',(_0x456ab5,_0x40468b)=>('connected'!==_0x456ab5&&(this['_shouldPluginsReconnect']=!0x0),_0x40468b||_0x456ab5!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x22915c,_0x4e8479)=>{if('limitExceeded'!==_0x4e8479['code'])throw console['error'](_0x4e8479),new _0x3433e1('cloudservices-init',null,{'originalError':_0x4e8479});_0x1914c1['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'});}),!_0x2a113c['me'])return new Promise(_0x434f53=>_0x2a113c['on']('change:me',_0x434f53));})['catch'](_0x52ee06=>{throw console['error'](_0x52ee06),new _0x3433e1('cloudservices-init',null,{'originalError':_0x52ee06});});}['addToReconnectionStack'](_0xcefb6c){if('function'!=typeof _0xcefb6c['reconnect'])throw new _0x3433e1('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xcefb6c))throw new _0x3433e1('websocketgateway-plugin-already-registered',this,{'name':_0xcefb6c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xcefb6c);}['removeFromReconnectionStack'](_0xfbb070){this['_reconnectionStack']['delete'](_0xfbb070);}['isInReconnectionStack'](_0x3e0ae0){return this['_reconnectionStack']['has'](_0x3e0ae0);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x36275d=>_0x36275d['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x294a54=>{throw console['error'](_0x294a54),new _0x3433e1('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x130049{['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,_0x55636d];}constructor(_0x41d001){super(_0x41d001),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x450339(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x55636d);}['init'](){const _0x345ace=this['context']['plugins']['get'](n);this['listenTo'](_0x345ace,'change:state',(_0x3cd853,_0x261e8f,_0x1ae3b0)=>{if('connected'!==_0x1ae3b0)this['channelSessions']['forEach'](_0x54e59b=>_0x54e59b['clear']()),this['channelConnectedUsers']['forEach'](_0x4a369c=>_0x4a369c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2fb2b0,_0x102084]of this['_registeredSessions'])for(const _0x42c85d of _0x102084)this['_handleSessionAdd'](_0x2fb2b0,_0x42c85d);}}),this['_createUser'](_0x345ace['connection']['me'],!0x0);}['register'](_0x36aa4e,_0x481e21){if(this['_registeredSessions']['has'](_0x36aa4e))throw new _0x3433e1('sessions-register-already-registered',null,{'channelId':_0x36aa4e});this['_registeredSessions']['set'](_0x36aa4e,_0x481e21),this['channelSessions']['set'](_0x36aa4e,new _0x450339()),this['channelConnectedUsers']['set'](_0x36aa4e,new _0x450339()),this['listenTo'](_0x481e21,'add',(_0x46ff02,_0x45e1b1)=>this['_handleSessionAdd'](_0x36aa4e,_0x45e1b1)),this['listenTo'](_0x481e21,'remove',(_0x26cda6,_0xb964ca)=>this['_handleSessionRemove'](_0x36aa4e,_0xb964ca));for(const _0x58010b of _0x481e21)this['_handleSessionAdd'](_0x36aa4e,_0x58010b);}['unregister'](_0x1b389f){if(!this['_registeredSessions']['has'](_0x1b389f))throw new _0x3433e1('sessions-unregister-not-exist',null,{'channelId':_0x1b389f});const _0x54fceb=this['_registeredSessions']['get'](_0x1b389f);this['stopListening'](_0x54fceb);for(const _0x29412f of _0x54fceb)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1b389f,_0x29412f);this['_registeredSessions']['delete'](_0x1b389f),this['channelSessions']['delete'](_0x1b389f),this['channelConnectedUsers']['delete'](_0x1b389f);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x4f59ba){for(const _0xf87bee of this['channelSessions']['values']())for(const _0x21b066 of _0xf87bee)if(_0x21b066['id']===_0x4f59ba)return _0x21b066['user'];}['getUserSessions'](_0x5ef819,_0x1ad260){const _0x2029fb=_0x1ad260?[this['channelSessions']['get'](_0x1ad260)]:this['channelSessions']['values'](),_0x2da084=new Set();for(const _0x3021ff of _0x2029fb)for(const _0x107d92 of _0x3021ff)_0x107d92['user']['id']===_0x5ef819['id']&&_0x2da084['add'](_0x107d92['id']);return _0x2da084;}['getUserRole'](_0x4624b7){for(const _0xc92f88 of this['channelSessions']['values']())for(const _0x3996f8 of _0xc92f88)if(_0x3996f8['user']===_0x4624b7)return _0x3996f8['role'];}['_handleSessionAdd'](_0x173210,_0x1b86fe){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x149c26=_0x1b86fe['user'],_0x29456e=this['_users']['getUser'](_0x149c26['id'])||this['_createUser'](_0x149c26),_0x314670=Object['assign']({},_0x1b86fe,{'user':_0x29456e});this['channelSessions']['get'](_0x173210)['add'](_0x314670);const _0x2488ea=this['channelConnectedUsers']['get'](_0x173210);_0x2488ea['has'](_0x29456e['id'])||_0x2488ea['add'](_0x29456e),this['allConnectedUsers']['has'](_0x29456e['id'])||this['allConnectedUsers']['add'](_0x29456e,_0x29456e['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x173210,{'channelId':_0x173210,'session':_0x314670});}['_handleSessionRemove'](_0x19ed91,_0x29f0e6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x276d23=this['channelConnectedUsers']['get'](_0x19ed91),_0x2046db=_0x29f0e6['user'];_0x2046db['id']&&(this['channelSessions']['get'](_0x19ed91)['remove'](_0x29f0e6['id']),_0x276d23['has'](_0x2046db['id'])&&!this['getUserSessions'](_0x2046db,_0x19ed91)['size']&&_0x276d23['remove'](_0x2046db['id']),this['allConnectedUsers']['get'](_0x2046db['id'])&&!this['getUserSessions'](_0x2046db)['size']&&this['allConnectedUsers']['remove'](_0x2046db['id']));}['_createUser'](_0x38f996,_0x2acef7){const _0x351107=this['_users']['addUser'](_0x38f996);return _0x2acef7&&this['_users']['defineMe'](_0x38f996['id']),_0x351107['orderNumber']=this['_uniqueUsersCount']++,_0x351107;}}class V extends _0x1c1c75{['_domEmitter']=new(_0x565636())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x590866=this['editor'],_0x70117d=_0x590866['plugins']['get'](i);_0x590866['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xb20514,{writer:_0x1d164a})=>function(_0x15ca7c,_0x17198e,_0x6816cc,_0x257165){const _0x44cd1b=_0x15ca7c['markerName']['split'](':')[0x2],_0x4fd019=_0x6816cc['getUserBySessionId'](_0x44cd1b);if(!_0x4fd019||_0x44cd1b===_0x6816cc['mySessionId'])return;if(!_0x257165['model']['schema']['checkChild'](_0x15ca7c['markerRange']['start'],'$text'))return;const _0xf4a205={'class':'ck-user__marker\x20'+_0x4fd019['color']['getMarkerClass'](),'data-name':_0x4fd019['name'],'data-session-id':_0x44cd1b},_0x23e0a5=_0x257165['model']['markers']['get'](_0x15ca7c['markerName']),_0x3571a6=_0x23e0a5['getStart'](),_0x50ecc5=_0x3571a6['nodeAfter'],_0x2d07f4=_0x257165['model']['schema'];if(_0x50ecc5&&_0x2d07f4['isObject'](_0x50ecc5)&&_0x2d07f4['isInline'](_0x50ecc5)&&!_0x257165['model']['markers']['get']('user:range:'+_0x44cd1b)['getRange']()['isCollapsed'])return;const _0x5f2e8f=_0x3571a6['parent'];return _0x257165['model']['schema']['isLimit'](_0x5f2e8f)&&!_0x257165['model']['hasContent'](_0x5f2e8f)&&(_0xf4a205['contenteditable']=!0x1),function(_0x30c3b9,_0x562489,_0x2f9211){const _0x53f63f=_0x30c3b9['createUIElement']('span',_0x562489);return _0x30c3b9['setCustomProperty']('userPositionMarker',!0x0,_0x53f63f),_0x53f63f['render']=function(_0x127645){const _0x42bd9d=this['toDomElement'](_0x127645),_0xfd7ca1=document['createElement']('span');return _0xfd7ca1['classList']['add']('ck-user__marker-tooltip'),_0xfd7ca1['setAttribute']('contenteditable','false'),_0xfd7ca1['setAttribute']('spellcheck','false'),_0xfd7ca1['textContent']=_0x2f9211['name'],_0x42bd9d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xfd7ca1['outerHTML']+'⁠',_0x42bd9d['addEventListener']('mouseenter',()=>{_0x42bd9d['classList']['add']('ck-user__marker_hovered');}),_0x42bd9d['addEventListener']('mouseleave',()=>{_0x42bd9d['classList']['remove']('ck-user__marker_hovered');}),_0x42bd9d;},_0x53f63f['isSimilar']=function(_0x118e9b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x118e9b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x118e9b['getAttribute']('data-session-id'));},_0x53f63f;}(_0x17198e,_0xf4a205,_0x4fd019);}(_0xb20514,_0x1d164a,_0x70117d,_0x590866)}),_0x590866['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x24a144=>function(_0x132593,_0x556f81){const _0x107d67=_0x132593['markerName']['split'](':')[0x2];if(_0x107d67===_0x556f81['mySessionId'])return null;const _0x13a9ba=_0x556f81['getUserBySessionId'](_0x107d67);if(!_0x13a9ba)return{'id':_0x107d67,'classes':[]};return{'id':_0x107d67,'classes':['ck-user__selection',_0x13a9ba['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x107d67},'priority':0x7d0+_0x13a9ba['orderNumber']};}(_0x24a144,_0x70117d)}),function(_0x4ddaf9){const _0x413a28=_0x4ddaf9['model'],_0x47c572=new Map(),_0x1f841f=_0x4ddaf9['plugins']['get'](i);_0x413a28['markers']['on']('update:user:range',(_0x1db112,_0x36a839,_0x2395d8,_0x14d3e2)=>{if(!_0x14d3e2&&_0x47c572['get'](_0x36a839['name']))return _0x47c572['get'](_0x36a839['name'])['detach'](),void _0x47c572['delete'](_0x36a839['name']);const _0x26c4fb=_0x36a839['name']['split'](':')[0x2];if(_0x26c4fb===_0x1f841f['mySessionId'])return;const _0x14a2eb='user:position:'+_0x26c4fb;_0x413a28['markers']['has'](_0x14a2eb)&&_0x4ddaf9['editing']['reconvertMarker'](_0x14a2eb),_0x36a839['on']('change:range',(_0xe08c79,_0x55f153,_0x105286)=>{if('$graveyard'!=_0x55f153['root']['rootName']&&'$graveyard'==_0x36a839['getRange']()['root']['rootName']&&!_0x47c572['has'](_0x36a839['name'])){const _0x43a5ec=_0x413a28['schema']['getNearestSelectionRange'](_0x105286['deletionPosition']);if(_0x43a5ec){const _0x47acc8=_0x326534['fromRange'](_0x43a5ec);_0x47c572['set'](_0x36a839['name'],_0x47acc8),_0x47acc8['on']('change:range',(_0x5ae406,_0xfbc65e,_0x33816f)=>{if('$graveyard'==_0x47acc8['root']['rootName']){const _0x1297dc=_0x413a28['schema']['getNearestSelectionRange'](_0x33816f['deletionPosition']);_0x1297dc?(_0x47acc8['start']=_0x1297dc['start'],_0x47acc8['end']=_0x1297dc['end']):(_0x47c572['delete'](_0x36a839['name']),_0x47acc8['detach']());}});}}});}),_0x413a28['document']['on']('change',()=>{_0x47c572['size']>0x0&&_0x413a28['enqueueChange']({'isUndoable':!0x1},_0x2339d3=>{for(const [_0x14a5c5,_0x3b754c]of _0x47c572)'$graveyard'==_0x413a28['markers']['get'](_0x14a5c5)['getRange']()['root']['rootName']&&(Z(_0x14a5c5['split'](':')[0x2],_0x3b754c['toRange'](),_0x413a28,_0x2339d3),_0x3b754c['detach']());_0x47c572['clear']();});});}(_0x590866),this['_domEmitter']['listenTo'](_0x965aaf['document'],'keydown',(_0x240c87,{key:_0x21f262})=>{'Escape'===_0x21f262&&function(_0x32b86b){_0x32b86b['editing']['view']['change'](_0x1e3739=>{for(const _0x4ade16 of _0x32b86b['model']['markers']){if(!_0x4ade16['name']['startsWith']('user:position'))continue;const _0x23dc55=_0x32b86b['editing']['mapper']['markerNameToElements'](_0x4ade16['name']);if(_0x23dc55){for(const _0x15a0ae of _0x23dc55)_0x1e3739['removeClass']('ck-user__marker_hovered',_0x15a0ae);}}});}(_0x590866);},{'useCapture':!0x0});}['afterInit'](){const _0x3e7eff=this['editor'],_0xaaa745=_0x3e7eff['commands']['get']('undo');_0xaaa745&&_0x3e7eff['model']['on']('applyOperation',(_0x23e2ed,_0x2b921d)=>{const _0x5773ba=_0x2b921d[0x0];if(!_0x5773ba['isDocumentOperation'])return;if('marker'!=_0x5773ba['type']||!_0x5773ba['name']['startsWith']('user:'))return;const _0x4101ca=_0x5773ba['batch'];_0xaaa745['_createdBatches']['has'](_0x4101ca)&&(_0x5773ba['newRange']=_0x5773ba['oldRange']?_0x3e7eff['model']['createRange'](_0x5773ba['oldRange']['start'],_0x5773ba['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x193071=this['editor'],_0x46fdbf=_0x193071['model']['document'],_0x166868=_0x193071['plugins']['get'](i);_0x193071['model']['enqueueChange']({'isUndoable':!0x1},_0x25e2f4=>{const _0x29874c='user:range:'+_0x166868['mySessionId'],_0x4daf91='user:position:'+_0x166868['mySessionId'],_0x4eff8e=_0x193071['model']['markers']['has'](_0x29874c);_0x193071['editing']['view']['hasDomSelection']?Z(_0x166868['mySessionId'],_0x46fdbf['selection']['getFirstRange'](),_0x193071['model'],_0x25e2f4):_0x4eff8e&&(_0x25e2f4['removeMarker'](_0x29874c),_0x25e2f4['removeMarker'](_0x4daf91));});}}function Z(_0x463ad1,_0xd10565,_0x1eacc5,_0xea45b4){const _0x4def12='user:range:'+_0x463ad1,_0x19fc99='user:position:'+_0x463ad1,_0x5e7cfa=_0xd10565['getContainedElement']();let _0x5d8237=_0xd10565['start'];if(_0x5e7cfa&&_0x5e7cfa['is']('element','tableCell')){const _0x446f19=function(_0x4107c8,_0x15ea47){for(const _0x3aca7d of _0x4107c8['getPositions']())if(_0x15ea47['schema']['checkChild'](_0x3aca7d,'$text'))return _0x3aca7d;}(_0xd10565,_0x1eacc5);_0x446f19&&(_0x5d8237=_0x446f19,_0xd10565=_0xea45b4['createRange'](_0x5d8237));}const _0x4d3735=_0xea45b4['createRange'](_0x5d8237);_0x1eacc5['markers']['has'](_0x4def12)?(_0xea45b4['updateMarker'](_0x4def12,{'range':_0xd10565}),_0xea45b4['updateMarker'](_0x19fc99,{'range':_0x4d3735})):(_0xea45b4['addMarker'](_0x4def12,{'range':_0xd10565,'usingOperation':!0x0}),_0xea45b4['addMarker'](_0x19fc99,{'range':_0x4d3735,'usingOperation':!0x0}));}function W(_0x433e20,_0x4b5f91,_0x1c9628){const _0x3c8d26=_0x433e20['t'],t=_0x433e20['t'];switch(_0x4b5f91){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 _0x3c8d26({'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'},_0x1c9628);default:return'';}}let G=0x1;class l extends _0x1c1c75{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3de961)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x3e497c,_0x55636d,_0x3d2676];}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 _0x23b817=this['serverHistory']['getOperations']();for(let _0x33d5a1=_0x23b817['length']-0x1;_0x33d5a1>=0x0;_0x33d5a1--){const _0x4f3014=_0x23b817[_0x33d5a1];if(!this['_disconnectionOperations']['has'](_0x4f3014))return _0x4f3014['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5d7b5f){if(super(_0x5d7b5f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3222ca(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3433e1('collaboration-missing-channelid',this);const _0x2bb824=_0x5d7b5f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x2bb824,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4b7b19(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x1ad305=this['editor'],_0x2bf38a=_0x1ad305['plugins']['get'](_0x55636d),_0x3992b4=_0x1ad305['plugins']['get'](n);this['listenTo'](_0x2bf38a,'getOperationAuthor',(_0x5ccd29,_0x516fb5)=>{const _0x35a671=_0x516fb5[0x0];_0x35a671['_authorId']&&(_0x5ccd29['return']=_0x2bf38a['getUser'](_0x35a671['_authorId']),_0x5ccd29['stop']()),null===_0x35a671['_authorId']&&(_0x5ccd29['return']=null,_0x5ccd29['stop']());},{'priority':'high'}),this['listenTo'](_0x1ad305['model']['document']['selection'],'change:range',(_0x4da2bd,_0x52399e)=>{_0x52399e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1ad305['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1ad305['model']['on']('applyOperation',(_0x2e89de,_0x4a0e6e)=>{const _0x128818=_0x4a0e6e[0x0];_0x128818['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x128818),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3992b4,'state',this,'_hasSynchronizationProblem',(_0x2ec80a,_0x51ba6b)=>'connected'===_0x2ec80a&&!_0x51ba6b),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1ad305['disableReadOnlyMode']('rtc-offline'):_0x1ad305['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1ad305['disableReadOnlyMode']('rtc-offline'):_0x1ad305['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x50b492=this['editor']['plugins']['get'](i),_0x1f3e7a=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x50b492['unregister'](this['_channelId']);const _0xd036c2=await this['_service']['reconnect'](_0x1f3e7a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xd036c2)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3ae8d5=await this['_service']['getConnectedSessions']();_0x50b492['register'](this['_channelId'],_0x3ae8d5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3cb7f){if(function(_0x1315e3){return'404'===_0x1315e3['code'];}(_0x3cb7f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1e58d4){return'409'===_0x1e58d4['code'];}(_0x3cb7f)){const _0xd2e81f=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0xd2e81f);}else{if(!(_0x3cb7f instanceof $))throw _0x3cb7f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x6b4086=this['editor']['plugins']['get'](n),_0xaaec91=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xaaec91['channelSessions']['has'](this['_channelId'])&&_0xaaec91['unregister'](this['_channelId']),_0x6b4086['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x857154){if(this['sessionId']!==_0x857154['sessionId']&&this['_lastSyncedOperationId']!==_0x857154['lastOperationId'])throw new $();return this['sessionId']=_0x857154['sessionId'],this['_handleServerResponse']([],{..._0x857154,'wereChangesApplied':!0x1,'data':_0x857154['data']},'reconnect');}async['_connectService'](_0x2b5299,_0x53e06f=!0x1){const {connection:_0x8d5588}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x8d5588,this['_channelId'])['then'](_0x835b28=>this['_initSessionsHandling'](_0x835b28))['catch'](_0x5c5ba8=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5c5ba8);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0xd12c53,_0x141f44)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x141f44);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x301581=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b5299);this['_isPendingUpdate']=!0x0;const _0x3090c0=await this['_service']['connect'](_0x8d5588,this['_compressOperations'](_0x2b5299),_0x301581);if(this['sessionId']=_0x3090c0['sessionId'],_0x53e06f){if(!_0x3090c0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3090c0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x2b5299,_0x3090c0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3090c0,_0x2b5299);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3caac1=this['editor']['plugins']['get'](i),_0x2f805c=this['editor']['plugins']['get'](V),_0x1508b4=_0x3caac1['channelSessions']['get'](this['_channelId']);_0x1508b4&&_0x1508b4['length']>0x1?_0x2f805c['createUserMarkerOperations']():this['listenTo'](_0x3caac1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3caac1['channelSessions']['get'](this['_channelId'])['length']&&_0x2f805c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xea5a3a,_0x516360,_0x316295,_0x396c88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x516360){const _0xbc6459=this['_decompressOperations'](_0x316295,_0x396c88);await this['_fetchMissingUsers'](_0xbc6459),this['_handleExternalOperations'](_0xbc6459,_0x516360,_0x316295['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x1249d2}=this['editor'];let _0x308ca0;try{_0x308ca0=await this['_service']['getDocumentDetails']();}catch{const _0x1b10b6=W(_0x1249d2,'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'](_0x1b10b6);}const _0x385946=_0x308ca0['currentDocumentSession']||_0x308ca0['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x385946['lastOperationId']){const _0x42b1cc=W(_0x1249d2,'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'](_0x42b1cc);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xef904f){const _0x394633=this['editor']['plugins']['get'](i);this['listenTo'](_0x394633,'sessionAdd:'+this['_channelId'],(_0x3eeb1f,{session:_0x3b347f})=>{if(_0x3b347f['id']===_0x394633['mySessionId']){_0x3eeb1f['off']();const _0x3a6325=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x297691=_0x3b347f['permissions'];_0x3a6325&&_0x3a6325['isEnabled']&&(_0x297691=_0x297691['filter'](_0x2a1310=>'document:write'!==_0x2a1310)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x297691,this['_channelId']);}}),_0x394633['register'](this['_channelId'],_0xef904f);}['_initThrowingOnDataSet'](){const _0xd06918=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5c93fe)=>{if(!_0x5c93fe[_0x5c93fe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3433e1('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xd06918['apply'](this['editor']['data'],_0x5c93fe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2e91e9,[_0x104eaf])=>{if(this['_document']['version'])throw new _0x3433e1('realtimecollaborationclient-init-document-already-initialized',this);_0x2e91e9['stop'](),this['_setPendingAction']();const _0x2c8680=this['editor']['config']['get']('rootsAttributes'),_0x5c1880=this['_getOperationsFromInitData'](_0x104eaf,_0x2c8680);0x0==_0x5c1880['length']&&_0x5c1880['push'](new _0x19ea49(0x0)),_0x2e91e9['return']=this['_connectService'](_0x5c1880)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2f5471=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2f5471))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2ac8af,[_0x43b239,_0x260831])=>{_0x2ac8af['stop']();const _0x287ff2=this['editor']['model']['document']['getRoot'](_0x43b239);if(!this['_knownRootNames']['has'](_0x43b239)){const _0xe43983=_0x260831&&_0x260831['data']?_0x260831['data']:'',_0x23075b=_0x260831&&_0x260831['attributes']?_0x260831['attributes']:{};await this['_loadRoot'](_0x43b239,_0xe43983,_0x23075b);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x287ff2['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x287ff2);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x53796e){const _0x593747=this['editor']['plugins']['get'](_0x55636d),{connection:_0x15c1b7}=this['editor']['plugins']['get'](n),_0x536df0=new Set();for(const _0x307360 of _0x53796e){const _0x3ba262=_0x307360['_authorId'];_0x3ba262&&!_0x593747['getUser'](_0x3ba262)&&_0x536df0['add'](_0x3ba262);}if(0x0===_0x536df0['size'])return;const _0x232c7e=await lt['getMany'](_0x15c1b7,Array['from'](_0x536df0));for(const _0x4e05c4 of _0x232c7e)_0x593747['getUser'](_0x4e05c4['id'])||_0x593747['addUser'](_0x4e05c4);}['_getOperationsFromInitData'](_0x2b0d81,_0x5a2ba6={}){const _0x2882e9=this['editor']['model'],_0x51eb05=[];let _0x40b951=0x0;const _0x4a4ce9='string'==typeof _0x2b0d81?{'main':_0x2b0d81}:_0x2b0d81;for(const _0x4d4d72 of Object['keys'](_0x4a4ce9)){if(!this['_document']['roots']['has'](_0x4d4d72))throw new _0x3433e1('realtimecollaborationclient-init-non-existent-root',this);const _0x1922e1=this['editor']['data']['parse'](_0x4a4ce9[_0x4d4d72]),_0x1a03be=this['_document']['getRoot'](_0x4d4d72),_0x570b0f=new _0x5e6500(_0x2882e9['createPositionAt'](_0x1a03be,0x0),_0x1922e1,_0x40b951++);_0x51eb05['push'](_0x570b0f);for(const [_0xfb71ee,_0x16b4ee]of _0x1922e1['markers']){const _0x28aecf=_0x2882e9['createRange'](_0x2882e9['createPositionFromPath'](_0x1a03be,_0x16b4ee['start']['path']['slice']()),_0x2882e9['createPositionFromPath'](_0x1a03be,_0x16b4ee['end']['path']['slice']())),_0x1517ae=new _0x52ce9c(_0xfb71ee,null,_0x28aecf,_0x2882e9['markers'],!0x0,_0x40b951++);_0x51eb05['push'](_0x1517ae);}}if(_0x5a2ba6)for(const [_0x42ee3c,_0x5706a7]of Object['entries'](_0x5a2ba6)){const _0x122bdb=_0x2882e9['document']['getRoot'](_0x42ee3c);if(!_0x122bdb)throw new _0x3433e1('multi-root-editor-root-attributes-no-root',null);for(const [_0x453a00,_0x35bad0]of Object['entries'](_0x5706a7))if(null!==_0x35bad0){const _0xd78ea1=new _0x37f6e8(_0x122bdb,_0x453a00,null,_0x35bad0,_0x40b951++);_0x51eb05['push'](_0xd78ea1);}}return _0x51eb05;}async['_loadRoot'](_0x2c59cb,_0x3bb5e4,_0x58b631){this['_getOperationsFromInitData']({[_0x2c59cb]:_0x3bb5e4},{[_0x2c59cb]:_0x58b631})['forEach']((_0x11d65a,_0x1c5011)=>{_0x11d65a['baseVersion']=this['_document']['version']+_0x1c5011,_0x11d65a['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x11d65a);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1b8776,_0x1ab60b){let _0x2fd24e;this['_offset']=_0x1b8776['offset'];const _0x1dd244=_0x1b8776['wereChangesApplied']&&!_0x1b8776['initData'],_0x18f445=_0x1dd244?0x0:_0x1b8776['data']['baseVersion'];if(_0x1ab60b['forEach'](_0x48a8be=>{_0x48a8be['_isInit']=!0x0,_0x48a8be['createdAt']=_0x1b8776['sessionCreatedAt'],_0x48a8be['_authorId']=null;}),_0x1dd244)_0x2fd24e=_0x1ab60b,this['_applyOperationsSet'](_0x2fd24e,_0x1dd244);else{if(_0x1b8776['initData']){const _0x1b99df=this['_getOperationsFromInitData'](_0x1b8776['initData']);this['_document']['history']['version']=-_0x1b99df['length'],_0x1b99df['forEach'](_0x4a1459=>{_0x4a1459['baseVersion']-=_0x1b99df['length'],_0x4a1459['createdAt']=_0x1b8776['sessionCreatedAt'],_0x4a1459['_isInit']=!0x0,_0x4a1459['_authorId']=null;}),this['_applyOperationsSet'](_0x1b99df,!0x0),this['serverHistory']['version']=-_0x1b99df['length']+this['_offset'],this['_updateServerHistory'](_0x1b99df);}this['_document']['history']['version']=_0x18f445,_0x2fd24e=this['_decompressOperations'](_0x1b8776['data'],_0x1b8776['metadata']),await this['_fetchMissingUsers'](_0x2fd24e),this['_applyOperationsSet'](_0x2fd24e,_0x1dd244);}_0x1b8776['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2fd24e,_0x1b8776['lastOperationId']),this['_lastSyncedOperationId']=_0x1b8776['lastOperationId']),this['serverHistory']['version']=_0x18f445+this['_offset'],this['_updateServerHistory'](_0x2fd24e),_0x1ab60b['filter'](_0x4a1b55=>{const _0x4c09c2=this['_getAffectedRoot'](_0x4a1b55);return _0x4c09c2&&!this['_knownRootNames']['has'](_0x4c09c2);})['forEach']((_0x31f935,_0x199641)=>{_0x31f935['baseVersion']=this['_document']['version']+_0x199641,this['_saveOperationInBuffer'](_0x31f935);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x499a43,_0x51ec8b){const _0x515acf=_0x51ec8b&&_0x51ec8b['message'];if(_0x515acf&&_0x515acf['startsWith']('realtimecollaborationclient'))throw _0x51ec8b;const _0x1b695a=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x1b695a['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3433e1(_0x499a43,this['editor'],_0x515acf?{'originalError':_0x515acf}:void 0x0);}['_saveOperationInBuffer'](_0x4e8d4f){this['_knownOperations']['has'](_0x4e8d4f)||(this['_knownOperations']['add'](_0x4e8d4f),this['_bufferedOperations']['push'](_0x4e8d4f),this['_pendingAction']||'marker'==_0x4e8d4f['type']&&!_0x4e8d4f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x408d7c=!0x1){!_0x408d7c&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1929ee=>{_0x1929ee&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5707ac=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xe2fefd){return _0xe2fefd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xe2fefd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xe2fefd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5707ac)||this['_crash'](_0x5707ac['message'],_0x5707ac);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x44209b=>{this['on']('change:_isPendingUpdate',()=>{_0x44209b();});});}async['_sendBufferedOperations'](){const _0x167f84=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x167f84['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xc7429c=[...this['_bufferedOperations']];for(const _0x1343c6 of _0xc7429c)_0x1343c6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1343c6);const _0x36ed45=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xc7429c),_0x58e826=G++,_0x481053=this['_compressOperations'](_0xc7429c),_0x162184=await this['_service']['sendOperations'](_0x481053,_0x481053['baseVersion'],_0x36ed45);try{return await this['_handleServerResponse'](_0xc7429c,_0x162184,_0x58e826);}catch(_0x28889d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x28889d);}}async['_handleServerResponse'](_0x18fd2a,_0x26e9b5,_0x3c4d8b){if('error'in _0x26e9b5)throw _0x26e9b5['error'];let _0x11432d=!0x1;if(_0x26e9b5['wereChangesApplied']){_0x26e9b5['lastOperationId']&&(this['_lastSyncedOperationId']=_0x26e9b5['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x414a92=>!_0x18fd2a['includes'](_0x414a92));for(const _0x1fba2c of _0x18fd2a)_0x1fba2c['createdAt']='lastOperationAcceptedAt'in _0x26e9b5&&_0x26e9b5['lastOperationAcceptedAt']||void 0x0;K(_0x18fd2a,_0x26e9b5['version']-_0x18fd2a['length']),this['_updateServerHistory'](_0x18fd2a);const _0x4bf625=_0x18fd2a['filter'](_0x548a2a=>{if(!_0x548a2a['_isInit'])return!0x1;const _0x1d01ee=this['_getAffectedRoot'](_0x548a2a);return _0x1d01ee&&!this['_knownRootNames']['has'](_0x1d01ee);});K(_0x4bf625,this['_document']['version']),this['_applyOperationsSet'](_0x4bf625),_0x11432d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x252734=this['_decompressOperations'](_0x26e9b5['data'],_0x26e9b5['metadata'])['filter'](_0x145440=>_0x145440['baseVersion']>=this['_lastServerVersion']);_0x252734['forEach'](_0x1db7f9=>this['_addKnownRoot'](_0x1db7f9)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2ef853=>!_0x2ef853['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2ef853))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x252734),_0x11432d=this['_handleExternalOperations'](_0x252734,_0x26e9b5['version'],_0x26e9b5['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x11432d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x173406,_0x23d7c5,_0x411656){try{const _0x568862={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x159655,operationsB:_0x5864f7,originalOperations:_0xd6a45a}=_0x206da2(_0x173406,this['_bufferedOperations'],_0x568862);K(_0x159655,this['_document']['version']),K(_0x5864f7,_0x23d7c5);for(const _0x30a787 of _0x159655){const _0x59e0bd=_0xd6a45a['get'](_0x30a787);_0x30a787['_authorId']=_0x59e0bd?_0x59e0bd['_authorId']:null;}_0x411656&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x173406,_0x411656),this['_lastSyncedOperationId']=_0x411656),this['_bufferedOperations']=[..._0x5864f7],this['_applyOperationsSet'](_0x159655),this['_updateServerHistory'](_0x173406);}catch(_0xfbfd51){return console['error'](_0xfbfd51),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2b8e4c,_0x5e06b7=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x27eefe=>{for(const _0x274879 of _0x2b8e4c)this['_knownOperations']['add'](_0x274879),this['_addKnownRoot'](_0x274879),_0x27eefe['batch']['addOperation'](_0x274879),this['editor']['model']['applyOperation'](_0x274879);});}['_addKnownRoot'](_0x8b9f21){const _0x2dcf58=this['_getAffectedRoot'](_0x8b9f21);_0x2dcf58&&this['_knownRootNames']['add'](_0x2dcf58);}['_getAffectedRoot'](_0xef841e){let _0x44c06e,_0x22044a;switch(_0xef841e['type']){case'insert':_0x44c06e=_0xef841e['position']['root'];break;case'marker':if(_0x22044a=_0xef841e['newRange'],!_0x22044a)return null;_0x44c06e=_0x22044a['root'];break;case'addRootAttribute':_0x44c06e=_0xef841e['root'];break;case'addRoot':_0x44c06e=_0xef841e['affectedSelectable'];break;case'move':_0x44c06e=_0xef841e['targetPosition']['root'];break;default:return null;}return _0x44c06e['rootName'];}['_updateServerHistory'](_0x63bdc0){_0x63bdc0['forEach'](_0x226e7c=>{const _0x268f83=_0x226e7c['clone']();_0x268f83['_authorId']=_0x226e7c['_authorId'],_0x268f83['_isInit']=!!_0x226e7c['_isInit'],_0x268f83['createdAt']=_0x226e7c['createdAt'],_0x268f83['baseVersion']+=this['_offset'],_0x226e7c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x268f83),this['serverHistory']['addOperation'](_0x268f83);});}['_handleReconnectionError'](_0x4e618f){const _0x483aec=this['editor']['plugins']['get']('Notification'),_0x4f7486=this['editor']['locale'];_0x4e618f||(_0x4e618f=W(_0x4f7486,'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.')),_0x483aec['showWarning'](_0x4e618f,{'title':W(_0x4f7486,'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'](_0x3e497c)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3e497c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4559de){const _0x4acf58=_0x4559de['map'](_0x31da56=>_0x31da56['toJSON']());return this['_compressor']['compress'](_0x4acf58);}['_decompressOperations'](_0x37e85c,_0x1ea0e5){return this['_compressor']['decompress'](_0x37e85c)['map']((_0x145f3a,_0x9c3a0a)=>{const _0x45d9c1='init'==_0x1ea0e5[_0x9c3a0a]['type'];if('InsertOperation'==_0x145f3a['__className']){const _0x37394c=_0x145f3a['position']['root'];!this['_document']['getRoot'](_0x37394c)&&(this['_document']['createRoot']('$root',_0x37394c)['_isAttached']=!0x1);}const _0x1b31df=_0x4696bc['fromJSON'](_0x145f3a,this['_document']);return _0x1b31df['wasUndone']=_0x145f3a['wasUndone'],_0x1b31df['_isInit']=_0x45d9c1,_0x1b31df['_authorId']=_0x45d9c1?null:_0x1ea0e5[_0x9c3a0a]['userId'],_0x1b31df['_isDisconnection']='cs:removeUser'===_0x1ea0e5[_0x9c3a0a]['type'],_0x1b31df['createdAt']=_0x1ea0e5[_0x9c3a0a]['createdAt'],_0x1b31df;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x513cef=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x513cef&&_0x513cef['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x1f38fc,_0x37b95a){for(const _0x3c6ab5 of _0x1f38fc)_0x3c6ab5['baseVersion']=_0x37b95a++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x1c4879){this['_ignoredOperations']=_0x1c4879,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x342e2f){let _0x43f882=_0x342e2f['length'];for(;_0x43f882--;){const _0x10d8e1=_0x342e2f[_0x43f882];if(!this['_ignoredOperations']['has'](_0x10d8e1)){if(!this['_operationToId']['has'](_0x10d8e1)){const _0x2727c4=_0x286086()['slice'](0x1,0x12);this['_operationToId']['set'](_0x10d8e1,_0x2727c4);}return this['_operationToId']['get'](_0x10d8e1);}}}['setIdForTheLastOperation'](_0x381d5f,_0x160e67){if(!_0x160e67)return;let _0x26f62a=_0x381d5f['length'];for(;_0x26f62a--;){const _0x4abd28=_0x381d5f[_0x26f62a];this['_ignoredOperations']['has'](_0x4abd28)||this['_operationToId']['set'](_0x4abd28,_0x160e67);}}}class a extends _0x1c1c75{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x130049{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x4ebefe)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x55636d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4788bf){super(_0x4788bf),this['_services']=new Map();}async['init'](){const _0x4eeb30=this['context'],_0x3077a2=_0x4eeb30['plugins']['get']('CommentsRepository');if(_0x4eeb30['plugins']['get'](n)['addToReconnectionStack'](this),_0x3077a2['adapter']={'addCommentThread':async({channelId:_0x38a342,threadId:_0x132d27,comments:_0x594f45,resolvedAt:_0x389244,resolvedBy:_0x1be5ac,context:_0x791e63,attributes:_0x5e507a})=>{const _0x35719d=await this['_getService'](_0x38a342)['addCommentThread']({'commentThreadId':_0x132d27,'comments':_0x594f45['map'](_0x1cc590=>function(_0x154395,_0x17663b,_0x2b1ca3){return{'commentThreadId':_0x2b1ca3,'commentId':_0x154395['commentId'],'userId':_0x154395['authorId'],'content':_0x154395['content'],'documentId':_0x17663b,'createdAt':_0x154395['createdAt'],'attributes':_0x154395['attributes']||{}};}(_0x1cc590,_0x38a342,_0x132d27)),'resolvedAt':_0x389244,'resolvedBy':_0x1be5ac,'context':_0x791e63,'attributes':_0x5e507a})['catch'](dt);return{'threadId':_0x35719d['commentThreadId'],'comments':_0x35719d['comments']};},'getCommentThread':async({channelId:_0x27707c,threadId:_0x2017ca})=>{const _0x4862d1=await this['_getService'](_0x27707c)['getCommentThread'](_0x2017ca)['catch'](dt);return _0x4862d1['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4862d1]),{'threadId':_0x4862d1['commentThreadId'],'comments':_0x4862d1['comments']['map'](p),'context':_0x4862d1['context'],'resolvedAt':_0x4862d1['resolvedAt'],'resolvedBy':_0x4862d1['resolvedBy'],'attributes':_0x4862d1['attributes']||{}});},'updateCommentThread':async({channelId:_0x516bf7,threadId:_0x4005cd,context:_0x2e3cca,unlinkedAt:_0x246a01,attributes:_0x1fdc63})=>this['_getService'](_0x516bf7)['updateCommentThread']({'commentThreadId':_0x4005cd,'context':_0x2e3cca,'attributes':_0x1fdc63,'unlinkedAt':_0x246a01})['catch'](v)['catch'](dt),'resolveCommentThread':async({channelId:_0xd13d36,threadId:_0x193e5a})=>{const _0xcf7b5b=await this['_getService'](_0xd13d36)['resolveCommentThread'](_0x193e5a)['catch'](v)['catch'](dt);return{'threadId':_0xcf7b5b['commentThreadId'],'resolvedAt':_0xcf7b5b['resolvedAt'],'resolvedBy':_0xcf7b5b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x107d73,threadId:_0x77758b})=>this['_getService'](_0x107d73)['reopenCommentThread'](_0x77758b)['catch'](v)['catch'](dt),'removeCommentThread':({channelId:_0x25fe0a,threadId:_0x544142})=>this['_getService'](_0x25fe0a)['removeCommentThread'](_0x544142)['catch'](v)['catch'](dt),'addComment':({channelId:_0x573d7a,threadId:_0x29225e,commentId:_0x1b1cc0,content:_0x1cf35d,attributes:_0x1b24d9})=>this['_getService'](_0x573d7a)['addComment'](_0x29225e,_0x1b1cc0,_0x1cf35d,_0x1b24d9)['catch'](dt),'updateComment':({channelId:_0x31d6e5,threadId:_0x19bf12,commentId:_0x3e8073,content:_0x5ee631,attributes:_0x236b86})=>this['_getService'](_0x31d6e5)['updateComment'](_0x19bf12,_0x3e8073,_0x5ee631,_0x236b86)['catch'](v)['catch'](dt),'removeComment':({channelId:_0x4ce298,threadId:_0x2021fa,commentId:_0x25972e})=>this['_getService'](_0x4ce298)['removeComment'](_0x2021fa,_0x25972e)['catch'](v)['catch'](dt)},_0x4eeb30 instanceof _0x50669c){const _0x502fbd=_0x4eeb30['config']['get']('collaboration.channelId'),_0x2aec19=_0x4eeb30['plugins']['get'](i);await this['_setUpService'](_0x502fbd);const _0x160a76=await this['_services']['get'](_0x502fbd)['getConnectedSessions']();this['listenTo'](_0x2aec19,'sessionAdd:'+_0x502fbd,(_0x499f14,{session:_0x4d7c09})=>{_0x4d7c09['id']===_0x2aec19['mySessionId']&&(_0x499f14['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4d7c09['permissions'],_0x502fbd));}),_0x2aec19['register'](_0x502fbd,_0x160a76);}}async['_setUpService'](_0x48ba0f){if(this['_services']['has'](_0x48ba0f))throw new _0x3433e1('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x48ba0f});const _0x34d707=this['context']['plugins']['get']('CommentsRepository'),_0x23b7a3=new s['CommentsService'](_0x48ba0f);this['_services']['set'](_0x48ba0f,_0x23b7a3),this['listenTo'](_0x23b7a3,'commentThreadAdded',(_0x4eb9cc,_0xfe510e)=>{const {commentThreadId:_0x28e4fb,documentId:_0x11516d,context:_0x5a080c,attributes:_0x32027c,resolvedAt:_0x2d2062,resolvedBy:_0x26b6e0,comments:_0x8424c8}=_0xfe510e;_0x34d707['getCommentThread'](_0x28e4fb)||_0x34d707['addCommentThread']({'threadId':_0x28e4fb,'channelId':_0x11516d,'comments':_0x8424c8?_0x8424c8['map'](p):[],'context':_0x5a080c,'attributes':_0x32027c,'resolvedAt':_0x2d2062,'resolvedBy':_0x26b6e0,'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentThreadUpdated',(_0x2cfdbd,{commentThreadId:_0x1bb7fd,documentId:_0x55de9f,context:_0x351736,unlinkedAt:_0xf94779,attributes:_0x22b679})=>{_0x34d707['getCommentThread'](_0x1bb7fd)&&_0x34d707['updateCommentThread']({'threadId':_0x1bb7fd,'channelId':_0x55de9f,'context':_0x351736,'unlinkedAt':_0xf94779,'attributes':_0x22b679,'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentThreadResolved',(_0x4ea5cf,{commentThreadId:_0x5e79c6,resolvedBy:_0x15ea16,resolvedAt:_0x5de820})=>{const _0x4d98b6=_0x34d707['getCommentThread'](_0x5e79c6);_0x4d98b6&&_0x4d98b6['resolve']({'resolvedBy':_0x15ea16,'resolvedAt':_0x5de820,'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentThreadReopened',(_0x4ae834,{commentThreadId:_0x340f38})=>{const _0x36d466=_0x34d707['getCommentThread'](_0x340f38);_0x36d466&&_0x36d466['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentThreadRemoved',(_0x34a06f,{commentThreadId:_0x255bc4})=>{const _0x635096=_0x34d707['getCommentThread'](_0x255bc4);_0x635096&&_0x635096['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentAdded',(_0x2eb8b9,_0x3423b2)=>{const _0x1d76ff=_0x3423b2['commentThreadId'],_0x288052=_0x34d707['getCommentThread'](_0x1d76ff);_0x288052&&_0x288052['addComment']({...p(_0x3423b2),'isFromAdapter':!0x0});}),this['listenTo'](_0x23b7a3,'commentUpdated',(_0x2581c9,{commentThreadId:_0x537a59,commentId:_0x211191,content:_0x100b59,attributes:_0x1a1f15})=>{const _0x3672ac=_0x34d707['getCommentThread'](_0x537a59);if(_0x3672ac){const _0x5711dc=_0x3672ac['getComment'](_0x211191);_0x5711dc&&_0x5711dc['update']({'content':_0x100b59,'attributes':_0x1a1f15,'isFromAdapter':!0x0});}}),this['listenTo'](_0x23b7a3,'commentRemoved',(_0x1d20a8,{commentThreadId:_0x25e9b3,commentId:_0x3fc748})=>{const _0x16624f=_0x34d707['getCommentThread'](_0x25e9b3);if(_0x16624f){const _0x38f83d=_0x16624f['getComment'](_0x3fc748);_0x38f83d&&_0x38f83d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x48ba0f);}['destroy'](){if(this['context']instanceof _0x50669c){const _0x380d16=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x380d16);}}['_terminateService'](_0x295db3){if(!this['_services']['has'](_0x295db3))throw new _0x3433e1('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x295db3});this['_getService'](_0x295db3)['disconnect'](),this['_services']['delete'](_0x295db3);}async['reconnect'](){for(const _0x274acf of this['_services']['keys']())await this['_connectService'](_0x274acf);if(this['context']instanceof _0x50669c){const _0x3626c6=this['context']['config']['get']('collaboration.channelId'),_0x3750bb=this['context']['plugins']['get'](i);_0x3750bb['unregister'](_0x3626c6);const _0x510808=await this['_services']['get'](_0x3626c6)['getConnectedSessions']();_0x3750bb['register'](_0x3626c6,_0x510808);}}async['_connectService'](_0x39129b){const {connection:_0x5c96aa}=this['context']['plugins']['get'](n),_0x5e4a8c=this['context']['plugins']['get']('CommentsRepository'),_0x55cc59=this['_services']['get'](_0x39129b),_0x3759b3=await _0x55cc59['connect'](_0x5c96aa);await this['_fetchMissingUsersForThreads'](_0x3759b3);const _0x150abd=new Set(Array['from'](_0x5e4a8c['getCommentThreads']({'channelId':_0x39129b}),_0x1e17d9=>_0x1e17d9['id']));for(const _0xa000fb of _0x3759b3)_0xa000fb['deletedAt']||_0x150abd['delete'](_0xa000fb['commentThreadId']);for(const _0x851f15 of _0x150abd)_0x5e4a8c['getCommentThread'](_0x851f15)['remove']({'isFromAdapter':!0x0});for(const _0x111ed7 of _0x3759b3){let _0x20c3a3=_0x5e4a8c['getCommentThread'](_0x111ed7['commentThreadId']);const {commentThreadId:_0x598fd5,context:_0x54a038,attributes:_0x24d8cc,resolvedBy:_0x57c195,resolvedAt:_0x443f5d,unlinkedAt:_0x12d7c0,deletedAt:_0x3653b4}=_0x111ed7;if(_0x3653b4)continue;_0x20c3a3||(_0x20c3a3=_0x5e4a8c['addCommentThread']({'channelId':_0x39129b,'threadId':_0x598fd5,'context':_0x54a038,'attributes':_0x24d8cc||{},'resolvedBy':_0x57c195,'resolvedAt':_0x443f5d,'unlinkedAt':_0x12d7c0,'isFromAdapter':!0x0}));const _0x46213a=new Set(Array['from'](_0x20c3a3['comments'],_0x16d747=>_0x16d747['id']));for(const _0x5c1117 of _0x111ed7['comments'])_0x46213a['delete'](_0x5c1117['commentId']);for(const _0x44a8f6 of _0x46213a)_0x20c3a3['getComment'](_0x44a8f6)['remove']({'isFromAdapter':!0x0});for(const _0x53b737 of _0x111ed7['comments']){const _0x495dbe=_0x20c3a3['getComment'](_0x53b737['commentId']);_0x495dbe?_0x495dbe['content']!==_0x53b737['content']&&_0x495dbe['update']({'content':_0x53b737['content'],'isFromAdapter':!0x0}):_0x20c3a3['addComment'](Object['assign'](p(_0x53b737),{'isFromAdapter':!0x0}));}}}['_getService'](_0xbe9c9d){if(!this['_services']['has'](_0xbe9c9d))throw new _0x3433e1('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xbe9c9d});return this['_services']['get'](_0xbe9c9d);}async['_fetchMissingUsersForThreads'](_0x4e8d4d){const _0x19d742=this['context']['plugins']['get'](_0x55636d),{connection:_0x1e2aab}=this['context']['plugins']['get'](n),_0x2b5065=new Set();for(const {resolvedBy:_0x268fb3,comments:_0x10d631}of _0x4e8d4d){_0x268fb3&&!_0x19d742['getUser'](_0x268fb3)&&_0x2b5065['add'](_0x268fb3);for(const {userId:_0x516ca8}of _0x10d631)_0x19d742['getUser'](_0x516ca8)||_0x2b5065['add'](_0x516ca8);}if(0x0===_0x2b5065['size'])return;const _0x53d64d=await lt['getMany'](_0x1e2aab,Array['from'](_0x2b5065));for(const _0x32513d of _0x53d64d)_0x19d742['getUser'](_0x32513d['id'])||_0x19d742['addUser'](_0x32513d);}}async function v(_0x3b5822){if('404'!==_0x3b5822['code'])throw _0x3b5822;}function dt(_0x4572c0){if((_0x5104f5=_0x4572c0)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5104f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5104f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5104f5;throw _0x4572c0;}function p(_0x440057){return{'threadId':_0x440057['commentThreadId'],'commentId':_0x440057['commentId'],'content':_0x440057['content'],'createdAt':_0x440057['createdAt'],'authorId':_0x440057['userId'],'attributes':_0x440057['attributes']||{}};}class m extends _0x1c1c75{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5f2a72){super(_0x5f2a72);const _0x2053f2=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x2053f2);}['init'](){const _0x3acb74=this['editor']['plugins']['get'](n),_0x5a66a1=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5a66a1['adapter']={'getSuggestion':async _0x4aaea0=>{await this['_waitForServiceReady']();const _0xa73cfb=await this['_trackChangesService']['get'](_0x4aaea0)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0xa73cfb]),_0xa73cfb;},'addSuggestion':async({id:_0x1d76d2,type:_0x1aab28,data:_0x170bed,originalSuggestionId:_0x47107f,attributes:_0x30acaa})=>{await this['_waitForServiceReady']();const _0xe7cb88={'id':_0x1d76d2,'type':_0x1aab28,'data':_0x170bed,'originalSuggestionId':_0x47107f,'attributes':_0x30acaa},_0x5697c6=await this['_trackChangesService']['add'](_0x1d76d2,_0x1aab28,_0x170bed,_0x47107f,_0x30acaa)['catch'](_0xcec085=>{if(ut(_0xcec085))return new Promise(_0x3edfd8=>{this['_bufferedRequests']['set'](_0x1d76d2,{'resolve':_0x3edfd8,'suggestionData':_0xe7cb88});});throw _0xcec085;});return this['_bufferedRequests']['delete'](_0x1d76d2),_0x5697c6;},'updateSuggestion':async(_0x4e1ea2,_0x27ad4e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x27ad4e['state'])return this['_trackChangesService']['update'](_0x4e1ea2,_0x27ad4e)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x13e9ea,_0x1b05c1)=>{_0x5a66a1['hasSuggestion'](_0x1b05c1['id'])&&(_0x5a66a1['getSuggestion'](_0x1b05c1['id'])['attributes']=_0x1b05c1['attributes']);}),this['_trackChangesService']['connect'](_0x3acb74['connection'])['then'](_0x358eee=>(_0x3acb74['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x358eee)['then'](()=>{for(const _0x48ae86 of _0x358eee){_0x5a66a1['addSuggestionData'](_0x48ae86)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3d4abc=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x187732}=this['editor']['plugins']['get'](n),_0x3a8c59=await this['_trackChangesService']['connect'](_0x187732);await this['_fetchMissingUsersForThreads'](_0x3a8c59);for(const {suggestionData:_0x2a4c16,resolve:_0x584673}of this['_bufferedRequests']['values']()){let _0x236131=_0x3a8c59['find'](_0x94292d=>_0x94292d['id']===_0x2a4c16['id']);_0x236131||(_0x236131=await this['_trackChangesService']['add'](_0x2a4c16['id'],_0x2a4c16['type'],_0x2a4c16['data'],_0x2a4c16['originalSuggestionId'])),_0x584673(_0x236131);}for(const _0x5697e4 of _0x3a8c59)_0x3d4abc['hasSuggestion'](_0x5697e4['id'])||_0x3d4abc['addSuggestionData'](_0x5697e4);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x37832e=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1e27d0=>{_0x1e27d0['off'](),_0x37832e();});});}async['_fetchMissingUsersForThreads'](_0x1f10f9){const _0x1c9cd6=this['editor']['plugins']['get'](_0x55636d),{connection:_0x5b7cfe}=this['editor']['plugins']['get'](n),_0x53b173=new Set();for(const {authorId:_0x104f77}of _0x1f10f9)_0x1c9cd6['getUser'](_0x104f77)||_0x53b173['add'](_0x104f77);if(0x0===_0x53b173['size'])return;const _0x5e04f3=await lt['getMany'](_0x5b7cfe,Array['from'](_0x53b173));for(const _0xc5ce59 of _0x5e04f3)_0x1c9cd6['getUser'](_0xc5ce59['id'])||_0x1c9cd6['addUser'](_0xc5ce59);}}function A(_0x517cfb){if(ut(_0x517cfb))return new Promise(()=>{});throw _0x517cfb;}function ut(_0x1122a3){return _0x1122a3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1122a3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1c1c75{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 _0x4b26fc=this['editor']['plugins']['get'](n),_0x55d7be=this['editor']['plugins']['get']('CommentsEditing'),_0x42b76d=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4b26fc,'change:state',(_0x5a7752,_0xd6f15e,_0x490eeb)=>{_0x55d7be['isThreadsLoadingPaused']='connected'!==_0x490eeb;});}),this['listenTo'](_0x4b26fc,'change:state',(_0x4a0e84,_0x2e81df,_0x56ac5b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x56ac5b);}),_0x42b76d['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x1c1c75{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 _0x1c1c75{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x55636d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x107335){super(_0x107335);const _0xec8672=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xec8672);}async['init'](){const _0x35e612=this['editor']['plugins']['get'](l),_0x1351f6=_0x35e612['serverHistory'],_0x4050f6=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1351f6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x35e612['sessionId']});const _0x52f877=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1b81c3=await tt['isBundleUploaded'](_0x4050f6['connection'],_0x52f877);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x583588})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x583588)),'updateRevisions':async _0x16bb82=>{await this['_waitForServiceReady']();const _0x1c4193=this['_revisionTracker']['currentRevision'];if(_0x1b81c3&&0x1===_0x16bb82['length']&&_0x16bb82[0x0]['id']===_0x1c4193['id'])return _0x16bb82;for(const _0x5eae18 of _0x16bb82)_0x5eae18['id']===_0x1c4193['id']&&(_0x5eae18['isEmptyCurrent']=_0x5eae18['fromVersion']===_0x5eae18['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x16bb82,this['_lastRequestId'])['then'](_0x548af9=>(this['_lastRequestId']=_0x548af9,_0x16bb82))['catch'](_0x4d3b41=>{if(st(_0x4d3b41)||'400'===_0x4d3b41['code']&&void 0x0!==_0x4d3b41['data']['wrongRequestId']){for(const _0x2e221e of _0x16bb82){!this['_revisionTracker']['repository']['getRevision'](_0x2e221e['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2e221e['id'],_0x2e221e,!0x1);}if(st(_0x4d3b41))throw _0x4d3b41;return _0x16bb82;}throw _0x4d3b41;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x36e9cc,{revisionsData:_0x326489,requestId:_0x36ccdb})=>{Math['max'](..._0x326489['map'](_0x2f1b4b=>_0x2f1b4b['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x326489,_0x36ccdb);}):this['_handleRevisionsUpdate'](_0x326489,_0x36ccdb);});const {revisions:_0x57b5a3,requestId:_0x248b4e}=await this['_revisionHistoryService']['connect'](_0x4050f6['connection']);_0x4050f6['addToReconnectionStack'](this),this['_lastRequestId']=_0x248b4e,await this['_fetchMissingUsers'](_0x57b5a3);for(const _0x2c59e1 of _0x57b5a3)this['_revisionTracker']['addRevisionData'](_0x2c59e1);this['listenTo'](_0x35e612,'change:_isConnected',(_0x588826,_0x2b8a74,_0x399de5)=>{_0x399de5&&(this['_oldOffset']=_0x35e612['_offset'],_0x588826['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4050f6,'state',_0x58a709=>_0x58a709===te['CONNECTED']);}async['reconnect'](){const _0x3d7ff5=this['editor']['plugins']['get'](n),_0x51ea33=this['editor']['plugins']['get'](l),_0x2f94e2=async()=>{const _0x71d6a1=this['_revisionTracker']['currentRevision'],_0x5ac6dc=_0x71d6a1['id'],_0xb03446=_0x5ac6dc!==_0x51ea33['sessionId'];if(_0xb03446){const _0x11fdf1=_0x51ea33['_offset']-this['_oldOffset'],_0x3a02f9=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x71d6a1['toVersion']+_0x11fdf1!==_0x3a02f9){const _0x554421=_0x71d6a1['fromVersion']+_0x11fdf1,_0x207d66=this['editor']['plugins']['get'](_0x55636d),_0xf3d764=this['_revisionTracker']['buildRevisionData']({'revision':_0x71d6a1,'from':_0x554421,'to':_0x3a02f9});_0xf3d764['id']=_0x71d6a1['id'];const _0x4aac29=_0xf3d764['authorsIds']['map'](_0x478db4=>_0x207d66['getUser'](_0x478db4));_0x71d6a1['_update']({..._0xf3d764,'authors':_0x4aac29},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x71d6a1['id'],_0xf3d764,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3a02f9,(_0x71d6a1['toVersion']===_0x71d6a1['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x5ac6dc)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x5ac6dc),this['_revisionTracker']['_createCurrentRevision'](_0x3a02f9));}const {revisions:_0x2b98cf,requestId:_0x18718e}=await this['_revisionHistoryService']['reconnect'](_0x3d7ff5['connection'],this['_lastRequestId']);_0xb03446&&_0x2b98cf['length']>0x0?_0x51ea33['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2b98cf),this['_handleRevisionsUpdate'](_0x2b98cf,_0x18718e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x51ea33['_isConnected']?_0x2f94e2():new Promise((_0x50e521,_0xb2fe0)=>{_0x51ea33['once']('change:_isConnected',()=>{_0x2f94e2()['then'](_0x50e521)['catch'](_0xb2fe0);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5db177=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3199b0=>{_0x3199b0['off'](),_0x5db177();});});}['_getLatestVersionFromServerOperations'](){const _0x2f6b8b=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1aaf9a of _0x2f6b8b)if('marker'!==_0x1aaf9a['type']||_0x1aaf9a['affectsData'])return _0x1aaf9a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1c8e41=this['editor']['plugins']['get'](l);return new Promise(_0x278e9b=>{_0x1c8e41['_isPendingUpdate']?_0x1c8e41['once']('change:_isPendingUpdate',()=>{_0x278e9b(this['_getLatestVersionFromServerOperations']());}):_0x278e9b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xefbf8e,_0x497890){const _0x25c095=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x497890;for(const _0x2c8773 of _0xefbf8e){const _0x4f8a48=_0x25c095['getRevision'](_0x2c8773['id']);if(_0x4f8a48){if((_0x2c8773['fromVersion']||_0x2c8773['toVersion'])&&(_0x2c8773['diffData']=null),_0x4f8a48===this['_revisionTracker']['currentRevision']){const _0x3ae643=Math['max'](_0x4f8a48['toVersion'],_0x2c8773['toVersion']),_0x5944f5=Math['max'](_0x4f8a48['fromVersion'],_0x2c8773['fromVersion']);let _0x4a81d7;_0x4f8a48['toVersion']===_0x2c8773['toVersion']&&_0x4f8a48['fromVersion']===_0x2c8773['fromVersion']?(_0x4a81d7=!0x0,this['_preventResendingRevisionData'](_0x2c8773)):_0x2c8773['toVersion']===_0x3ae643&&_0x2c8773['fromVersion']===_0x5944f5?_0x4a81d7=!0x1:(_0x4f8a48['toVersion']===_0x3ae643&&_0x4f8a48['fromVersion']===_0x5944f5||this['_fixRevision']({'revision':_0x4f8a48,'from':_0x5944f5,'to':_0x3ae643}),_0x4a81d7=!0x0),_0x4a81d7&&(delete _0x2c8773['fromVersion'],delete _0x2c8773['toVersion'],delete _0x2c8773['diffData'],delete _0x2c8773['createdAt'],delete _0x2c8773['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2c8773),this['_preventResendingRevisionData'](_0x2c8773);}else this['_revisionTracker']['addRevisionData'](_0x2c8773);}const _0x3c10ed=_0x25c095['getRevisions']();_0x3c10ed['reverse']();for(let _0x5e0870=0x0;_0x5e0870<_0x3c10ed['length']-0x1;_0x5e0870++){const _0x2e5d02=_0x3c10ed[_0x5e0870],_0x417ada=_0x3c10ed[_0x5e0870+0x1];if(_0x2e5d02['fromVersion']<_0x417ada['toVersion']){const _0x5cc740=_0x417ada['toVersion'],_0x39599b=Math['max'](_0x5cc740,_0x2e5d02['toVersion']);this['_fixRevision']({'revision':_0x2e5d02,'from':_0x5cc740,'to':_0x39599b});}}}['_fixRevision']({revision:_0x881f1f,from:_0x49f9e8,to:_0x4a1125}={}){const _0x29460e=this['editor']['plugins']['get'](_0x55636d),_0x14fe26=this['_revisionTracker']['buildRevisionData']({'revision':_0x881f1f,'from':_0x49f9e8,'to':_0x4a1125});_0x14fe26['authors']=_0x14fe26['authorsIds']['map'](_0x446da2=>_0x29460e['getUser'](_0x446da2)),_0x881f1f['_update'](_0x14fe26);}['_preventResendingRevisionData'](_0x520b5f){const _0x392b8a={};_0x392b8a['id']=_0x520b5f['id'];for(const _0x341388 of Object['keys'](_0x520b5f))'id'!==_0x341388&&(_0x392b8a[_0x341388]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x392b8a['id'],_0x392b8a,!0x0);}async['_fetchMissingUsers'](_0x5e7f05){const _0xa34544=this['editor']['plugins']['get'](_0x55636d),{connection:_0x28868d}=this['editor']['plugins']['get'](n),_0x310c4c=new Set();for(const _0x5e323b of _0x5e7f05){for(const _0x451740 of _0x5e323b['authorsIds'])_0x100727(_0x451740);_0x5e323b['creatorId']&&_0x100727(_0x5e323b['creatorId']);}if(0x0===_0x310c4c['size'])return;const _0x3d9abc=await lt['getMany'](_0x28868d,Array['from'](_0x310c4c));for(const _0x2e65f2 of _0x3d9abc)_0xa34544['getUser'](_0x2e65f2['id'])||_0xa34544['addUser'](_0x2e65f2);function _0x100727(_0x2519a1){_0xa34544['getUser'](_0x2519a1)||_0x310c4c['add'](_0x2519a1);}}}function st(_0x1855e0){return _0x1855e0['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1855e0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1855e0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x1c1c75{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x12ac9c{['_collapseAt'];constructor(_0x20e219,_0x514c75=0x6){super(_0x20e219);const _0x2f7cd5=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x514c75,this['bind']('isHidden')['to'](this,'usersCount',_0x22fa7a=>_0x22fa7a<_0x514c75),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x2f7cd5['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':_0x2f7cd5['to']('usersCount',_0x8af9b9=>'+'+(_0x8af9b9-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x12ac9c{['items'];['keystrokes'];constructor(_0x3e0831){super(_0x3e0831);const _0x58e768=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1ecd8b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x58e768['if']('hasPopup'),'aria-expanded':_0x58e768['to']('isExpanded',_0x5580d8=>this['hasPopup']&&String(_0x5580d8)),'aria-label':_0x58e768['to']('hasPopup',_0x4c9107=>W(_0x3e0831,_0x4c9107?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x58e768['to']('hasPopup',_0x3296dd=>!!_0x3296dd&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x58e768['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x58e768['to'](_0x175ac9=>{const _0x1d8480=_0x175ac9,_0x294c77=document['querySelector']('.ck-presence-list__dropdown-list'),_0x35c848=document['querySelector']('.ck-balloon-panel_with-arrow');_0x294c77?.['contains'](_0x1d8480['relatedTarget'])||_0x35c848?.['contains'](_0x1d8480['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0xbaad9b,_0x45ba05,_0x4015c3)=>{this['element']&&(_0x4015c3?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x12ac9c{['counterView'];['inlineListView'];constructor(_0x329d77,_0x46da77=0x6){super(_0x329d77);const _0x2701a9=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x46da77),this['inlineListView']=new is(_0x329d77),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xb42ed2 of this['inlineListView']['items'])_0xb42ed2['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',_0x2701a9['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x12ac9c{['listWrapperView'];constructor(_0x2a831d,_0x5bb2d1){super(_0x2a831d);const _0x8ec87f=this['bindTemplate'];this['listWrapperView']=new pt(_0x2a831d,_0x5bb2d1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x2a831d,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x8ec87f['to'](_0x4a9922=>{const _0x2b6824=_0x4a9922,_0x5cfb5f=document['querySelector']('.ck-presence-list__list'),_0x278013=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5cfb5f?.['contains'](_0x2b6824['relatedTarget'])||_0x278013?.['contains'](_0x2b6824['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0xf50aa7{constructor(_0x520cd7,_0x48aa55){super(_0x520cd7);const _0x26d313=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x48aa55?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x26d313['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x26d313['to']('role'),'aria-label':_0x26d313['to']('ariaLabel'),'aria-labelledby':_0x26d313['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x965aaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5ae588=this['element'];_0x5ae588&&(this['_isScrollable']=Math['max'](_0x5ae588['scrollHeight'],_0x5ae588['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x468994,_0x1b983c,_0x37f94f){super(_0x468994);const _0x2696ae=this['bindTemplate'];this['userView']=new ct(_0x468994,_0x1b983c);const _0x29f06d={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1b983c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1b983c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b983c['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x37f94f&&(_0x29f06d['tag']='button',_0x29f06d['on']={'click':_0x2696ae['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x29f06d);}['focus'](){this['element']['focus']();}}class _ extends _0x12ac9c{['userView'];['markerView'];constructor(_0x225035,_0x4c090b,_0x45ad83){super(_0x225035);const _0x182733=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x225035,_0x4c090b),this['markerView']=new at(_0x225035,_0x4c090b);const _0x489b69=new ot(_0x225035);_0x489b69['template']['tag']='span',_0x489b69['text']=_0x4c090b['name'];const _0x20762c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x182733['to']('isFocusable',_0x1a0795=>!!_0x1a0795&&0x0),'aria-labelledby':_0x489b69['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x182733['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x182733['to']('hasTooltip',_0x293ea0=>!_0x293ea0),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x489b69]};_0x45ad83&&(_0x20762c['tag']='button',_0x20762c['on']={'click':_0x182733['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x20762c);}}class at extends _0x12ac9c{constructor(_0x5c1da9,_0x45af99){super(_0x5c1da9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x45af99['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x130049{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12b1c6){super(_0x12b1c6),this['context']['config']['define']('presenceList',U);const _0x4d0234=_0x12b1c6['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4d0234)throw new _0x3433e1('presencelist-collapseat-invalid-format',this);if(_0x4d0234<0x1)throw new _0x3433e1('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x450339(),this['balloonPanelView']=new _0x173b11(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x389da5 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x389da5);this['listenTo'](this['_allConnectedUsers'],'add',(_0x56698a,_0x29fa46)=>{this['_handleUserAdd'](_0x29fa46);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x5b789e,_0x5f4b19)=>{this['_handleUserRemove'](_0x5f4b19);});}['_createView'](){const _0x375f11=this['context'],_0x22e5ed=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4db135=this['balloonPanelView'];if(!_0x5c7686(_0x375f11['config']['get']('presenceList.container')))throw new _0x3433e1('presencelist-missing-container',this);return _0x22e5ed['counterView']['bind']('usersCount')['to'](this),_0x22e5ed['bind']('isCollapsed')['to'](this,'usersCount',_0x368782=>{const {collapseAt:_0x483a98}=_0x375f11['config']['get']('presenceList'),_0x1c6e66=_0x368782>=_0x483a98;if(_0x1c6e66&&!_0x22e5ed['inlineListView']['items']['find'](_0x456bb4=>_0x456bb4 instanceof y)){const _0x308c85=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x308c85&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x22e5ed['inlineListView']['items']['add'](_0x22e5ed['counterView']);}return _0x1c6e66||this['hideDropdown'](),_0x1c6e66;}),_0x22e5ed['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xe2f48=>{const _0x27257f=_0x375f11['config']['get']('presenceList'),_0x3c499a=new _(_0x375f11['locale'],_0xe2f48,!!_0x27257f['onClick']);return _0x3c499a['bind']('hasTooltip')['to'](_0x22e5ed,'isCollapsed',_0x3bd145=>!_0x3bd145),_0x3c499a['bind']('isFocusable')['to'](_0x22e5ed,'isCollapsed',_0x277a3b=>!_0x277a3b),_0x27257f['onClick']&&this['listenTo'](_0x3c499a,'execute',()=>{this['view']['isCollapsed']||_0x27257f['onClick'](_0xe2f48,_0x3c499a['element']);}),_0x3c499a;}),this['listenTo'](_0x22e5ed['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x22e5ed['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x22e5ed['inlineListView']['keystrokes']['set']('Enter',(_0xcff2ab,_0x5a7a81)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5a7a81());}),_0x22e5ed['render'](),_0x4db135['render'](),_0x38afdf({'emitter':_0x22e5ed,'activator':()=>_0x4db135['isVisible'],'contextElements':[_0x4db135['element'],_0x22e5ed['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x375f11['config']['get']('presenceList.container')['appendChild'](_0x22e5ed['element']),this['_bodyCollection']=new _0x35c9fd(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x22e5ed;}['_handleUserAdd'](_0x2ee2c9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2ee2c9['isMe'])return;const _0x4610eb=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4610eb-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x445189=_0x2ee2c9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2ee2c9,_0x445189);}['_handleUserRemove'](_0x3a31b0){this['usersCount']--;const {collapseAt:_0x15a416}=this['context']['config']['get']('presenceList'),_0x412029=this['usersCount']>=_0x15a416;if(this['currentDisplayedUsers']['get'](_0x3a31b0['id']))this['currentDisplayedUsers']['remove'](_0x3a31b0['id']);else{if(_0x412029&&this['currentDisplayedUsers']['length']+0x1===_0x15a416-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x412029?0x1:0x0)<this['usersCount']){for(const _0x54012e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x54012e['id'])&&(this['currentDisplayedUsers']['add'](_0x54012e,Math['min'](this['currentDisplayedUsers']['length']-(_0x412029?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x412029?0x1:0x0)===_0x15a416-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x39ef64=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x39ef64['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3a82f9}=this['presenceDropdownView'];_0x3a82f9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4d20ec=>{if(!_0x39ef64['displayMe']&&_0x4d20ec['isMe'])return null;const _0x44b8fc=new P(this['context']['locale'],_0x4d20ec,!!_0x39ef64['onClick']);return _0x39ef64['onClick']&&this['listenTo'](_0x44b8fc,'execute',()=>{_0x39ef64['onClick'](_0x4d20ec,_0x44b8fc['element']);}),_0x44b8fc;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3a82f9['focus'](),_0x3a82f9['checkIfScrollable']();const _0x5d496d=(_0x10c271,_0x11cb9e)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x11cb9e();};_0x3a82f9['keystrokes']['set']('Esc',_0x5d496d),_0x3a82f9['keystrokes']['set']('Shift+Tab',_0x5d496d),_0x3a82f9['keystrokes']['set']('Tab',(_0x492172,_0xdf7858)=>{!function(_0x1a63f1){const _0xe1b5d4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3a5b87=>_0x3a5b87+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0xcd7ee0=[...document['body']['querySelectorAll'](_0xe1b5d4)]['filter'](_0x5350d7=>_0x5350d7===document['activeElement']||_0x5350d7['offsetWidth']+_0x5350d7['offsetHeight']>0x0)['sort']((_0x53f0b7,_0x1b5382)=>(_0x53f0b7['tabIndex']||0x0)-(_0x1b5382['tabIndex']||0x0)),_0x4a55ec=_0xcd7ee0['indexOf'](_0x1a63f1),_0x3dc4d2=_0xcd7ee0[(_0x4a55ec+0x1)%_0xcd7ee0['length']];_0x3dc4d2&&_0x3dc4d2['focus']();}(this['view']['element']),this['hideDropdown'](),_0xdf7858();}),_0x3a82f9['focusTracker']['add'](this['view']['element']),_0x3a82f9['focusTracker']['on']('change:isFocused',(_0x604688,_0x4ed91a,_0x2844b1)=>{_0x2844b1||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x130049{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x29ab63,Plugin as _0x516461,PendingActions as _0x30d298,Context as _0x1b02df}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x59b76d,CKEditorError as _0xac8d7f,Collection as _0xedfe61,global as _0x5a5cb2,version as nt,uid as _0x32f4d4,KeystrokeHandler as _0x38c104}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x4548d6,View as _0x178204,ListView as _0x79bd65,ListItemView as et,LabelView as it,BalloonPanelView as _0x2fe979,clickOutsideHandler as _0x5cda66,BodyCollection as _0xea0b6d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x498e06,History as _0x4eedc5,NoOperation as _0x3bc5d4,InsertOperation as _0xb92ff2,MarkerOperation as _0x3056ac,RootAttributeOperation as _0x599c8f,transformOperationSets as _0x5418fa,OperationFactory as _0x51f99f}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x132d53,CollaborativeEditingService as _0x145a9c,User as ct,CommentsService as _0x4ebf34,TrackChangesService as _0x4ce9d2,RevisionHistoryService as _0x5cc90d,EditorService as _0x10ae17}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x530760,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xcad2c5}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x4cf03f}from'es-toolkit/compat';class n extends _0x29ab63{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x4548d6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x220550){super(_0x220550),this['set']('state',_0x132d53['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x59b76d())();}['init'](){const _0x37109b=this['context'],_0x4b4785=_0x37109b['plugins']['get']('CloudServices'),_0x223027=_0x37109b['plugins']['get'](_0x4548d6);if(!_0x4b4785['token'])throw new _0xac8d7f('websocketgateway-missing-token',this);if(!_0x4b4785['webSocketUrl'])throw new _0xac8d7f('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'](_0x4b4785['token'],_0x4b4785['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x579db5=>{if(this['connection']=_0x579db5,this['bind']('state')['to'](_0x579db5,'state',this,'_isBrowserOffline',(_0x426661,_0x50bbde)=>('connected'!==_0x426661&&(this['_shouldPluginsReconnect']=!0x0),_0x50bbde||_0x426661!==_0x132d53['CONNECTED']?_0x132d53['DISCONNECTED']:this['state']==_0x132d53['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x132d53['CONNECTING']):_0x132d53['CONNECTED'])),this['connection']['on']('error',(_0x40d9d9,_0x5764d9)=>{if('limitExceeded'!==_0x5764d9['code'])throw console['error'](_0x5764d9),new _0xac8d7f('cloudservices-init',null,{'originalError':_0x5764d9});_0x223027['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'});}),!_0x579db5['me'])return new Promise(_0x538b85=>_0x579db5['on']('change:me',_0x538b85));})['catch'](_0x459883=>{throw console['error'](_0x459883),new _0xac8d7f('cloudservices-init',null,{'originalError':_0x459883});});}['addToReconnectionStack'](_0xfae40e){if('function'!=typeof _0xfae40e['reconnect'])throw new _0xac8d7f('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xfae40e))throw new _0xac8d7f('websocketgateway-plugin-already-registered',this,{'name':_0xfae40e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xfae40e);}['removeFromReconnectionStack'](_0x4cdabc){this['_reconnectionStack']['delete'](_0x4cdabc);}['isInReconnectionStack'](_0x263425){return this['_reconnectionStack']['has'](_0x263425);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x456720=>_0x456720['reconnect']())))['then'](()=>this['state']=_0x132d53['CONNECTED'])['catch'](_0x51030e=>{throw console['error'](_0x51030e),new _0xac8d7f('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x132d53['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x29ab63{['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,_0x530760];}constructor(_0x2613fb){super(_0x2613fb),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xedfe61(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x530760);}['init'](){const _0x886ae1=this['context']['plugins']['get'](n);this['listenTo'](_0x886ae1,'change:state',(_0x44fba8,_0x5060d6,_0x51af0e)=>{if('connected'!==_0x51af0e)this['channelSessions']['forEach'](_0x272d9d=>_0x272d9d['clear']()),this['channelConnectedUsers']['forEach'](_0x9c3855=>_0x9c3855['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x40b40b,_0x2262f5]of this['_registeredSessions'])for(const _0x2cfaf4 of _0x2262f5)this['_handleSessionAdd'](_0x40b40b,_0x2cfaf4);}}),this['_createUser'](_0x886ae1['connection']['me'],!0x0);}['register'](_0x5b82dd,_0x4b414f){if(this['_registeredSessions']['has'](_0x5b82dd))throw new _0xac8d7f('sessions-register-already-registered',null,{'channelId':_0x5b82dd});this['_registeredSessions']['set'](_0x5b82dd,_0x4b414f),this['channelSessions']['set'](_0x5b82dd,new _0xedfe61()),this['channelConnectedUsers']['set'](_0x5b82dd,new _0xedfe61()),this['listenTo'](_0x4b414f,'add',(_0x161b3d,_0x13e60d)=>this['_handleSessionAdd'](_0x5b82dd,_0x13e60d)),this['listenTo'](_0x4b414f,'remove',(_0x2c8ea2,_0x130925)=>this['_handleSessionRemove'](_0x5b82dd,_0x130925));for(const _0x1c5c36 of _0x4b414f)this['_handleSessionAdd'](_0x5b82dd,_0x1c5c36);}['unregister'](_0x248ef8){if(!this['_registeredSessions']['has'](_0x248ef8))throw new _0xac8d7f('sessions-unregister-not-exist',null,{'channelId':_0x248ef8});const _0x6c2344=this['_registeredSessions']['get'](_0x248ef8);this['stopListening'](_0x6c2344);for(const _0x19ebb6 of _0x6c2344)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x248ef8,_0x19ebb6);this['_registeredSessions']['delete'](_0x248ef8),this['channelSessions']['delete'](_0x248ef8),this['channelConnectedUsers']['delete'](_0x248ef8);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x511471){for(const _0xaa690a of this['channelSessions']['values']())for(const _0x2135fe of _0xaa690a)if(_0x2135fe['id']===_0x511471)return _0x2135fe['user'];}['getUserSessions'](_0xa4d5ad,_0x32c91c){const _0x28807c=_0x32c91c?[this['channelSessions']['get'](_0x32c91c)]:this['channelSessions']['values'](),_0x222635=new Set();for(const _0xf93006 of _0x28807c)for(const _0x3cbd60 of _0xf93006)_0x3cbd60['user']['id']===_0xa4d5ad['id']&&_0x222635['add'](_0x3cbd60['id']);return _0x222635;}['getUserRole'](_0x57b12d){for(const _0x46e229 of this['channelSessions']['values']())for(const _0x5cb718 of _0x46e229)if(_0x5cb718['user']===_0x57b12d)return _0x5cb718['role'];}['_handleSessionAdd'](_0x55d0b3,_0x39bf23){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1c6ba1=_0x39bf23['user'],_0x42f008=this['_users']['getUser'](_0x1c6ba1['id'])||this['_createUser'](_0x1c6ba1),_0x2250ee=Object['assign']({},_0x39bf23,{'user':_0x42f008});this['channelSessions']['get'](_0x55d0b3)['add'](_0x2250ee);const _0x30711b=this['channelConnectedUsers']['get'](_0x55d0b3);_0x30711b['has'](_0x42f008['id'])||_0x30711b['add'](_0x42f008),this['allConnectedUsers']['has'](_0x42f008['id'])||this['allConnectedUsers']['add'](_0x42f008,_0x42f008['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x55d0b3,{'channelId':_0x55d0b3,'session':_0x2250ee});}['_handleSessionRemove'](_0x5a7342,_0x4cde94){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x100a16=this['channelConnectedUsers']['get'](_0x5a7342),_0x3da3ac=_0x4cde94['user'];_0x3da3ac['id']&&(this['channelSessions']['get'](_0x5a7342)['remove'](_0x4cde94['id']),_0x100a16['has'](_0x3da3ac['id'])&&!this['getUserSessions'](_0x3da3ac,_0x5a7342)['size']&&_0x100a16['remove'](_0x3da3ac['id']),this['allConnectedUsers']['get'](_0x3da3ac['id'])&&!this['getUserSessions'](_0x3da3ac)['size']&&this['allConnectedUsers']['remove'](_0x3da3ac['id']));}['_createUser'](_0x26c0f0,_0x1b3d15){const _0x65dfe3=this['_users']['addUser'](_0x26c0f0);return _0x1b3d15&&this['_users']['defineMe'](_0x26c0f0['id']),_0x65dfe3['orderNumber']=this['_uniqueUsersCount']++,_0x65dfe3;}}class $ extends _0x516461{['_domEmitter']=new(_0x59b76d())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x13e568=this['editor'],_0x5acce8=_0x13e568['plugins']['get'](i);_0x13e568['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1d5033,{writer:_0x8a2b28})=>function(_0x213209,_0x4416a3,_0x426aea,_0x2a27d9){const _0x3f6682=_0x213209['markerName']['split'](':')[0x2],_0x10bf9d=_0x426aea['getUserBySessionId'](_0x3f6682);if(!_0x10bf9d||_0x3f6682===_0x426aea['mySessionId'])return;if(!_0x2a27d9['model']['schema']['checkChild'](_0x213209['markerRange']['start'],'$text'))return;const _0x5f3c7c={'class':'ck-user__marker\x20'+_0x10bf9d['color']['getMarkerClass'](),'data-name':_0x10bf9d['name'],'data-session-id':_0x3f6682},_0x21ab62=_0x2a27d9['model']['markers']['get'](_0x213209['markerName']),_0x13cd6b=_0x21ab62['getStart'](),_0x20c697=_0x13cd6b['nodeAfter'],_0x439a16=_0x2a27d9['model']['schema'];if(_0x20c697&&_0x439a16['isObject'](_0x20c697)&&_0x439a16['isInline'](_0x20c697)&&!_0x2a27d9['model']['markers']['get']('user:range:'+_0x3f6682)['getRange']()['isCollapsed'])return;const _0x15b94c=_0x13cd6b['parent'];return _0x2a27d9['model']['schema']['isLimit'](_0x15b94c)&&!_0x2a27d9['model']['hasContent'](_0x15b94c)&&(_0x5f3c7c['contenteditable']=!0x1),function(_0x17b020,_0x187c02,_0x511f10){const _0x238bf9=_0x17b020['createUIElement']('span',_0x187c02);return _0x17b020['setCustomProperty']('userPositionMarker',!0x0,_0x238bf9),_0x238bf9['render']=function(_0x38ec89){const _0xb0fd05=this['toDomElement'](_0x38ec89),_0x366cfb=document['createElement']('span');return _0x366cfb['classList']['add']('ck-user__marker-tooltip'),_0x366cfb['setAttribute']('contenteditable','false'),_0x366cfb['setAttribute']('spellcheck','false'),_0x366cfb['textContent']=_0x511f10['name'],_0xb0fd05['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x366cfb['outerHTML']+'⁠',_0xb0fd05['addEventListener']('mouseenter',()=>{_0xb0fd05['classList']['add']('ck-user__marker_hovered');}),_0xb0fd05['addEventListener']('mouseleave',()=>{_0xb0fd05['classList']['remove']('ck-user__marker_hovered');}),_0xb0fd05;},_0x238bf9['isSimilar']=function(_0x493c75){return!(!this['getCustomProperty']('userPositionMarker')||!_0x493c75['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x493c75['getAttribute']('data-session-id'));},_0x238bf9;}(_0x4416a3,_0x5f3c7c,_0x10bf9d);}(_0x1d5033,_0x8a2b28,_0x5acce8,_0x13e568)}),_0x13e568['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x1452ac=>function(_0x3d3bf1,_0x56d833){const _0x1d4b63=_0x3d3bf1['markerName']['split'](':')[0x2];if(_0x1d4b63===_0x56d833['mySessionId'])return null;const _0x219f14=_0x56d833['getUserBySessionId'](_0x1d4b63);if(!_0x219f14)return{'id':_0x1d4b63,'classes':[]};return{'id':_0x1d4b63,'classes':['ck-user__selection',_0x219f14['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1d4b63},'priority':0x7d0+_0x219f14['orderNumber']};}(_0x1452ac,_0x5acce8)}),function(_0x73f5b9){const _0x3177e3=_0x73f5b9['model'],_0x28df70=new Map(),_0x324b9f=_0x73f5b9['plugins']['get'](i);_0x3177e3['markers']['on']('update:user:range',(_0x899249,_0x89b1d0,_0x348a79,_0x382869)=>{if(!_0x382869&&_0x28df70['get'](_0x89b1d0['name']))return _0x28df70['get'](_0x89b1d0['name'])['detach'](),void _0x28df70['delete'](_0x89b1d0['name']);const _0x3a3c89=_0x89b1d0['name']['split'](':')[0x2];if(_0x3a3c89===_0x324b9f['mySessionId'])return;const _0x2b3be4='user:position:'+_0x3a3c89;_0x3177e3['markers']['has'](_0x2b3be4)&&_0x73f5b9['editing']['reconvertMarker'](_0x2b3be4),_0x89b1d0['on']('change:range',(_0x5e7021,_0x4c39d3,_0x3ebebf)=>{if('$graveyard'!=_0x4c39d3['root']['rootName']&&'$graveyard'==_0x89b1d0['getRange']()['root']['rootName']&&!_0x28df70['has'](_0x89b1d0['name'])){const _0x3bfcd3=_0x3177e3['schema']['getNearestSelectionRange'](_0x3ebebf['deletionPosition']);if(_0x3bfcd3){const _0xda78d1=_0x498e06['fromRange'](_0x3bfcd3);_0x28df70['set'](_0x89b1d0['name'],_0xda78d1),_0xda78d1['on']('change:range',(_0x5587ff,_0xf40a20,_0xb23199)=>{if('$graveyard'==_0xda78d1['root']['rootName']){const _0x5d7f2b=_0x3177e3['schema']['getNearestSelectionRange'](_0xb23199['deletionPosition']);_0x5d7f2b?(_0xda78d1['start']=_0x5d7f2b['start'],_0xda78d1['end']=_0x5d7f2b['end']):(_0x28df70['delete'](_0x89b1d0['name']),_0xda78d1['detach']());}});}}});}),_0x3177e3['document']['on']('change',()=>{_0x28df70['size']>0x0&&_0x3177e3['enqueueChange']({'isUndoable':!0x1},_0x4b7963=>{for(const [_0x1509cc,_0x3c6771]of _0x28df70)'$graveyard'==_0x3177e3['markers']['get'](_0x1509cc)['getRange']()['root']['rootName']&&(te(_0x1509cc['split'](':')[0x2],_0x3c6771['toRange'](),_0x3177e3,_0x4b7963),_0x3c6771['detach']());_0x28df70['clear']();});});}(_0x13e568),this['_domEmitter']['listenTo'](_0x5a5cb2['document'],'keydown',(_0x2b36ba,{key:_0x5d2a34})=>{'Escape'===_0x5d2a34&&function(_0x4eb8b1){_0x4eb8b1['editing']['view']['change'](_0x315493=>{for(const _0x28c055 of _0x4eb8b1['model']['markers']){if(!_0x28c055['name']['startsWith']('user:position'))continue;const _0x243d2f=_0x4eb8b1['editing']['mapper']['markerNameToElements'](_0x28c055['name']);if(_0x243d2f){for(const _0x5edaaf of _0x243d2f)_0x315493['removeClass']('ck-user__marker_hovered',_0x5edaaf);}}});}(_0x13e568);},{'useCapture':!0x0});}['afterInit'](){const _0xf0f286=this['editor'],_0x1987ff=_0xf0f286['commands']['get']('undo');_0x1987ff&&_0xf0f286['model']['on']('applyOperation',(_0x19bd9a,_0x29677d)=>{const _0x46212d=_0x29677d[0x0];if(!_0x46212d['isDocumentOperation'])return;if('marker'!=_0x46212d['type']||!_0x46212d['name']['startsWith']('user:'))return;const _0x256ad6=_0x46212d['batch'];_0x1987ff['_createdBatches']['has'](_0x256ad6)&&(_0x46212d['newRange']=_0x46212d['oldRange']?_0xf0f286['model']['createRange'](_0x46212d['oldRange']['start'],_0x46212d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4984f7=this['editor'],_0x4950d0=_0x4984f7['model']['document'],_0x4f672b=_0x4984f7['plugins']['get'](i);_0x4984f7['model']['enqueueChange']({'isUndoable':!0x1},_0xef689d=>{const _0x29d029='user:range:'+_0x4f672b['mySessionId'],_0x52157f='user:position:'+_0x4f672b['mySessionId'],_0x42b603=_0x4984f7['model']['markers']['has'](_0x29d029);_0x4984f7['editing']['view']['hasDomSelection']?te(_0x4f672b['mySessionId'],_0x4950d0['selection']['getFirstRange'](),_0x4984f7['model'],_0xef689d):_0x42b603&&(_0xef689d['removeMarker'](_0x29d029),_0xef689d['removeMarker'](_0x52157f));});}}function te(_0x5e6bad,_0x1f5d90,_0x344fb6,_0x2fdddb){const _0x580e47='user:range:'+_0x5e6bad,_0x5121bb='user:position:'+_0x5e6bad,_0x4bba18=_0x1f5d90['getContainedElement']();let _0x1f1c9a=_0x1f5d90['start'];if(_0x4bba18&&_0x4bba18['is']('element','tableCell')){const _0x310e83=function(_0xe0d27,_0x51063b){for(const _0x590805 of _0xe0d27['getPositions']())if(_0x51063b['schema']['checkChild'](_0x590805,'$text'))return _0x590805;}(_0x1f5d90,_0x344fb6);_0x310e83&&(_0x1f1c9a=_0x310e83,_0x1f5d90=_0x2fdddb['createRange'](_0x1f1c9a));}const _0x29b9c6=_0x2fdddb['createRange'](_0x1f1c9a);_0x344fb6['markers']['has'](_0x580e47)?(_0x2fdddb['updateMarker'](_0x580e47,{'range':_0x1f5d90}),_0x2fdddb['updateMarker'](_0x5121bb,{'range':_0x29b9c6})):(_0x2fdddb['addMarker'](_0x580e47,{'range':_0x1f5d90,'usingOperation':!0x0}),_0x2fdddb['addMarker'](_0x5121bb,{'range':_0x29b9c6,'usingOperation':!0x0}));}function K(_0x3cceb4,_0x2fda97,_0x53ed0e){const _0x4ada04=_0x3cceb4['t'],t=_0x3cceb4['t'];switch(_0x2fda97){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 _0x4ada04({'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'},_0x53ed0e);default:return'';}}let X=0x1;class l extends _0x516461{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x145a9c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x30d298,_0x530760,_0x4548d6];}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 _0x19bfd5=this['serverHistory']['getOperations']();for(let _0x57351e=_0x19bfd5['length']-0x1;_0x57351e>=0x0;_0x57351e--){const _0x4f5ec8=_0x19bfd5[_0x57351e];if(!this['_disconnectionOperations']['has'](_0x4f5ec8))return _0x4f5ec8['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5043c){if(super(_0x5043c),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4eedc5(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xac8d7f('collaboration-missing-channelid',this);const _0x5942fa=_0x5043c['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x5942fa,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xcad2c5(),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 tt(this['_disconnectionOperations']);}['init'](){const _0xed43c7=this['editor'],_0x9895e7=_0xed43c7['plugins']['get'](_0x530760),_0xb2c499=_0xed43c7['plugins']['get'](n);this['listenTo'](_0x9895e7,'getOperationAuthor',(_0x2c3f4b,_0x153d8a)=>{const _0x1e16e6=_0x153d8a[0x0];_0x1e16e6['_authorId']&&(_0x2c3f4b['return']=_0x9895e7['getUser'](_0x1e16e6['_authorId']),_0x2c3f4b['stop']()),null===_0x1e16e6['_authorId']&&(_0x2c3f4b['return']=null,_0x2c3f4b['stop']());},{'priority':'high'}),this['listenTo'](_0xed43c7['model']['document']['selection'],'change:range',(_0x3218ba,_0x546cf6)=>{_0x546cf6['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0xed43c7['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0xed43c7['model']['on']('applyOperation',(_0x34c181,_0x1339e7)=>{const _0x96de0f=_0x1339e7[0x0];_0x96de0f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x96de0f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0xb2c499,'state',this,'_hasSynchronizationProblem',(_0x4931af,_0x2e1c39)=>'connected'===_0x4931af&&!_0x2e1c39),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0xed43c7['disableReadOnlyMode']('rtc-offline'):_0xed43c7['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0xed43c7['disableReadOnlyMode']('rtc-offline'):_0xed43c7['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x466cea=this['editor']['plugins']['get'](i),_0x150f9b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x466cea['unregister'](this['_channelId']);const _0x221c35=await this['_service']['reconnect'](_0x150f9b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x221c35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4fdc1c=await this['_service']['getConnectedSessions']();_0x466cea['register'](this['_channelId'],_0x4fdc1c),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0xde2930){if(function(_0x1f8e6f){return'404'===_0x1f8e6f['code'];}(_0xde2930)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x3c212e){return'409'===_0x3c212e['code'];}(_0xde2930)){const _0x28626a=K(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'](_0x28626a);}else{if(!(_0xde2930 instanceof Y))throw _0xde2930;this['_handleReconnectionError']();}}}}['destroy'](){const _0x6bfcea=this['editor']['plugins']['get'](n),_0xd472af=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xd472af['channelSessions']['has'](this['_channelId'])&&_0xd472af['unregister'](this['_channelId']),_0x6bfcea['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3e77d2){if(this['sessionId']!==_0x3e77d2['sessionId']&&this['_lastSyncedOperationId']!==_0x3e77d2['lastOperationId'])throw new Y();return this['sessionId']=_0x3e77d2['sessionId'],this['_handleServerResponse']([],{..._0x3e77d2,'wereChangesApplied':!0x1,'data':_0x3e77d2['data']},'reconnect');}async['_connectService'](_0x8cfa17,_0x20a94e=!0x1){const {connection:_0x1ca6ac}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1ca6ac,this['_channelId'])['then'](_0x225bd3=>this['_initSessionsHandling'](_0x225bd3))['catch'](_0x46b4d5=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x46b4d5);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x51e553,_0x3ceff0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3ceff0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4376fe=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x8cfa17);this['_isPendingUpdate']=!0x0;const _0x574021=await this['_service']['connect'](_0x1ca6ac,this['_compressOperations'](_0x8cfa17),_0x4376fe);if(this['sessionId']=_0x574021['sessionId'],_0x20a94e){if(!_0x574021['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x574021['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x8cfa17,_0x574021,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x574021,_0x8cfa17);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x4cb953=this['editor']['plugins']['get'](i),_0x4a6f6f=this['editor']['plugins']['get']($),_0x121430=_0x4cb953['channelSessions']['get'](this['_channelId']);_0x121430&&_0x121430['length']>0x1?_0x4a6f6f['createUserMarkerOperations']():this['listenTo'](_0x4cb953,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x4cb953['channelSessions']['get'](this['_channelId'])['length']&&_0x4a6f6f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x271fea,_0x2a04dc,_0x865892,_0x52838c){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x2a04dc){const _0x4de098=this['_decompressOperations'](_0x865892,_0x52838c);await this['_fetchMissingUsers'](_0x4de098),this['_handleExternalOperations'](_0x4de098,_0x2a04dc,_0x865892['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x46bbb5}=this['editor'];let _0x159a22;try{_0x159a22=await this['_service']['getDocumentDetails']();}catch{const _0xe84172=K(_0x46bbb5,'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'](_0xe84172);}const _0x799339=_0x159a22['currentDocumentSession']||_0x159a22['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x799339['lastOperationId']){const _0xa57491=K(_0x46bbb5,'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'](_0xa57491);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2d798c){const _0x3c29c3=this['editor']['plugins']['get'](i);this['listenTo'](_0x3c29c3,'sessionAdd:'+this['_channelId'],(_0x163418,{session:_0x5373d9})=>{if(_0x5373d9['id']===_0x3c29c3['mySessionId']){_0x163418['off']();const _0x126174=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x541c79=_0x5373d9['permissions'];_0x126174&&_0x126174['isEnabled']&&(_0x541c79=_0x541c79['filter'](_0x4d4e80=>'document:write'!==_0x4d4e80)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x541c79,this['_channelId']);}}),_0x3c29c3['register'](this['_channelId'],_0x2d798c);}['_initThrowingOnDataSet'](){const _0x5487b2=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x9bb4e7)=>{if(!_0x9bb4e7[_0x9bb4e7['length']-0x1]['suppressErrorInCollaboration'])throw new _0xac8d7f('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5487b2['apply'](this['editor']['data'],_0x9bb4e7);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x443ab4,[_0xe5bb88])=>{if(this['_document']['version'])throw new _0xac8d7f('realtimecollaborationclient-init-document-already-initialized',this);_0x443ab4['stop'](),this['_setPendingAction']();const _0x436e3a=this['editor']['config']['get']('rootsAttributes'),_0x55c78a=this['_getOperationsFromInitData'](_0xe5bb88,_0x436e3a);0x0==_0x55c78a['length']&&_0x55c78a['push'](new _0x3bc5d4(0x0)),_0x443ab4['return']=this['_connectService'](_0x55c78a)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x549468=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x549468))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3a3e30,[_0x544202,_0x87677e])=>{_0x3a3e30['stop']();const _0x4acca5=this['editor']['model']['document']['getRoot'](_0x544202);if(!this['_knownRootNames']['has'](_0x544202)){const _0x194b50=_0x87677e&&_0x87677e['data']?_0x87677e['data']:'',_0x44f843=_0x87677e&&_0x87677e['attributes']?_0x87677e['attributes']:{};await this['_loadRoot'](_0x544202,_0x194b50,_0x44f843);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4acca5['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4acca5);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x4d2195){const _0x3205a9=this['editor']['plugins']['get'](_0x530760),{connection:_0x47b654}=this['editor']['plugins']['get'](n),_0x200b87=new Set();for(const _0x468788 of _0x4d2195){const _0x39951b=_0x468788['_authorId'];_0x39951b&&!_0x3205a9['getUser'](_0x39951b)&&_0x200b87['add'](_0x39951b);}if(0x0===_0x200b87['size'])return;const _0x4ff0bd=await ct['getMany'](_0x47b654,Array['from'](_0x200b87));for(const _0x4c886a of _0x4ff0bd)_0x3205a9['getUser'](_0x4c886a['id'])||_0x3205a9['addUser'](_0x4c886a);}['_getOperationsFromInitData'](_0x5798e1,_0x1646e5={}){const _0x519421=this['editor']['model'],_0x1a1ce3=[];let _0x1a915f=0x0;const _0x2bdeed='string'==typeof _0x5798e1?{'main':_0x5798e1}:_0x5798e1;for(const _0x115c3d of Object['keys'](_0x2bdeed)){if(!this['_document']['roots']['has'](_0x115c3d))throw new _0xac8d7f('realtimecollaborationclient-init-non-existent-root',this);const _0x111f6f=this['editor']['data']['parse'](_0x2bdeed[_0x115c3d]),_0x144713=this['_document']['getRoot'](_0x115c3d),_0x3dc1f7=new _0xb92ff2(_0x519421['createPositionAt'](_0x144713,0x0),_0x111f6f,_0x1a915f++);_0x1a1ce3['push'](_0x3dc1f7);for(const [_0x2fc413,_0x5e103e]of _0x111f6f['markers']){const _0x21be0e=_0x519421['createRange'](_0x519421['createPositionFromPath'](_0x144713,_0x5e103e['start']['path']['slice']()),_0x519421['createPositionFromPath'](_0x144713,_0x5e103e['end']['path']['slice']())),_0x174812=new _0x3056ac(_0x2fc413,null,_0x21be0e,_0x519421['markers'],!0x0,_0x1a915f++);_0x1a1ce3['push'](_0x174812);}}if(_0x1646e5)for(const [_0x49dccb,_0x39753d]of Object['entries'](_0x1646e5)){const _0x11d69f=_0x519421['document']['getRoot'](_0x49dccb);if(!_0x11d69f)throw new _0xac8d7f('multi-root-editor-root-attributes-no-root',null);for(const [_0x2117c2,_0x1ef482]of Object['entries'](_0x39753d))if(null!==_0x1ef482){const _0x5cd75d=new _0x599c8f(_0x11d69f,_0x2117c2,null,_0x1ef482,_0x1a915f++);_0x1a1ce3['push'](_0x5cd75d);}}return _0x1a1ce3;}async['_loadRoot'](_0x55bc44,_0x1bdbdd,_0x2b3b0a){this['_getOperationsFromInitData']({[_0x55bc44]:_0x1bdbdd},{[_0x55bc44]:_0x2b3b0a})['forEach']((_0x2bfc81,_0x58add3)=>{_0x2bfc81['baseVersion']=this['_document']['version']+_0x58add3,_0x2bfc81['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2bfc81);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5c3928,_0x4fa61c){let _0x1b61f4;this['_offset']=_0x5c3928['offset'];const _0x1390a3=_0x5c3928['wereChangesApplied']&&!_0x5c3928['initData'],_0x5858d4=_0x1390a3?0x0:_0x5c3928['data']['baseVersion'];if(_0x4fa61c['forEach'](_0xbfc21e=>{_0xbfc21e['_isInit']=!0x0,_0xbfc21e['createdAt']=_0x5c3928['sessionCreatedAt'],_0xbfc21e['_authorId']=null;}),_0x1390a3)_0x1b61f4=_0x4fa61c,this['_applyOperationsSet'](_0x1b61f4,_0x1390a3);else{if(_0x5c3928['initData']){const _0x32d7a7=this['_getOperationsFromInitData'](_0x5c3928['initData']);this['_document']['history']['version']=-_0x32d7a7['length'],_0x32d7a7['forEach'](_0x28c98d=>{_0x28c98d['baseVersion']-=_0x32d7a7['length'],_0x28c98d['createdAt']=_0x5c3928['sessionCreatedAt'],_0x28c98d['_isInit']=!0x0,_0x28c98d['_authorId']=null;}),this['_applyOperationsSet'](_0x32d7a7,!0x0),this['serverHistory']['version']=-_0x32d7a7['length']+this['_offset'],this['_updateServerHistory'](_0x32d7a7);}this['_document']['history']['version']=_0x5858d4,_0x1b61f4=this['_decompressOperations'](_0x5c3928['data'],_0x5c3928['metadata']),await this['_fetchMissingUsers'](_0x1b61f4),this['_applyOperationsSet'](_0x1b61f4,_0x1390a3);}_0x5c3928['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b61f4,_0x5c3928['lastOperationId']),this['_lastSyncedOperationId']=_0x5c3928['lastOperationId']),this['serverHistory']['version']=_0x5858d4+this['_offset'],this['_updateServerHistory'](_0x1b61f4),_0x4fa61c['filter'](_0x4281a8=>{const _0x5a11d0=this['_getAffectedRoot'](_0x4281a8);return _0x5a11d0&&!this['_knownRootNames']['has'](_0x5a11d0);})['forEach']((_0xa56f6c,_0x3ae341)=>{_0xa56f6c['baseVersion']=this['_document']['version']+_0x3ae341,this['_saveOperationInBuffer'](_0xa56f6c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x27ae0f,_0x16e278){const _0x8c4881=_0x16e278&&_0x16e278['message'];if(_0x8c4881&&_0x8c4881['startsWith']('realtimecollaborationclient'))throw _0x16e278;const _0x201ada=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x201ada['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xac8d7f(_0x27ae0f,this['editor'],_0x8c4881?{'originalError':_0x8c4881}:void 0x0);}['_saveOperationInBuffer'](_0x447267){this['_knownOperations']['has'](_0x447267)||(this['_knownOperations']['add'](_0x447267),this['_bufferedOperations']['push'](_0x447267),this['_pendingAction']||'marker'==_0x447267['type']&&!_0x447267['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5506a2=!0x1){!_0x5506a2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x8e6d8a=>{_0x8e6d8a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x23dfee=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xc6931c){return _0xc6931c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc6931c['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xc6931c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x23dfee)||this['_crash'](_0x23dfee['message'],_0x23dfee);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x45dc61=>{this['on']('change:_isPendingUpdate',()=>{_0x45dc61();});});}async['_sendBufferedOperations'](){const _0x1656bb=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x1656bb['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xe57be2=[...this['_bufferedOperations']];for(const _0x1cf6ef of _0xe57be2)_0x1cf6ef['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1cf6ef);const _0x1c18e8=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xe57be2),_0x2da9f3=X++,_0x37c86a=this['_compressOperations'](_0xe57be2),_0xff7843=await this['_service']['sendOperations'](_0x37c86a,_0x37c86a['baseVersion'],_0x1c18e8);try{return await this['_handleServerResponse'](_0xe57be2,_0xff7843,_0x2da9f3);}catch(_0x26f1d){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x26f1d);}}async['_handleServerResponse'](_0x5b72f2,_0x35478f,_0x1a0142){if('error'in _0x35478f)throw _0x35478f['error'];let _0x134a91=!0x1;if(_0x35478f['wereChangesApplied']){_0x35478f['lastOperationId']&&(this['_lastSyncedOperationId']=_0x35478f['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x31e2ad=>!_0x5b72f2['includes'](_0x31e2ad));for(const _0x5d73ec of _0x5b72f2)_0x5d73ec['createdAt']='lastOperationAcceptedAt'in _0x35478f&&_0x35478f['lastOperationAcceptedAt']||void 0x0;Z(_0x5b72f2,_0x35478f['version']-_0x5b72f2['length']),this['_updateServerHistory'](_0x5b72f2);const _0x4445a2=_0x5b72f2['filter'](_0x3ae9d2=>{if(!_0x3ae9d2['_isInit'])return!0x1;const _0x46ac62=this['_getAffectedRoot'](_0x3ae9d2);return _0x46ac62&&!this['_knownRootNames']['has'](_0x46ac62);});Z(_0x4445a2,this['_document']['version']),this['_applyOperationsSet'](_0x4445a2),_0x134a91=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5c48ab=this['_decompressOperations'](_0x35478f['data'],_0x35478f['metadata'])['filter'](_0x5ec287=>_0x5ec287['baseVersion']>=this['_lastServerVersion']);_0x5c48ab['forEach'](_0x4fda45=>this['_addKnownRoot'](_0x4fda45)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xa9170f=>!_0xa9170f['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xa9170f))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5c48ab),_0x134a91=this['_handleExternalOperations'](_0x5c48ab,_0x35478f['version'],_0x35478f['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x134a91?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x108420,_0x4781d3,_0x4bb5fb){try{const _0x35f68b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x37d862,operationsB:_0x1734c4,originalOperations:_0x2e6d65}=_0x5418fa(_0x108420,this['_bufferedOperations'],_0x35f68b);Z(_0x37d862,this['_document']['version']),Z(_0x1734c4,_0x4781d3);for(const _0x44080d of _0x37d862){const _0xa0197a=_0x2e6d65['get'](_0x44080d);_0x44080d['_authorId']=_0xa0197a?_0xa0197a['_authorId']:null;}_0x4bb5fb&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x108420,_0x4bb5fb),this['_lastSyncedOperationId']=_0x4bb5fb),this['_bufferedOperations']=[..._0x1734c4],this['_applyOperationsSet'](_0x37d862),this['_updateServerHistory'](_0x108420);}catch(_0xdb8d7c){return console['error'](_0xdb8d7c),!0x1;}return!0x0;}['_applyOperationsSet'](_0x6a3617,_0x56e5a8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4442f8=>{for(const _0x71d374 of _0x6a3617)this['_knownOperations']['add'](_0x71d374),this['_addKnownRoot'](_0x71d374),_0x4442f8['batch']['addOperation'](_0x71d374),this['editor']['model']['applyOperation'](_0x71d374);});}['_addKnownRoot'](_0x15ba7a){const _0x28ce77=this['_getAffectedRoot'](_0x15ba7a);_0x28ce77&&this['_knownRootNames']['add'](_0x28ce77);}['_getAffectedRoot'](_0x151471){let _0xb7a20c,_0x1d4253;switch(_0x151471['type']){case'insert':_0xb7a20c=_0x151471['position']['root'];break;case'marker':if(_0x1d4253=_0x151471['newRange'],!_0x1d4253)return null;_0xb7a20c=_0x1d4253['root'];break;case'addRootAttribute':_0xb7a20c=_0x151471['root'];break;case'addRoot':_0xb7a20c=_0x151471['affectedSelectable'];break;case'move':_0xb7a20c=_0x151471['targetPosition']['root'];break;default:return null;}return _0xb7a20c['rootName'];}['_updateServerHistory'](_0x5dd1a3){_0x5dd1a3['forEach'](_0x4f1a9b=>{const _0x4e7c9e=_0x4f1a9b['clone']();_0x4e7c9e['_authorId']=_0x4f1a9b['_authorId'],_0x4e7c9e['_isInit']=!!_0x4f1a9b['_isInit'],_0x4e7c9e['createdAt']=_0x4f1a9b['createdAt'],_0x4e7c9e['baseVersion']+=this['_offset'],_0x4f1a9b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4e7c9e),this['serverHistory']['addOperation'](_0x4e7c9e);});}['_handleReconnectionError'](_0x42022b){const _0x1338f6=this['editor']['plugins']['get']('Notification'),_0x1e0186=this['editor']['locale'];_0x42022b||(_0x42022b=K(_0x1e0186,'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.')),_0x1338f6['showWarning'](_0x42022b,{'title':K(_0x1e0186,'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'](_0x30d298)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x30d298)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x50981d){const _0x5d6336=_0x50981d['map'](_0xf4ca41=>_0xf4ca41['toJSON']());return this['_compressor']['compress'](_0x5d6336);}['_decompressOperations'](_0x1979fb,_0x4c9e24){return this['_compressor']['decompress'](_0x1979fb)['map']((_0x4c394e,_0x2e6b92)=>{const _0x44cf78='init'==_0x4c9e24[_0x2e6b92]['type'];if('InsertOperation'==_0x4c394e['__className']){const _0x8a7047=_0x4c394e['position']['root'];!this['_document']['getRoot'](_0x8a7047)&&(this['_document']['createRoot']('$root',_0x8a7047)['_isAttached']=!0x1);}const _0xd9c3dc=_0x51f99f['fromJSON'](_0x4c394e,this['_document']);return _0xd9c3dc['wasUndone']=_0x4c394e['wasUndone'],_0xd9c3dc['_isInit']=_0x44cf78,_0xd9c3dc['_authorId']=_0x44cf78?null:_0x4c9e24[_0x2e6b92]['userId'],_0xd9c3dc['_isDisconnection']='cs:removeUser'===_0x4c9e24[_0x2e6b92]['type'],_0xd9c3dc['createdAt']=_0x4c9e24[_0x2e6b92]['createdAt'],_0xd9c3dc;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x52d4c0=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x52d4c0&&_0x52d4c0['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x39f4d7,_0x35d7de){for(const _0x439f98 of _0x39f4d7)_0x439f98['baseVersion']=_0x35d7de++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x4a70eb){this['_ignoredOperations']=_0x4a70eb,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x541606){let _0x5a19e7=_0x541606['length'];for(;_0x5a19e7--;){const _0x4f21a6=_0x541606[_0x5a19e7];if(!this['_ignoredOperations']['has'](_0x4f21a6)){if(!this['_operationToId']['has'](_0x4f21a6)){const _0x3bdf6f=_0x32f4d4()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4f21a6,_0x3bdf6f);}return this['_operationToId']['get'](_0x4f21a6);}}}['setIdForTheLastOperation'](_0xf6fd7e,_0x37b07f){if(!_0x37b07f)return;let _0x200388=_0xf6fd7e['length'];for(;_0x200388--;){const _0x1c171b=_0xf6fd7e[_0x200388];this['_ignoredOperations']['has'](_0x1c171b)||this['_operationToId']['set'](_0x1c171b,_0x37b07f);}}}class a extends _0x516461{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x29ab63{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x4ebf34)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x530760];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x8e8426){super(_0x8e8426),this['_services']=new Map();}async['init'](){const _0x23f851=this['context'],_0xf615d=_0x23f851['plugins']['get']('CommentsRepository');if(_0x23f851['plugins']['get'](n)['addToReconnectionStack'](this),_0xf615d['adapter']={'addCommentThread':async({channelId:_0x3b88c0,threadId:_0x34a453,comments:_0x3326f4,resolvedAt:_0x12dfec,resolvedBy:_0x8d524c,context:_0x599c58,attributes:_0x30211c})=>{const _0x41f338=await this['_getService'](_0x3b88c0)['addCommentThread']({'commentThreadId':_0x34a453,'comments':_0x3326f4['map'](_0x241018=>function(_0x486e86,_0x159a14,_0x3182b9){return{'commentThreadId':_0x3182b9,'commentId':_0x486e86['commentId'],'userId':_0x486e86['authorId'],'content':_0x486e86['content'],'documentId':_0x159a14,'createdAt':_0x486e86['createdAt'],'attributes':_0x486e86['attributes']||{}};}(_0x241018,_0x3b88c0,_0x34a453)),'resolvedAt':_0x12dfec,'resolvedBy':_0x8d524c,'context':_0x599c58,'attributes':_0x30211c})['catch'](at);return{'threadId':_0x41f338['commentThreadId'],'comments':_0x41f338['comments']};},'getCommentThread':async({channelId:_0x3197b1,threadId:_0x702a75})=>{const _0x20ca39=await this['_getService'](_0x3197b1)['getCommentThread'](_0x702a75)['catch'](at);return _0x20ca39['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x20ca39]),{'threadId':_0x20ca39['commentThreadId'],'comments':_0x20ca39['comments']['map'](p),'context':_0x20ca39['context'],'resolvedAt':_0x20ca39['resolvedAt'],'resolvedBy':_0x20ca39['resolvedBy'],'attributes':_0x20ca39['attributes']||{}});},'updateCommentThread':async({channelId:_0xac5b30,threadId:_0x128a78,context:_0x3014c3,unlinkedAt:_0x3c7a57,attributes:_0x25f164})=>this['_getService'](_0xac5b30)['updateCommentThread']({'commentThreadId':_0x128a78,'context':_0x3014c3,'attributes':_0x25f164,'unlinkedAt':_0x3c7a57})['catch'](v)['catch'](at),'resolveCommentThread':async({channelId:_0x2a3d16,threadId:_0x500330})=>{const _0x27ce85=await this['_getService'](_0x2a3d16)['resolveCommentThread'](_0x500330)['catch'](v)['catch'](at);return{'threadId':_0x27ce85['commentThreadId'],'resolvedAt':_0x27ce85['resolvedAt'],'resolvedBy':_0x27ce85['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2dd8ea,threadId:_0x1c779a})=>this['_getService'](_0x2dd8ea)['reopenCommentThread'](_0x1c779a)['catch'](v)['catch'](at),'removeCommentThread':({channelId:_0x30e153,threadId:_0x183d5d})=>this['_getService'](_0x30e153)['removeCommentThread'](_0x183d5d)['catch'](v)['catch'](at),'addComment':({channelId:_0x2a0ee3,threadId:_0x382063,commentId:_0x7a4db3,content:_0x29e723,attributes:_0x1da831})=>this['_getService'](_0x2a0ee3)['addComment'](_0x382063,_0x7a4db3,_0x29e723,_0x1da831)['catch'](at),'updateComment':({channelId:_0x3aa421,threadId:_0x2813e8,commentId:_0x1832c9,content:_0x5a7eb5,attributes:_0x28da3b})=>this['_getService'](_0x3aa421)['updateComment'](_0x2813e8,_0x1832c9,_0x5a7eb5,_0x28da3b)['catch'](v)['catch'](at),'removeComment':({channelId:_0x546b9b,threadId:_0x34a00e,commentId:_0x170a0c})=>this['_getService'](_0x546b9b)['removeComment'](_0x34a00e,_0x170a0c)['catch'](v)['catch'](at)},_0x23f851 instanceof _0x1b02df){const _0x918e81=_0x23f851['config']['get']('collaboration.channelId'),_0x47305b=_0x23f851['plugins']['get'](i);await this['_setUpService'](_0x918e81);const _0x9e8d4b=await this['_services']['get'](_0x918e81)['getConnectedSessions']();this['listenTo'](_0x47305b,'sessionAdd:'+_0x918e81,(_0x37804f,{session:_0x50184b})=>{_0x50184b['id']===_0x47305b['mySessionId']&&(_0x37804f['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x50184b['permissions'],_0x918e81));}),_0x47305b['register'](_0x918e81,_0x9e8d4b);}}async['_setUpService'](_0x434d50){if(this['_services']['has'](_0x434d50))throw new _0xac8d7f('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x434d50});const _0x56dedd=this['context']['plugins']['get']('CommentsRepository'),_0x86aef6=new s['CommentsService'](_0x434d50);this['_services']['set'](_0x434d50,_0x86aef6),this['listenTo'](_0x86aef6,'commentThreadAdded',(_0x26a14f,_0x3d30cc)=>{const {commentThreadId:_0x5339e3,documentId:_0x15ccc0,context:_0x4d915e,attributes:_0x396eda,resolvedAt:_0x20665d,resolvedBy:_0xd76198,comments:_0xc5e50f}=_0x3d30cc;_0x56dedd['getCommentThread'](_0x5339e3)||_0x56dedd['addCommentThread']({'threadId':_0x5339e3,'channelId':_0x15ccc0,'comments':_0xc5e50f?_0xc5e50f['map'](p):[],'context':_0x4d915e,'attributes':_0x396eda,'resolvedAt':_0x20665d,'resolvedBy':_0xd76198,'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentThreadUpdated',(_0xaa4361,{commentThreadId:_0x746d9d,documentId:_0x1c928a,context:_0x1ada50,unlinkedAt:_0x45f723,attributes:_0x660921})=>{_0x56dedd['getCommentThread'](_0x746d9d)&&_0x56dedd['updateCommentThread']({'threadId':_0x746d9d,'channelId':_0x1c928a,'context':_0x1ada50,'unlinkedAt':_0x45f723,'attributes':_0x660921,'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentThreadResolved',(_0x1c9a01,{commentThreadId:_0x39942b,resolvedBy:_0x5cdc2b,resolvedAt:_0x265ef7})=>{const _0x1f9002=_0x56dedd['getCommentThread'](_0x39942b);_0x1f9002&&_0x1f9002['resolve']({'resolvedBy':_0x5cdc2b,'resolvedAt':_0x265ef7,'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentThreadReopened',(_0x21b3c2,{commentThreadId:_0x351643})=>{const _0x357dde=_0x56dedd['getCommentThread'](_0x351643);_0x357dde&&_0x357dde['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentThreadRemoved',(_0x2944ec,{commentThreadId:_0x28cd2a})=>{const _0x14e3ec=_0x56dedd['getCommentThread'](_0x28cd2a);_0x14e3ec&&_0x14e3ec['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentAdded',(_0x455de2,_0x55c64e)=>{const _0x45c809=_0x55c64e['commentThreadId'],_0x4c2222=_0x56dedd['getCommentThread'](_0x45c809);_0x4c2222&&_0x4c2222['addComment']({...p(_0x55c64e),'isFromAdapter':!0x0});}),this['listenTo'](_0x86aef6,'commentUpdated',(_0x1b28d1,{commentThreadId:_0xf7202f,commentId:_0x221c6f,content:_0x45c4f6,attributes:_0x2463cd})=>{const _0x46eaa2=_0x56dedd['getCommentThread'](_0xf7202f);if(_0x46eaa2){const _0x54d96e=_0x46eaa2['getComment'](_0x221c6f);_0x54d96e&&_0x54d96e['update']({'content':_0x45c4f6,'attributes':_0x2463cd,'isFromAdapter':!0x0});}}),this['listenTo'](_0x86aef6,'commentRemoved',(_0x55bdbd,{commentThreadId:_0x251695,commentId:_0x211714})=>{const _0x19e1e8=_0x56dedd['getCommentThread'](_0x251695);if(_0x19e1e8){const _0x579e85=_0x19e1e8['getComment'](_0x211714);_0x579e85&&_0x579e85['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x434d50);}['destroy'](){if(this['context']instanceof _0x1b02df){const _0x42f8e9=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x42f8e9);}}['_terminateService'](_0x4a6b53){if(!this['_services']['has'](_0x4a6b53))throw new _0xac8d7f('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4a6b53});this['_getService'](_0x4a6b53)['disconnect'](),this['_services']['delete'](_0x4a6b53);}async['reconnect'](){for(const _0x66b0a of this['_services']['keys']())await this['_connectService'](_0x66b0a);if(this['context']instanceof _0x1b02df){const _0x1543b4=this['context']['config']['get']('collaboration.channelId'),_0xbdf212=this['context']['plugins']['get'](i);_0xbdf212['unregister'](_0x1543b4);const _0x3f1e1d=await this['_services']['get'](_0x1543b4)['getConnectedSessions']();_0xbdf212['register'](_0x1543b4,_0x3f1e1d);}}async['_connectService'](_0x4c7225){const {connection:_0x29e1fc}=this['context']['plugins']['get'](n),_0x49dcd8=this['context']['plugins']['get']('CommentsRepository'),_0x515a82=this['_services']['get'](_0x4c7225),_0x4744cb=await _0x515a82['connect'](_0x29e1fc);await this['_fetchMissingUsersForThreads'](_0x4744cb);const _0x38fa0f=new Set(Array['from'](_0x49dcd8['getCommentThreads']({'channelId':_0x4c7225}),_0x2a6636=>_0x2a6636['id']));for(const _0x13d466 of _0x4744cb)_0x13d466['deletedAt']||_0x38fa0f['delete'](_0x13d466['commentThreadId']);for(const _0x240b5c of _0x38fa0f)_0x49dcd8['getCommentThread'](_0x240b5c)['remove']({'isFromAdapter':!0x0});for(const _0x3fd3b3 of _0x4744cb){let _0x376e0b=_0x49dcd8['getCommentThread'](_0x3fd3b3['commentThreadId']);const {commentThreadId:_0x11ea5d,context:_0xefbbab,attributes:_0x3efe57,resolvedBy:_0x1e7b05,resolvedAt:_0x1a84fb,unlinkedAt:_0x5e0097,deletedAt:_0x27a942}=_0x3fd3b3;if(_0x27a942)continue;_0x376e0b||(_0x376e0b=_0x49dcd8['addCommentThread']({'channelId':_0x4c7225,'threadId':_0x11ea5d,'context':_0xefbbab,'attributes':_0x3efe57||{},'resolvedBy':_0x1e7b05,'resolvedAt':_0x1a84fb,'unlinkedAt':_0x5e0097,'isFromAdapter':!0x0}));const _0x254845=new Set(Array['from'](_0x376e0b['comments'],_0x1d10a5=>_0x1d10a5['id']));for(const _0x1232a7 of _0x3fd3b3['comments'])_0x254845['delete'](_0x1232a7['commentId']);for(const _0x5474b8 of _0x254845)_0x376e0b['getComment'](_0x5474b8)['remove']({'isFromAdapter':!0x0});for(const _0x201168 of _0x3fd3b3['comments']){const _0x4e0e85=_0x376e0b['getComment'](_0x201168['commentId']);_0x4e0e85?_0x4e0e85['content']!==_0x201168['content']&&_0x4e0e85['update']({'content':_0x201168['content'],'isFromAdapter':!0x0}):_0x376e0b['addComment'](Object['assign'](p(_0x201168),{'isFromAdapter':!0x0}));}}}['_getService'](_0x114ab3){if(!this['_services']['has'](_0x114ab3))throw new _0xac8d7f('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x114ab3});return this['_services']['get'](_0x114ab3);}async['_fetchMissingUsersForThreads'](_0x249bcb){const _0x570781=this['context']['plugins']['get'](_0x530760),{connection:_0x576ca4}=this['context']['plugins']['get'](n),_0x3c5231=new Set();for(const {resolvedBy:_0x31288d,comments:_0x2f7026}of _0x249bcb){_0x31288d&&!_0x570781['getUser'](_0x31288d)&&_0x3c5231['add'](_0x31288d);for(const {userId:_0x4d8358}of _0x2f7026)_0x570781['getUser'](_0x4d8358)||_0x3c5231['add'](_0x4d8358);}if(0x0===_0x3c5231['size'])return;const _0x50d7a5=await ct['getMany'](_0x576ca4,Array['from'](_0x3c5231));for(const _0x4b07f2 of _0x50d7a5)_0x570781['getUser'](_0x4b07f2['id'])||_0x570781['addUser'](_0x4b07f2);}}async function v(_0x447615){if('404'!==_0x447615['code'])throw _0x447615;}function at(_0x3e8cff){if((_0x2db8d7=_0x3e8cff)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2db8d7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2db8d7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2db8d7;throw _0x3e8cff;}function p(_0x1e5029){return{'threadId':_0x1e5029['commentThreadId'],'commentId':_0x1e5029['commentId'],'content':_0x1e5029['content'],'createdAt':_0x1e5029['createdAt'],'authorId':_0x1e5029['userId'],'attributes':_0x1e5029['attributes']||{}};}class m extends _0x516461{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x4ce9d2)());['_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(_0xa8e204){super(_0xa8e204);const _0x409ee4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x409ee4);}['init'](){const _0x5bf2df=this['editor']['plugins']['get'](n),_0x10fa03=this['editor']['plugins']['get']('TrackChangesEditing');return _0x10fa03['adapter']={'getSuggestion':async _0x1a99aa=>{await this['_waitForServiceReady']();const _0x58f9d4=await this['_trackChangesService']['get'](_0x1a99aa)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x58f9d4]),_0x58f9d4;},'addSuggestion':async({id:_0x2899cd,type:_0x827093,data:_0x1d7bed,originalSuggestionId:_0x1233aa,attributes:_0x1e422})=>{await this['_waitForServiceReady']();const _0x3265ca={'id':_0x2899cd,'type':_0x827093,'data':_0x1d7bed,'originalSuggestionId':_0x1233aa,'attributes':_0x1e422},_0xb09c7d=await this['_trackChangesService']['add'](_0x2899cd,_0x827093,_0x1d7bed,_0x1233aa,_0x1e422)['catch'](_0x5de2e6=>{if(ht(_0x5de2e6))return new Promise(_0x13edab=>{this['_bufferedRequests']['set'](_0x2899cd,{'resolve':_0x13edab,'suggestionData':_0x3265ca});});throw _0x5de2e6;});return this['_bufferedRequests']['delete'](_0x2899cd),_0xb09c7d;},'updateSuggestion':async(_0xc27ee8,_0x21a6da)=>{if(await this['_waitForServiceReady'](),'open'!==_0x21a6da['state'])return this['_trackChangesService']['update'](_0xc27ee8,_0x21a6da)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3bea76,_0x57a842)=>{_0x10fa03['hasSuggestion'](_0x57a842['id'])&&(_0x10fa03['getSuggestion'](_0x57a842['id'])['attributes']=_0x57a842['attributes']);}),this['_trackChangesService']['connect'](_0x5bf2df['connection'])['then'](_0x7e884b=>(_0x5bf2df['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x7e884b)['then'](()=>{for(const _0x481ffc of _0x7e884b){_0x10fa03['addSuggestionData'](_0x481ffc)['_saved']=!0x0;}})));}async['reconnect'](){const _0x167499=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x42ac2e}=this['editor']['plugins']['get'](n),_0x3f9e28=await this['_trackChangesService']['connect'](_0x42ac2e);await this['_fetchMissingUsersForThreads'](_0x3f9e28);for(const {suggestionData:_0x228afe,resolve:_0x30c273}of this['_bufferedRequests']['values']()){let _0x53602a=_0x3f9e28['find'](_0x13859d=>_0x13859d['id']===_0x228afe['id']);_0x53602a||(_0x53602a=await this['_trackChangesService']['add'](_0x228afe['id'],_0x228afe['type'],_0x228afe['data'],_0x228afe['originalSuggestionId'])),_0x30c273(_0x53602a);}for(const _0x48c132 of _0x3f9e28)_0x167499['hasSuggestion'](_0x48c132['id'])||_0x167499['addSuggestionData'](_0x48c132);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2f7464=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5477dd=>{_0x5477dd['off'](),_0x2f7464();});});}async['_fetchMissingUsersForThreads'](_0x43aa29){const _0x1f997e=this['editor']['plugins']['get'](_0x530760),{connection:_0xe432fd}=this['editor']['plugins']['get'](n),_0xd5eeb9=new Set();for(const {authorId:_0x3a2389}of _0x43aa29)_0x1f997e['getUser'](_0x3a2389)||_0xd5eeb9['add'](_0x3a2389);if(0x0===_0xd5eeb9['size'])return;const _0x30eaf3=await ct['getMany'](_0xe432fd,Array['from'](_0xd5eeb9));for(const _0x2eca07 of _0x30eaf3)_0x1f997e['getUser'](_0x2eca07['id'])||_0x1f997e['addUser'](_0x2eca07);}}function A(_0x23935d){if(ht(_0x23935d))return new Promise(()=>{});throw _0x23935d;}function ht(_0x147f23){return _0x147f23['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x147f23['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x516461{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 _0x296c4e=this['editor']['plugins']['get'](n),_0x20c98c=this['editor']['plugins']['get']('CommentsEditing'),_0x3f93ca=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x296c4e,'change:state',(_0x3654e9,_0x37e85a,_0xa1ce52)=>{_0x20c98c['isThreadsLoadingPaused']='connected'!==_0xa1ce52;});}),this['listenTo'](_0x296c4e,'change:state',(_0x460512,_0x282d1a,_0x1ea0c6)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x1ea0c6);}),_0x3f93ca['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x516461{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 _0x516461{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5cc90d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x530760];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x11bdd1){super(_0x11bdd1);const _0x33cda0=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x33cda0);}async['init'](){const _0x114f65=this['editor']['plugins']['get'](l),_0x4833f9=_0x114f65['serverHistory'],_0x4d253a=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4833f9,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x114f65['sessionId']});const _0x256a2a=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3e2318=await _0x10ae17['isBundleUploaded'](_0x4d253a['connection'],_0x256a2a);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x3d8c01})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x3d8c01)),'updateRevisions':async _0x5eb1b9=>{await this['_waitForServiceReady']();const _0x3fdfec=this['_revisionTracker']['currentRevision'];if(_0x3e2318&&0x1===_0x5eb1b9['length']&&_0x5eb1b9[0x0]['id']===_0x3fdfec['id'])return _0x5eb1b9;for(const _0x667fe5 of _0x5eb1b9)_0x667fe5['id']===_0x3fdfec['id']&&(_0x667fe5['isEmptyCurrent']=_0x667fe5['fromVersion']===_0x667fe5['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5eb1b9,this['_lastRequestId'])['then'](_0x3b9039=>(this['_lastRequestId']=_0x3b9039,_0x5eb1b9))['catch'](_0xdd561b=>{if(M(_0xdd561b)||'400'===_0xdd561b['code']&&void 0x0!==_0xdd561b['data']['wrongRequestId']){for(const _0x15d106 of _0x5eb1b9){!this['_revisionTracker']['repository']['getRevision'](_0x15d106['id'])||this['_revisionTracker']['_bufferUpdate'](_0x15d106['id'],_0x15d106,!0x1);}if(M(_0xdd561b))throw _0xdd561b;return _0x5eb1b9;}throw _0xdd561b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x21c751,{revisionsData:_0x170f58,requestId:_0x16225c})=>{Math['max'](..._0x170f58['map'](_0x5b5b0a=>_0x5b5b0a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x170f58,_0x16225c);}):this['_handleRevisionsUpdate'](_0x170f58,_0x16225c);});const {revisions:_0x452bb8,requestId:_0x4f2658}=await this['_revisionHistoryService']['connect'](_0x4d253a['connection']);_0x4d253a['addToReconnectionStack'](this),this['_lastRequestId']=_0x4f2658,await this['_fetchMissingUsers'](_0x452bb8);for(const _0x3dc97c of _0x452bb8)this['_revisionTracker']['addRevisionData'](_0x3dc97c);this['listenTo'](_0x114f65,'change:_isConnected',(_0x2564ff,_0x2a156d,_0xe76d37)=>{_0xe76d37&&(this['_oldOffset']=_0x114f65['_offset'],_0x2564ff['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4d253a,'state',_0x2b36bb=>_0x2b36bb===_0x132d53['CONNECTED']);}async['reconnect'](){const _0x5ed36b=this['editor']['plugins']['get'](n),_0x4877bf=this['editor']['plugins']['get'](l),_0x1a2967=async()=>{const _0x4fd1a9=this['_revisionTracker']['currentRevision'],_0x230370=_0x4fd1a9['id'],_0x41ebd2=_0x230370!==_0x4877bf['sessionId'];if(_0x41ebd2){const _0x2ed7ff=_0x4877bf['_offset']-this['_oldOffset'],_0xc960cd=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4fd1a9['toVersion']+_0x2ed7ff!==_0xc960cd){const _0xf5d291=_0x4fd1a9['fromVersion']+_0x2ed7ff,_0x3e7312=this['editor']['plugins']['get'](_0x530760),_0x3e7c3e=this['_revisionTracker']['buildRevisionData']({'revision':_0x4fd1a9,'from':_0xf5d291,'to':_0xc960cd});_0x3e7c3e['id']=_0x4fd1a9['id'];const _0x31fe3b=_0x3e7c3e['authorsIds']['map'](_0x82000d=>_0x3e7312['getUser'](_0x82000d));_0x4fd1a9['_update']({..._0x3e7c3e,'authors':_0x31fe3b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4fd1a9['id'],_0x3e7c3e,!0x0);}this['_revisionTracker']['_startingVersion']=_0xc960cd,(_0x4fd1a9['toVersion']===_0x4fd1a9['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x230370)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x230370),this['_revisionTracker']['_createCurrentRevision'](_0xc960cd));}const {revisions:_0x319597,requestId:_0x43ad39}=await this['_revisionHistoryService']['reconnect'](_0x5ed36b['connection'],this['_lastRequestId']);_0x41ebd2&&_0x319597['length']>0x0?_0x4877bf['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x319597),this['_handleRevisionsUpdate'](_0x319597,_0x43ad39),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4877bf['_isConnected']?_0x1a2967():new Promise((_0x1ad6f8,_0x2c84c2)=>{_0x4877bf['once']('change:_isConnected',()=>{_0x1a2967()['then'](_0x1ad6f8)['catch'](_0x2c84c2);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x506ba3=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3879e9=>{_0x3879e9['off'](),_0x506ba3();});});}['_getLatestVersionFromServerOperations'](){const _0x18c2c4=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2b7456 of _0x18c2c4)if('marker'!==_0x2b7456['type']||_0x2b7456['affectsData'])return _0x2b7456['baseVersion']+0x1;}['_getLatestVersion'](){const _0x102e50=this['editor']['plugins']['get'](l);return new Promise(_0x494668=>{_0x102e50['_isPendingUpdate']?_0x102e50['once']('change:_isPendingUpdate',()=>{_0x494668(this['_getLatestVersionFromServerOperations']());}):_0x494668(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x105c47,_0x9baf0a){const _0x1dd48d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x9baf0a;for(const _0x410040 of _0x105c47){const _0x2c3a75=_0x1dd48d['getRevision'](_0x410040['id']);if(_0x2c3a75){if((_0x410040['fromVersion']||_0x410040['toVersion'])&&(_0x410040['diffData']=null),_0x2c3a75===this['_revisionTracker']['currentRevision']){const _0xe16a9a=Math['max'](_0x2c3a75['toVersion'],_0x410040['toVersion']),_0x49029d=Math['max'](_0x2c3a75['fromVersion'],_0x410040['fromVersion']);let _0x38a096;_0x2c3a75['toVersion']===_0x410040['toVersion']&&_0x2c3a75['fromVersion']===_0x410040['fromVersion']?(_0x38a096=!0x0,this['_preventResendingRevisionData'](_0x410040)):_0x410040['toVersion']===_0xe16a9a&&_0x410040['fromVersion']===_0x49029d?_0x38a096=!0x1:(_0x2c3a75['toVersion']===_0xe16a9a&&_0x2c3a75['fromVersion']===_0x49029d||this['_fixRevision']({'revision':_0x2c3a75,'from':_0x49029d,'to':_0xe16a9a}),_0x38a096=!0x0),_0x38a096&&(delete _0x410040['fromVersion'],delete _0x410040['toVersion'],delete _0x410040['diffData'],delete _0x410040['createdAt'],delete _0x410040['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x410040),this['_preventResendingRevisionData'](_0x410040);}else this['_revisionTracker']['addRevisionData'](_0x410040);}const _0x166fb8=_0x1dd48d['getRevisions']();_0x166fb8['reverse']();for(let _0x467673=0x0;_0x467673<_0x166fb8['length']-0x1;_0x467673++){const _0x1ebf6a=_0x166fb8[_0x467673],_0x51ce9c=_0x166fb8[_0x467673+0x1];if(_0x1ebf6a['fromVersion']<_0x51ce9c['toVersion']){const _0xec0f5b=_0x51ce9c['toVersion'],_0x1290f8=Math['max'](_0xec0f5b,_0x1ebf6a['toVersion']);this['_fixRevision']({'revision':_0x1ebf6a,'from':_0xec0f5b,'to':_0x1290f8});}}}['_fixRevision']({revision:_0x2c73c8,from:_0x54ac6e,to:_0x31d4fd}={}){const _0x529b26=this['editor']['plugins']['get'](_0x530760),_0x563368=this['_revisionTracker']['buildRevisionData']({'revision':_0x2c73c8,'from':_0x54ac6e,'to':_0x31d4fd});_0x563368['authors']=_0x563368['authorsIds']['map'](_0xcb4bc6=>_0x529b26['getUser'](_0xcb4bc6)),_0x2c73c8['_update'](_0x563368);}['_preventResendingRevisionData'](_0x1b2066){const _0x1369f0={};_0x1369f0['id']=_0x1b2066['id'];for(const _0x411e23 of Object['keys'](_0x1b2066))'id'!==_0x411e23&&(_0x1369f0[_0x411e23]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1369f0['id'],_0x1369f0,!0x0);}async['_fetchMissingUsers'](_0x21f923){const _0x404687=this['editor']['plugins']['get'](_0x530760),{connection:_0x23d5b4}=this['editor']['plugins']['get'](n),_0x559495=new Set();for(const _0x39f9df of _0x21f923){for(const _0x244cf1 of _0x39f9df['authorsIds'])_0x9eef98(_0x244cf1);_0x39f9df['creatorId']&&_0x9eef98(_0x39f9df['creatorId']);}if(0x0===_0x559495['size'])return;const _0x43195d=await ct['getMany'](_0x23d5b4,Array['from'](_0x559495));for(const _0x37292a of _0x43195d)_0x404687['getUser'](_0x37292a['id'])||_0x404687['addUser'](_0x37292a);function _0x9eef98(_0x599dcd){_0x404687['getUser'](_0x599dcd)||_0x559495['add'](_0x599dcd);}}}function M(_0x4fde3d){return _0x4fde3d['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4fde3d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4fde3d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x516461{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x178204{['_collapseAt'];constructor(_0x48fce7,_0x5b06d3=0x6){super(_0x48fce7);const _0x243004=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5b06d3,this['bind']('isHidden')['to'](this,'usersCount',_0x46f91c=>_0x46f91c<_0x5b06d3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x243004['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':_0x243004['to']('usersCount',_0x2dfd4b=>'+'+(_0x2dfd4b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x178204{['items'];['keystrokes'];constructor(_0xc9dafa){super(_0xc9dafa);const _0x122b5a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x38c104(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x122b5a['if']('hasPopup'),'aria-expanded':_0x122b5a['to']('isExpanded',_0x1b98d6=>this['hasPopup']&&String(_0x1b98d6)),'aria-label':_0x122b5a['to']('hasPopup',_0x5d9ec6=>K(_0xc9dafa,_0x5d9ec6?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x122b5a['to']('hasPopup',_0x2a6648=>!!_0x2a6648&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x122b5a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x122b5a['to'](_0x18df36=>{const _0x599361=_0x18df36,_0x17a806=document['querySelector']('.ck-presence-list__dropdown-list'),_0x4a6dc9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x17a806?.['contains'](_0x599361['relatedTarget'])||_0x4a6dc9?.['contains'](_0x599361['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x441e2,_0x50c5fd,_0x548e4d)=>{this['element']&&(_0x548e4d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x178204{['counterView'];['inlineListView'];constructor(_0x52bdec,_0x1bb28a=0x6){super(_0x52bdec);const _0x34598d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x1bb28a),this['inlineListView']=new is(_0x52bdec),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x6913de of this['inlineListView']['items'])_0x6913de['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',_0x34598d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x178204{['listWrapperView'];constructor(_0x41aabc,_0x5c712c){super(_0x41aabc);const _0x47c055=this['bindTemplate'];this['listWrapperView']=new ut(_0x41aabc,_0x5c712c),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x41aabc,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x47c055['to'](_0x1ff079=>{const _0x12c70e=_0x1ff079,_0x31bf67=document['querySelector']('.ck-presence-list__list'),_0x7d39c5=document['querySelector']('.ck-balloon-panel_with-arrow');_0x31bf67?.['contains'](_0x12c70e['relatedTarget'])||_0x7d39c5?.['contains'](_0x12c70e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x79bd65{constructor(_0x9a8435,_0x58b0e2){super(_0x9a8435);const _0x16b4a7=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x58b0e2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x16b4a7['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x16b4a7['to']('role'),'aria-label':_0x16b4a7['to']('ariaLabel'),'aria-labelledby':_0x16b4a7['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5a5cb2['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3e4d27=this['element'];_0x3e4d27&&(this['_isScrollable']=Math['max'](_0x3e4d27['scrollHeight'],_0x3e4d27['clientHeight'])>0.8*window['innerHeight']);}}class P extends et{['userView'];constructor(_0x2da7d5,_0x2a15d6,_0x13f884){super(_0x2da7d5);const _0x4dcb4b=this['bindTemplate'];this['userView']=new st(_0x2da7d5,_0x2a15d6);const _0x152ab3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2a15d6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2a15d6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2a15d6['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x13f884&&(_0x152ab3['tag']='button',_0x152ab3['on']={'click':_0x4dcb4b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x152ab3);}['focus'](){this['element']['focus']();}}class _ extends _0x178204{['userView'];['markerView'];constructor(_0xa4114b,_0xf52fbf,_0x4c1ec2){super(_0xa4114b);const _0x978344=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0xa4114b,_0xf52fbf),this['markerView']=new ot(_0xa4114b,_0xf52fbf);const _0x1d31c5=new it(_0xa4114b);_0x1d31c5['template']['tag']='span',_0x1d31c5['text']=_0xf52fbf['name'];const _0x344879={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x978344['to']('isFocusable',_0x33c62b=>!!_0x33c62b&&0x0),'aria-labelledby':_0x1d31c5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x978344['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x978344['to']('hasTooltip',_0x29543e=>!_0x29543e),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1d31c5]};_0x4c1ec2&&(_0x344879['tag']='button',_0x344879['on']={'click':_0x978344['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x344879);}}class ot extends _0x178204{constructor(_0x4a932a,_0x117786){super(_0x4a932a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x117786['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x29ab63{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5752d0){super(_0x5752d0),this['context']['config']['define']('presenceList',U);const _0xac9eb7=_0x5752d0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0xac9eb7)throw new _0xac8d7f('presencelist-collapseat-invalid-format',this);if(_0xac9eb7<0x1)throw new _0xac8d7f('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xedfe61(),this['balloonPanelView']=new _0x2fe979(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x8104b0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x8104b0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x24be72,_0x46f1fd)=>{this['_handleUserAdd'](_0x46f1fd);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2418dd,_0x1feda2)=>{this['_handleUserRemove'](_0x1feda2);});}['_createView'](){const _0xdd368c=this['context'],_0x26dac3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x576d7c=this['balloonPanelView'];if(!_0x4cf03f(_0xdd368c['config']['get']('presenceList.container')))throw new _0xac8d7f('presencelist-missing-container',this);return _0x26dac3['counterView']['bind']('usersCount')['to'](this),_0x26dac3['bind']('isCollapsed')['to'](this,'usersCount',_0x17b28e=>{const {collapseAt:_0x5549c5}=_0xdd368c['config']['get']('presenceList'),_0x20ef7d=_0x17b28e>=_0x5549c5;if(_0x20ef7d&&!_0x26dac3['inlineListView']['items']['find'](_0x2373f1=>_0x2373f1 instanceof y)){const _0x53ed67=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x53ed67&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x26dac3['inlineListView']['items']['add'](_0x26dac3['counterView']);}return _0x20ef7d||this['hideDropdown'](),_0x20ef7d;}),_0x26dac3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3ca925=>{const _0x2467b4=_0xdd368c['config']['get']('presenceList'),_0x4330f8=new _(_0xdd368c['locale'],_0x3ca925,!!_0x2467b4['onClick']);return _0x4330f8['bind']('hasTooltip')['to'](_0x26dac3,'isCollapsed',_0x340efc=>!_0x340efc),_0x4330f8['bind']('isFocusable')['to'](_0x26dac3,'isCollapsed',_0x430653=>!_0x430653),_0x2467b4['onClick']&&this['listenTo'](_0x4330f8,'execute',()=>{this['view']['isCollapsed']||_0x2467b4['onClick'](_0x3ca925,_0x4330f8['element']);}),_0x4330f8;}),this['listenTo'](_0x26dac3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x26dac3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x26dac3['inlineListView']['keystrokes']['set']('Enter',(_0x124c30,_0x50983d)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x50983d());}),_0x26dac3['render'](),_0x576d7c['render'](),_0x5cda66({'emitter':_0x26dac3,'activator':()=>_0x576d7c['isVisible'],'contextElements':[_0x576d7c['element'],_0x26dac3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xdd368c['config']['get']('presenceList.container')['appendChild'](_0x26dac3['element']),this['_bodyCollection']=new _0xea0b6d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x26dac3;}['_handleUserAdd'](_0x4699cd){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x4699cd['isMe'])return;const _0xcf91a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xcf91a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3dba14=_0x4699cd['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x4699cd,_0x3dba14);}['_handleUserRemove'](_0x43559){this['usersCount']--;const {collapseAt:_0x58ca80}=this['context']['config']['get']('presenceList'),_0xe5faf4=this['usersCount']>=_0x58ca80;if(this['currentDisplayedUsers']['get'](_0x43559['id']))this['currentDisplayedUsers']['remove'](_0x43559['id']);else{if(_0xe5faf4&&this['currentDisplayedUsers']['length']+0x1===_0x58ca80-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xe5faf4?0x1:0x0)<this['usersCount']){for(const _0x1922f0 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1922f0['id'])&&(this['currentDisplayedUsers']['add'](_0x1922f0,Math['min'](this['currentDisplayedUsers']['length']-(_0xe5faf4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xe5faf4?0x1:0x0)===_0x58ca80-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4c8a3c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x4c8a3c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1f9ae9}=this['presenceDropdownView'];_0x1f9ae9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x22438d=>{if(!_0x4c8a3c['displayMe']&&_0x22438d['isMe'])return null;const _0x27ee47=new P(this['context']['locale'],_0x22438d,!!_0x4c8a3c['onClick']);return _0x4c8a3c['onClick']&&this['listenTo'](_0x27ee47,'execute',()=>{_0x4c8a3c['onClick'](_0x22438d,_0x27ee47['element']);}),_0x27ee47;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1f9ae9['focus'](),_0x1f9ae9['checkIfScrollable']();const _0x34a6a8=(_0xb52bed,_0x5a093a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5a093a();};_0x1f9ae9['keystrokes']['set']('Esc',_0x34a6a8),_0x1f9ae9['keystrokes']['set']('Shift+Tab',_0x34a6a8),_0x1f9ae9['keystrokes']['set']('Tab',(_0x264068,_0x428800)=>{!function(_0x54cedc){const _0x3986c4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4518df=>_0x4518df+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x3bbe66=[...document['body']['querySelectorAll'](_0x3986c4)]['filter'](_0x51e4c6=>_0x51e4c6===document['activeElement']||_0x51e4c6['offsetWidth']+_0x51e4c6['offsetHeight']>0x0)['sort']((_0x4f37c8,_0x39ad53)=>(_0x4f37c8['tabIndex']||0x0)-(_0x39ad53['tabIndex']||0x0)),_0x172264=_0x3bbe66['indexOf'](_0x54cedc),_0x2b2fc0=_0x3bbe66[(_0x172264+0x1)%_0x3bbe66['length']];_0x2b2fc0&&_0x2b2fc0['focus']();}(this['view']['element']),this['hideDropdown'](),_0x428800();}),_0x1f9ae9['focusTracker']['add'](this['view']['element']),_0x1f9ae9['focusTracker']['on']('change:isFocused',(_0x373e2a,_0x458bbe,_0xa8e420)=>{_0xa8e420||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class ft extends _0x29ab63{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};